DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরির জন্য। DAX এর মাধ্যমে আপনি Complex Filters তৈরি করতে পারেন, যা বিশেষভাবে FILTERS এবং SELECTEDMEASURE ফাংশন ব্যবহার করে করা যায়। এই ফাংশনগুলির মাধ্যমে আপনি আরও নির্দিষ্ট শর্তযুক্ত ফিল্টার এবং মেজারগুলির সাথে কাজ করতে পারেন, যা আপনার বিশ্লেষণকে আরও নিখুঁত এবং কার্যকরী করে তোলে।
এই প্রবন্ধে, আমরা FILTERS এবং SELECTEDMEASURE ফাংশন ব্যবহার করে কীভাবে Complex Filters তৈরি করা যায়, তা বিস্তারিত আলোচনা করব।
১. FILTERS ফাংশন
FILTERS ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি কলাম বা টেবিলের ফিল্টার কনটেক্সটের উপর ভিত্তি করে মান বের করতে চান। এটি একটি table বা column থেকে সক্রিয় ফিল্টার প্রভাব চিহ্নিত করে এবং filter context সম্পর্কে তথ্য প্রদান করে।
Syntax:
FILTERS(<column>)
- : এটি একটি কলাম বা টেবিল হতে পারে, যার উপর ফিল্টার কনটেক্সট প্রয়োগ করা হয়েছে।
ব্যবহার:
FILTERS ফাংশনটি সাধারণত ব্যবহার করা হয় CALCULATE বা IF ফাংশনের সাথে, যেখানে আপনি filter context বা current selection নির্ধারণ করতে চান।
উদাহরণ ১:
ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি Amount কলামের উপর প্রয়োগ করা সক্রিয় ফিল্টারের মান জানতে চান:
Active Filters = FILTERS(Sales[Amount])
এই ফাংশনটি Sales[Amount] কলামের সক্রিয় ফিল্টারের তথ্য ফেরত দিবে।
উদাহরণ ২:
আপনি যদি জানতে চান ProductID এর উপর যে ফিল্টার প্রয়োগ করা হয়েছে তা কী, তাহলে আপনি FILTERS ফাংশনটি ব্যবহার করতে পারেন:
Active Product Filters = FILTERS(Sales[ProductID])
এটি Sales[ProductID] কলামের সক্রিয় ফিল্টারের মান প্রদান করবে।
২. SELECTEDMEASURE ফাংশন
SELECTEDMEASURE ফাংশনটি বর্তমানে নির্বাচন করা measure বা এক্সপ্রেশন ফেরত দেয়। এটি সাধারণত যখন আপনি dynamic measure বা multi-measure ক্যালকুলেশন করতে চান, তখন ব্যবহৃত হয়।
Syntax:
SELECTEDMEASURE()
- এই ফাংশনটি কোনো আর্গুমেন্ট নেয় না, এটি শুধুমাত্র বর্তমানে নির্বাচন করা measure এর মান প্রদান করে।
ব্যবহার:
SELECTEDMEASURE ফাংশনটি ব্যবহারকারীর নির্বাচিত মেজারের মান ফেরত দেয়। এটি সাধারণত multi-measure ক্যালকুলেশন করতে সহায়ক।
উদাহরণ ১:
ধরা যাক, আপনি একটি কাস্টম মেজার তৈরি করতে চান, যা Sales[Amount] এবং Sales[Discount] এর মানের ভিত্তিতে সিদ্ধান্ত নেবে:
Sales After Discount =
IF(SELECTEDMEASURE() = "Sales[Amount]", SUM(Sales[Amount]), SUM(Sales[Amount]) - SUM(Sales[Discount]))
এখানে:
- SELECTEDMEASURE() ফাংশনটি নির্ধারণ করে যে বর্তমানে কোন মেজার নির্বাচন করা হয়েছে।
- যদি Sales[Amount] নির্বাচন করা থাকে, তবে শুধু Amount যোগফল প্রদান করা হবে, অন্যথায় Discount বাদ দিয়ে মোট বিক্রয় পরিমাণ নির্ধারণ করা হবে।
উদাহরণ ২:
আপনি যদি একটি কাস্টম মেজার তৈরি করতে চান, যা selected measure এর উপর ভিত্তি করে filter প্রয়োগ করবে, তাহলে SELECTEDMEASURE ফাংশনটি ব্যবহার করতে পারেন:
Adjusted Sales =
IF(
SELECTEDMEASURE() = "Sales[Amount]",
CALCULATE(SUM(Sales[Amount]), Sales[Region] = "North"),
SUM(Sales[Amount])
)
এখানে:
- SELECTEDMEASURE() ফাংশনটি Sales[Amount] এর মান চেক করবে।
- যদি Sales[Amount] নির্বাচন করা থাকে, তবে Region = "North" শর্ত দিয়ে সেলস পরিমাণের যোগফল বের করা হবে।
FILTERS এবং SELECTEDMEASURE এর মাধ্যমে Complex Filters তৈরি
আপনি FILTERS এবং SELECTEDMEASURE ফাংশনগুলিকে একসাথে ব্যবহার করে complex filters তৈরি করতে পারেন, যা dynamic filtering এবং dynamic measures পরিচালনা করতে সহায়ক। উদাহরণস্বরূপ, আপনি একটি মেজার তৈরি করতে পারেন যা ডেটার উপরে conditional filters প্রয়োগ করবে।
Complex Example:
ধরা যাক, আপনি এমন একটি কাস্টম মেজার তৈরি করতে চান যা Sales টেবিলের উপর dynamic filter প্রয়োগ করবে এবং তখন Sales[Amount] এর যোগফল প্রদান করবে, যখন Region "North" হয়, এবং অন্যথায় Sales[Discount] প্রদান করবে।
Dynamic Sales Calculation =
IF(
FILTERS(Sales[Region]) = "North",
CALCULATE(SUM(Sales[Amount]), Sales[Region] = "North"),
SELECTEDMEASURE()
)
এখানে:
- FILTERS(Sales[Region]) ফাংশনটি চেক করবে যে বর্তমানে Region এর উপর কোন ফিল্টার প্রয়োগ করা হয়েছে।
- যদি Region = "North" হয়, তবে Sales[Amount] এর যোগফল প্রদান করবে, অন্যথায় SELECTEDMEASURE ফাংশনটি বর্তমানে নির্বাচিত মেজারের মান ফেরত দেবে।
Best Practices for Using FILTERS and SELECTEDMEASURE
- Filter Context Understanding: FILTERS ফাংশন ব্যবহার করার সময়, আপনাকে filter context বুঝতে হবে যাতে সঠিকভাবে ফিল্টার প্রভাব প্রয়োগ করতে পারেন।
- Dynamic Calculations: SELECTEDMEASURE ব্যবহার করার মাধ্যমে আপনি dynamic calculations তৈরি করতে পারেন, যা multi-measure রিপোর্টিং এবং dynamic filtering এর জন্য উপকারী।
- Performance Considerations: যখন complex filters তৈরি করবেন, তখন আপনার DAX expressions এর পারফরম্যান্স নিশ্চিত করতে efficient filtering techniques ব্যবহার করুন।
সারাংশ
FILTERS এবং SELECTEDMEASURE ফাংশনগুলি ড্যাক্সে complex filters তৈরি করতে সহায়ক এবং dynamic filtering এবং dynamic measures পরিচালনা করতে ব্যবহৃত হয়। FILTERS ফাংশনটি টেবিল বা কলামের উপর ফিল্টার কনটেক্সট চিহ্নিত করতে ব্যবহৃত হয়, যখন SELECTEDMEASURE ফাংশনটি বর্তমান নির্বাচিত মেজারের মান প্রদান করে। এই ফাংশনগুলির দক্ষ ব্যবহার complex calculations এবং conditional filters তৈরি করতে সাহায্য করে, যা ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরিতে আরও নিখুঁত ফলাফল প্রদান করে।
Read more