ISFILTERED, ISCROSSFILTERED এর মাধ্যমে Filter Checking

Advanced Filtering এবং Query Techniques - ড্যাক্স ফাংশন (Dax Functions) - Big Data and Analytics

271

DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX ফাংশনগুলির মধ্যে filter checking অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি filter context এর প্রভাব পরীক্ষা করতে সহায়ক এবং রিপোর্ট বা ড্যাশবোর্ডের মধ্যে সঠিক ডেটা প্রদর্শন নিশ্চিত করে। এই প্রক্রিয়ায় ISFILTERED এবং ISCROSSFILTERED ফাংশন দুটি খুবই কার্যকরী।

এই প্রবন্ধে আমরা ISFILTERED এবং ISCROSSFILTERED ফাংশন ব্যবহার করে filter checking এর পদ্ধতি এবং এগুলির ব্যবহার শিখব।


১. ISFILTERED ফাংশন

ISFILTERED ফাংশনটি ব্যবহৃত হয় কোনো কলাম বা টেবিলের filter context পরীক্ষা করতে, অর্থাৎ এটি যাচাই করে যে নির্দিষ্ট কলামে কোনো ফিল্টার প্রয়োগ করা হয়েছে কিনা।

Syntax:

ISFILTERED(<column_name>)
  • <column_name>: এটি সেই কলাম যা আপনি filter প্রয়োগ হয়েছে কিনা তা পরীক্ষা করতে চান।

ব্যবহার:

যেমন, আপনি যদি Sales টেবিলের Region কলামে কোনো ফিল্টার প্রয়োগ হয়েছে কিনা তা পরীক্ষা করতে চান, তাহলে আপনি ISFILTERED ফাংশনটি ব্যবহার করতে পারেন:

Is Region Filtered = ISFILTERED(Sales[Region])

এই ফাংশনটি TRUE রিটার্ন করবে যদি Sales[Region] কলামে কোনো filter context প্রয়োগ করা হয়, এবং FALSE রিটার্ন করবে যদি কোনো ফিল্টার না থাকে।

অ্যাপ্লিকেশন:

আপনি এই ফাংশনটি বিভিন্ন DAX measures বা calculated columns এ ব্যবহার করতে পারেন, যেমন যখন আপনি চাইবেন একটি নির্দিষ্ট রিপোর্ট বা কাস্টম মেট্রিকের ফলাফল only when certain filters are applied


২. ISCROSSFILTERED ফাংশন

ISCROSSFILTERED ফাংশনটি ব্যবহৃত হয় একটি কলাম বা টেবিলের মধ্যে bi-directional relationship-এ কোনো ফিল্টার প্রয়োগ হয়েছে কিনা তা পরীক্ষা করতে। এটি যাচাই করে যে একটি কলামকে অন্য টেবিলের মধ্যে ফিল্টার করার প্রভাব রয়েছে কিনা।

Syntax:

ISCROSSFILTERED(<column_name>)
  • <column_name>: এটি সেই কলাম যা আপনি cross-filter হয়েছে কিনা তা পরীক্ষা করতে চান।

ব্যবহার:

ধরা যাক, আপনার Sales এবং Products টেবিলের মধ্যে সম্পর্ক রয়েছে এবং আপনি জানতে চান যে Sales টেবিলের ProductID কলামের উপর কোনো cross-filter প্রয়োগ করা হয়েছে কিনা। আপনি ISCROSSFILTERED ফাংশনটি ব্যবহার করতে পারেন:

Is Product Cross Filtered = ISCROSSFILTERED(Sales[ProductID])

এটি TRUE রিটার্ন করবে যদি Sales[ProductID] কলামের উপর cross-filtering প্রভাবিত হয়, এবং FALSE রিটার্ন করবে যদি কোনো cross-filtering প্রভাবিত না হয়।

অ্যাপ্লিকেশন:

এই ফাংশনটি ব্যবহার করে আপনি পরীক্ষা করতে পারেন যে একটি টেবিলের মধ্যে অন্যান্য সম্পর্কের মাধ্যমে কোন filter context প্রভাবিত হচ্ছে কিনা, বিশেষত যখন bi-directional relationships ব্যবহৃত হয়।


ISFILTERED vs. ISCROSSFILTERED

ফিচারISFILTEREDISCROSSFILTERED
ব্যবহারএকক কলামে filter context চেক করা।cross-filter context পরীক্ষা করা, বিশেষ করে bi-directional relationships
কোন ক্ষেত্রে ব্যবহৃত হয়একটি কলামে direct filter প্রয়োগ চেক করা।এক বা একাধিক টেবিলের মধ্যে bi-directional filter প্রয়োগ চেক করা।
ফলাফলTRUE যদি কলামে filter context থাকে, অন্যথায় FALSETRUE যদি কলামে cross-filter থাকে, অন্যথায় FALSE

ব্যবহারিক উদাহরণ

১. ISFILTERED উদাহরণ:

ধরা যাক, আপনি Sales টেবিলের Amount এর উপর একটি কাস্টম measure তৈরি করতে চান যা শুধুমাত্র তখনই calculate হবে যদি Region কলামে filter প্রয়োগ করা থাকে। এর জন্য আপনি ISFILTERED ফাংশন ব্যবহার করতে পারেন:

Sales Amount with Region Filter = 
IF(
    ISFILTERED(Sales[Region]),
    SUM(Sales[Amount]),
    0
)

এই ফাংশনটি:

  • TRUE হলে Sales[Region] কলামে কোনো ফিল্টার প্রয়োগ করা হয়, তখন Sales[Amount] এর যোগফল দেখাবে।
  • FALSE হলে Sales[Region] কলামে ফিল্টার প্রয়োগ না থাকলে 0 রিটার্ন করবে।

২. ISCROSSFILTERED উদাহরণ:

ধরা যাক, আপনি চান যে ProductID কলামে যদি cross-filter প্রয়োগ করা থাকে, তবে Sales টেবিলের মোট বিক্রয় পরিমাণ দেখানো হোক। এর জন্য আপনি ISCROSSFILTERED ফাংশন ব্যবহার করতে পারেন:

Sales with Product Cross Filter = 
IF(
    ISCROSSFILTERED(Sales[ProductID]),
    SUM(Sales[Amount]),
    0
)

এই ফাংশনটি:

  • TRUE হলে Sales[ProductID] কলামে cross-filtering প্রয়োগ হলে, তখন Sales[Amount] এর যোগফল দেখাবে।
  • FALSE হলে Sales[ProductID] কলামে cross-filtering প্রয়োগ না হলে 0 রিটার্ন করবে।

সারাংশ

ISFILTERED এবং ISCROSSFILTERED ফাংশনগুলি DAX-এ filter context এবং cross-filter context চেক করার জন্য ব্যবহৃত হয়। ISFILTERED একক কলামে filter প্রয়োগ পরীক্ষা করে, যখন ISCROSSFILTERED টেবিলের মধ্যে cross-filtering প্রয়োগ পরীক্ষা করে। এই ফাংশনগুলি ব্যবহার করে আপনি ডেটার শর্ত এবং পরিস্থিতি পরীক্ষা করতে পারবেন, যাতে সঠিক calculation এবং measure তৈরি করতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...