DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX ফাংশনগুলি ডেটা মডেলিং এবং বিশ্লেষণ কাস্টমাইজেশন করতে সহায়ক, বিশেষত relationship functions। ড্যাক্সে relationship functions ব্যবহৃত হয় বিভিন্ন টেবিলের মধ্যে সম্পর্ক তৈরি ও পরিচালনা করার জন্য, যা ব্যবসায়িক বিশ্লেষণ এবং রিপোর্টিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ।
ড্যাক্সের relationship functions ব্যবহার করে আপনি বিভিন্ন টেবিলের মধ্যে সম্পর্ক চিহ্নিত করতে পারেন এবং সম্পর্কিত ডেটা বিশ্লেষণ করতে সক্ষম হন। এই ফাংশনগুলি ব্যবহার করে আপনি সম্পর্কিত টেবিলের মধ্যে data retrieval এবং aggregation করতে পারেন।
ড্যাক্সে বিভিন্ন ধরনের relationship functions রয়েছে, যেগুলি filter context, relationship creation, এবং relationship navigation এর সাথে সম্পর্কিত ডেটা বিশ্লেষণ করতে ব্যবহৃত হয়। এই ফাংশনগুলির মধ্যে কিছু জনপ্রিয় ফাংশন হলো:
RELATED ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি টেবিল থেকে অন্য একটি টেবিলের সম্পর্কিত কলাম অ্যাক্সেস করতে চান। এটি one-to-many সম্পর্কের জন্য ব্যবহৃত হয়।
RELATED(<column>)
ধরা যাক, আপনার Sales টেবিল এবং Products টেবিল রয়েছে, এবং আপনি Sales টেবিলের মধ্যে Product Name কলাম দেখতে চান, যা Products টেবিলের সাথে সম্পর্কিত। আপনি RELATED ফাংশনটি ব্যবহার করতে পারেন:
Product Name = RELATED(Products[ProductName])
এই ফাংশনটি Sales টেবিলের প্রতি সারির জন্য Products টেবিলের সম্পর্কিত ProductName কলামের মান ফিরিয়ে দেবে।
RELATEDTABLE ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি টেবিল থেকে সম্পর্কিত টেবিলের সমস্ত সারি বা কলাম দেখতে চান। এটি সাধারণত many-to-one সম্পর্কের ক্ষেত্রে ব্যবহৃত হয়।
RELATEDTABLE(<table>)
যেমন, আপনি যদি Products টেবিলের প্রতিটি পণ্যের জন্য Sales টেবিলের সমস্ত বিক্রয় পরিমাণ দেখতে চান, তাহলে আপনি RELATEDTABLE ফাংশনটি ব্যবহার করতে পারেন:
Total Sales for Product = SUMX(RELATEDTABLE(Sales), Sales[Amount])
এখানে:
USERELATIONSHIP ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি অগ্রিম সম্পর্ক চালু করতে চান, যা ডিফল্ট সম্পর্ক নয়। এটি বিশেষভাবে inactive relationships পরিচালনা করার জন্য ব্যবহৃত হয়।
USERELATIONSHIP(<column1>, <column2>)
ধরা যাক, আপনার Sales এবং Orders টেবিলের মধ্যে দুটি সম্পর্ক রয়েছে, তবে Sales[OrderDate] কলামটি ইনঅ্যাকটিভ (inactive) সম্পর্কের মধ্যে আছে। আপনি যদি এটি ব্যবহার করে একটি কাস্টম সম্পর্ক চালু করতে চান, তাহলে USERELATIONSHIP ব্যবহার করতে পারেন:
Total Sales Last Year = CALCULATE(SUM(Sales[Amount]), USERELATIONSHIP(Sales[OrderDate], Orders[OrderDate]))
এখানে:
CROSSFILTER ফাংশনটি দুটি সম্পর্কিত টেবিলের মধ্যে ফিল্টার প্রভাব নিয়ন্ত্রণ করার জন্য ব্যবহৃত হয়। এটি সাধারণত filter direction পরিবর্তন করতে বা bi-directional filtering সক্ষম করতে ব্যবহৃত হয়।
CROSSFILTER(<column1>, <column2>, <filter_direction>)
ধরা যাক, আপনার Sales এবং Customers টেবিলের মধ্যে একটি সম্পর্ক রয়েছে এবং আপনি চান যে Customers টেবিলের ফিল্টার প্রভাব Sales টেবিলেও প্রয়োগ হোক। আপনি CROSSFILTER ব্যবহার করতে পারেন:
Total Sales by Customer = CALCULATE(SUM(Sales[Amount]), CROSSFILTER(Customers[CustomerID], Sales[CustomerID], BOTH))
এটি Sales এবং Customers টেবিলের মধ্যে bi-directional filter প্রয়োগ করবে, যার ফলে উভয় টেবিলের ফিল্টার প্রভাব একে অপরের উপর প্রযোজ্য হবে।
TREATAS ফাংশনটি ব্যবহৃত হয় একটি এক্সপ্রেশন বা টেবিলের মানকে অন্য একটি কলাম বা টেবিলের মান হিসেবে আচরণ করতে। এটি বিশেষভাবে virtual relationships তৈরি করার জন্য ব্যবহৃত হয়।
TREATAS(<table>, <column1>, <column2>, ...)
যেমন, আপনি যদি Sales টেবিলের ProductID কলামের মানগুলিকে Products টেবিলের ProductCode কলামের সাথে সম্পর্কিত করতে চান, তবে আপনি TREATAS ব্যবহার করতে পারেন:
Sales by ProductCode = CALCULATE(SUM(Sales[Amount]), TREATAS(Products[ProductCode], Sales[ProductID]))
এখানে:
Relationship Functions DAX-এ ডেটার সম্পর্ক তৈরি এবং নিয়ন্ত্রণ করার জন্য অত্যন্ত গুরুত্বপূর্ণ। এই ফাংশনগুলি আপনাকে বিভিন্ন টেবিলের মধ্যে সম্পর্ক সেটআপ, সম্পর্কিত ডেটার অ্যাক্সেস এবং filter context নিয়ন্ত্রণ করতে সহায়ক। RELATED, RELATEDTABLE, USERELATIONSHIP, CROSSFILTER, এবং TREATAS ফাংশনগুলি ডেটার সঠিক বিশ্লেষণ এবং রিপোর্ট তৈরি করতে ব্যবহৃত হয়। এই ফাংশনগুলির দক্ষ ব্যবহার Power BI এবং Excel-এ ডেটা মডেল তৈরির প্রক্রিয়াকে আরও শক্তিশালী এবং কার্যকরী করে তোলে।
DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। USERELATIONSHIP ফাংশনটি DAX এর একটি গুরুত্বপূর্ণ ফাংশন যা multiple relationships হ্যান্ডেল করতে সাহায্য করে। এটি বিশেষভাবে ব্যবহৃত হয় যখন একটি টেবিলের মধ্যে একাধিক সম্পর্ক থাকে এবং আপনি কোন সম্পর্কটি সক্রিয় করতে চান তা নির্দিষ্ট করতে চান।
এই প্রবন্ধে আমরা USERELATIONSHIP ফাংশনটি কীভাবে কাজ করে এবং কিভাবে এটি multiple relationships হ্যান্ডেল করতে ব্যবহৃত হয় তা আলোচনা করব।
USERELATIONSHIP ফাংশনটি DAX-এ একটি ফাংশন যা inactive relationships-কে active করে তোলে, এবং এটি তখন ব্যবহৃত হয় যখন একাধিক সম্পর্ক (relationships) একটি টেবিলের মধ্যে থাকে। ডিফল্টভাবে, DAX একটি single active relationship অনুমোদন করে, কিন্তু যখন আপনি multiple relationships এর মধ্যে একটি সম্পর্ক সক্রিয় করতে চান, তখন USERELATIONSHIP ফাংশনটি ব্যবহার করা হয়।
USERELATIONSHIP(<ColumnName1>, <ColumnName2>)
USERELATIONSHIP ফাংশনটি সাধারণত CALCULATE ফাংশনের সাথে ব্যবহৃত হয়, কারণ এটি শুধুমাত্র একটি নির্দিষ্ট ক্যালকুলেশনের জন্য সম্পর্ক সক্রিয় করে।
ধরা যাক, আপনার একটি Sales টেবিল এবং একটি Date টেবিল আছে, এবং এই দুটি টেবিলের মধ্যে একাধিক সম্পর্ক রয়েছে। সাধারণত, Sales টেবিলের OrderDate কলাম এবং Date টেবিলের Date কলামের মধ্যে একটি সক্রিয় সম্পর্ক থাকে। কিন্তু আপনি যদি ShipDate কলামের জন্য সম্পর্কটি ব্যবহার করতে চান, তাহলে USERELATIONSHIP ফাংশন ব্যবহার করা হবে।
ধরা যাক, Sales টেবিলের মধ্যে দুটি সম্পর্ক রয়েছে:
এখন, আপনি যদি ShipDate কলামের জন্য বিক্রয়ের পরিমাণ বের করতে চান, তবে আপনি USERELATIONSHIP ফাংশন ব্যবহার করবেন।
Sales by Ship Date =
CALCULATE(
SUM(Sales[Amount]),
USERELATIONSHIP(Sales[ShipDate], Date[Date])
)
এখানে:
এই ফাংশনটি ShipDate কলামের উপর ভিত্তি করে Sales টেবিলের Amount এর যোগফল বের করবে।
USERELATIONSHIP ফাংশনটি একাধিক সম্পর্কের মধ্যে কোন একটি সম্পর্ক সক্রিয় করার জন্য ব্যবহৃত হয়। DAX এ, একটি টেবিলের মধ্যে multiple relationships থাকতে পারে, কিন্তু only one active relationship থাকে। যখন আপনি inactive relationships ব্যবহার করতে চান, তখন USERELATIONSHIP ফাংশনটি সেই সম্পর্কটি সক্রিয় করে এবং কাস্টম ক্যালকুলেশন তৈরি করতে সহায়ক হয়।
ধরা যাক, আপনার Sales টেবিল এবং Date টেবিলের মধ্যে দুটি সম্পর্ক রয়েছে:
এখন, আপনি চান ShipDate কলামের উপর ভিত্তি করে বিক্রয়ের পরিমাণ বের করতে, কিন্তু সাধারণভাবে OrderDate সম্পর্কটি সক্রিয় থাকে। USERELATIONSHIP ব্যবহার করে আপনি ShipDate সম্পর্কটি সক্রিয় করতে পারেন এবং বিক্রয়ের পরিমাণ বের করতে পারেন।
Sales by ShipDate =
CALCULATE(
SUM(Sales[Amount]),
USERELATIONSHIP(Sales[ShipDate], Date[Date])
)
এখানে:
এভাবে, আপনি multiple relationships হ্যান্ডেল করে dynamic calculations করতে পারেন।
USERELATIONSHIP ফাংশনটি সাধারণত CALCULATE ফাংশনের সাথে ব্যবহৃত হয় এবং FILTER ফাংশনের মাধ্যমে নির্দিষ্ট শর্ত প্রয়োগ করা যেতে পারে।
ধরা যাক, আপনি ShipDate সম্পর্ক ব্যবহার করে শুধুমাত্র 2019 সালের বিক্রয় পরিমাণ বের করতে চান:
Sales by ShipDate 2019 =
CALCULATE(
SUM(Sales[Amount]),
USERELATIONSHIP(Sales[ShipDate], Date[Date]),
FILTER(Date, YEAR(Date[Date]) = 2019)
)
এখানে:
এই ফাংশনটি শুধুমাত্র 2019 সালের ShipDate এর বিক্রয়ের পরিমাণ প্রদর্শন করবে।
USERELATIONSHIP ফাংশনটি আপনাকে multiple relationships এর মধ্যে একটি সক্রিয় সম্পর্ক নির্বাচন করতে সহায়তা করে।
USERELATIONSHIP ফাংশনটি CALCULATE ফাংশনের সাথে ব্যবহৃত হলে আপনি ডেটার ফিল্টার কনটেক্সট নিয়ন্ত্রণ করতে পারেন এবং নির্দিষ্ট সম্পর্কের ভিত্তিতে গণনা করতে পারেন।
এই ফাংশনটি inactive relationships ব্যবহার করে custom aggregations এবং time intelligence calculations করতে সহায়ক।
একাধিক সম্পর্ক থাকা সত্ত্বেও, USERELATIONSHIP ফাংশনটি সম্পর্কগুলির উপর নিয়ন্ত্রণ প্রদান করে এবং ডেটা মডেলিংকে সহজ এবং কার্যকর করে তোলে।
USERELATIONSHIP ফাংশনটি DAX-এ একটি শক্তিশালী টুল যা multiple relationships হ্যান্ডেল করতে সাহায্য করে। এটি inactive relationships-কে active করে এবং কাস্টম ক্যালকুলেশন, conditional aggregations, এবং time intelligence বিশ্লেষণের জন্য ব্যবহৃত হয়। আপনি যখন একাধিক সম্পর্কের মধ্যে নির্দিষ্ট সম্পর্ক সক্রিয় করতে চান, তখন USERELATIONSHIP ব্যবহার করা হয়, যা Power BI বা Excel-এ ডেটা বিশ্লেষণ ও মডেলিং এর জন্য অত্যন্ত কার্যকরী।
DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। CROSSFILTER ফাংশনটি filter directions নিয়ন্ত্রণ করার জন্য ব্যবহৃত হয়, বিশেষ করে যখন আপনি relationships এর মধ্যে filter behavior পরিবর্তন করতে চান। DAX-এ সম্পর্কের filter direction সাধারণত দুই ধরনের হয়ে থাকে: single-directional এবং bi-directional।
CROSSFILTER ফাংশনটি ব্যবহৃত হয় এই filter directions পরিবর্তন করতে, যার মাধ্যমে আপনি single-directional সম্পর্ককে bi-directional-এ পরিবর্তন করতে পারেন, অথবা উল্টোভাবে bi-directional সম্পর্ককে single-directional-এ রূপান্তর করতে পারেন। এর মাধ্যমে আপনি ডেটা মডেলকে আরও নমনীয়ভাবে কাস্টমাইজ করতে পারেন এবং সম্পর্কের উপর ভিত্তি করে আরও সঠিক বিশ্লেষণ করতে পারেন।
CROSSFILTER ফাংশনের সাধারণ সিনট্যাক্স হলো:
CROSSFILTER(<Column1>, <Column2>, <FilterDirection>)
NONE
, ONE
, বা BOTH
।যখন আপনার টেবিলের মধ্যে single-directional relationship রয়েছে এবং আপনি চান যে একটি সম্পর্কের মধ্যে ফিল্টার প্রভাব শুধুমাত্র একটি দিকে কাজ করুক, তখন আপনি CROSSFILTER ফাংশন ব্যবহার করতে পারেন। উদাহরণস্বরূপ, ধরুন আপনি চান Sales টেবিল এবং Products টেবিলের মধ্যে single-directional filter সেট করতে:
CROSSFILTER(Sales[ProductID], Products[ProductID], ONE)
এখানে:
যদি আপনি চান যে একটি সম্পর্কের মধ্যে bi-directional filtering সক্রিয় থাকুক, অর্থাৎ ফিল্টার উভয় কলামের মধ্যেই কাজ করবে, তাহলে আপনি BOTH ব্যবহার করতে পারেন।
CROSSFILTER(Sales[ProductID], Products[ProductID], BOTH)
এখানে:
এবং, যদি আপনি সম্পর্কের মধ্যে ফিল্টার প্রয়োগ না করতে চান, তবে NONE ব্যবহার করতে পারেন:
CROSSFILTER(Sales[ProductID], Products[ProductID], NONE)
এখানে:
ধরা যাক, আপনি একটি Sales টেবিল এবং Products টেবিলের মধ্যে bi-directional filtering প্রয়োগ করতে চান, যাতে Products কলাম থেকে Sales কলাম এবং Sales কলাম থেকে Products কলামে উভয়ভাবে ফিল্টার প্রভাবিত হয়।
Total Sales by Product =
CALCULATE(
SUM(Sales[Amount]),
CROSSFILTER(Sales[ProductID], Products[ProductID], BOTH)
)
এখানে, CROSSFILTER ফাংশনটি Sales এবং Products টেবিলের মধ্যে bi-directional filtering প্রয়োগ করবে, যার ফলে Products[ProductID] এর পরিবর্তন Sales[ProductID] এবং এর বিপরীত হবে।
ধরা যাক, আপনার একটি Customer টেবিল এবং Sales টেবিলের মধ্যে single-directional filter প্রয়োগ করতে চান:
Customer Sales =
CALCULATE(
SUM(Sales[Amount]),
CROSSFILTER(Sales[CustomerID], Customer[CustomerID], ONE)
)
এখানে, Sales[CustomerID] থেকে Customer[CustomerID] কলামের দিকে শুধুমাত্র ফিল্টার প্রভাবিত হবে, কিন্তু তার বিপরীতে কোনো প্রভাব থাকবে না।
এখন, যদি আপনি চান যে Sales টেবিল এবং Products টেবিলের মধ্যে কোনো ফিল্টার প্রভাব না পড়ুক, তাহলে আপনি CROSSFILTER ফাংশনে NONE ব্যবহার করতে পারেন:
All Sales without Product Filter =
CALCULATE(
SUM(Sales[Amount]),
CROSSFILTER(Sales[ProductID], Products[ProductID], NONE)
)
এখানে, কোনো ফিল্টার প্রভাবিত হবে না এবং উভয় টেবিলের ডেটা নির্ভরশীল থাকবে না।
CROSSFILTER ফাংশনটি DAX-এর একটি শক্তিশালী টুল যা filter directions নিয়ন্ত্রণ করতে ব্যবহৃত হয়। এটি আপনাকে সম্পর্কের মধ্যে single-directional বা bi-directional ফিল্টার প্রয়োগ করার সুযোগ দেয়, যা ডেটা মডেলিং এবং বিশ্লেষণের জন্য অত্যন্ত উপকারী। আপনি CROSSFILTER ফাংশনের মাধ্যমে সম্পর্কের মধ্যে ফিল্টার প্রভাব নিয়ন্ত্রণ করতে পারেন, যা আপনার রিপোর্ট এবং বিশ্লেষণকে আরও শক্তিশালী এবং কার্যকরী করে তোলে।
এটি ব্যবহার করার মাধ্যমে, আপনি খুবই নমনীয়ভাবে ডেটার মধ্যে ফিল্টার প্রভাব প্রয়োগ এবং নিয়ন্ত্রণ করতে পারবেন, যা পরবর্তী বিশ্লেষণে সহায়ক।
DAX (Data Analysis Expressions) ফাংশনটি ডেটা মডেলিং এবং বিশ্লেষণের জন্য একটি শক্তিশালী টুল। এর মধ্যে LOOKUPVALUE একটি গুরুত্বপূর্ণ ফাংশন, যা ব্যবহারকারীদের একটি টেবিলের মধ্যে নির্দিষ্ট মান অনুসন্ধান করতে সাহায্য করে। বিশেষ করে, যখন আপনি একটি কলামের মানের ভিত্তিতে অন্য একটি কলামের মান দেখতে চান, তখন LOOKUPVALUE ব্যবহার করা হয়।
এই ফাংশনটি সাধারণত VLOOKUP বা INDEX/MATCH এর মতো কাজ করে, যা Excel-এ ব্যবহৃত হয়, তবে এটি DAX-এর মধ্যে ডেটা মডেলিং এবং বিশ্লেষণের জন্য আরও শক্তিশালী এবং নমনীয়।
LOOKUPVALUE ফাংশনটি একটি নির্দিষ্ট মানের জন্য column1 থেকে মান খুঁজে বের করে, যেখানে column2 একটি শর্ত পূর্ণ করে। এটি একটি কলামের মানের উপর ভিত্তি করে অন্য একটি কলামের মানের সন্ধান করতে ব্যবহৃত হয়।
LOOKUPVALUE(<result_column>, <search_column>, <search_value>)
অপশনাল (Optional): আপনি আরো search_column এবং search_value যুক্ত করতে পারেন যদি আপনার শর্তের উপর ভিত্তি করে একাধিক খোঁজ করতে হয়।
ধরা যাক, আপনার দুটি টেবিল আছে: একটি Sales টেবিল এবং একটি Products টেবিল। Sales টেবিলে ProductID এবং বিক্রির পরিমাণ (Amount) রয়েছে, এবং Products টেবিলে ProductID এবং ProductName রয়েছে। আপনি যদি Sales টেবিলের প্রতিটি ProductID এর জন্য ProductName খুঁজে বের করতে চান, তবে আপনি LOOKUPVALUE ব্যবহার করতে পারেন।
ProductName = LOOKUPVALUE(Products[ProductName], Products[ProductID], Sales[ProductID])
এখানে:
এই ফাংশনটি Sales টেবিলের ProductID কলামের জন্য Products টেবিলের ProductName কলামের মান ফেরত দিবে।
LOOKUPVALUE ফাংশনটি একাধিক শর্তের ভিত্তিতেও কাজ করতে পারে, অর্থাৎ, আপনি একাধিক কলামকে খুঁজে বের করতে শর্ত যোগ করতে পারেন। উদাহরণস্বরূপ, ধরুন Sales টেবিলে ProductID এবং Region আছে, এবং Products টেবিলে ProductID এবং RegionName আছে। আপনি যদি ProductID এবং Region এর ভিত্তিতে RegionName খুঁজে বের করতে চান, তবে আপনি LOOKUPVALUE ফাংশনটি ব্যবহার করতে পারেন:
RegionName = LOOKUPVALUE(Products[RegionName], Products[ProductID], Sales[ProductID], Products[Region], Sales[Region])
এখানে:
এই ফাংশনটি Sales টেবিলের ProductID এবং Region কলামের জন্য Products টেবিলের RegionName কলামের মান ফেরত দিবে।
LOOKUPVALUE ফাংশনটি DAX-এর একটি শক্তিশালী টুল, যা একটি কলামের ভিত্তিতে অন্য কলামের মান খুঁজে বের করতে ব্যবহৃত হয়। এটি একাধিক শর্ত এবং সম্পর্ক ভিত্তিক ডেটা অনুসন্ধানে অত্যন্ত কার্যকরী। আপনি যখন Power BI, Power Pivot, বা SQL Server Analysis Services (SSAS)-এ ডেটা মডেলিং এবং বিশ্লেষণ করেন, তখন LOOKUPVALUE ফাংশনটি আপনাকে দ্রুত ডেটা লুকআপ এবং সম্পর্কিত মানগুলি বের করতে সাহায্য করবে।
LOOKUPVALUE ফাংশনটি ব্যবহারের মাধ্যমে আপনার ডেটা মডেল আরও জটিল এবং কার্যকরী হতে পারে, যেখানে একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন এবং ডেটার দ্রুত বিশ্লেষণ করা সহজ হয়।
DAX (Data Analysis Expressions) হলো একটি এক্সপ্রেশন ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS) এর জন্য ব্যবহৃত হয়। TREATAS একটি অত্যন্ত শক্তিশালী ফাংশন যা DAX-এ table relationships তৈরি করতে ব্যবহৃত হয়। এটি table relationships এর উপর ভিত্তি করে গণনা বা বিশ্লেষণ করার প্রক্রিয়া সহজ করে তোলে, যেখানে সরাসরি physical relationships তৈরি না করেও দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করা যায়।
এই প্রবন্ধে, আমরা TREATAS ফাংশন এবং এর মাধ্যমে table relationships তৈরি করার প্রক্রিয়া এবং উদাহরণ আলোচনা করব।
TREATAS ফাংশনটি একটি টেবিল বা কলামের মানগুলোকে অন্য একটি টেবিলের column বা table হিসেবে বিবেচনা করতে সাহায্য করে। এটি মূলত একটি virtual relationship তৈরি করে, যা filtering বা calculations এর জন্য ব্যবহৃত হয়, যখন সরাসরি relationship তৈরি করা সম্ভব নয় বা প্রয়োজন নেই।
TREATAS(<table>, <column1>, <column2>, ..., <columnN>)
TREATAS ফাংশনটি সাধারণত virtual relationships তৈরি করতে ব্যবহৃত হয়, যেখানে আপনি ফিল্টার বা ক্যালকুলেশন করতে চান, তবে সরাসরি ডেটাবেসে physical relationships তৈরি না করেই। উদাহরণস্বরূপ, দুটি টেবিলের মধ্যে সম্পর্ক তৈরি করার জন্য যখন আপনি ডেটা মডেলিং-এর মাধ্যমে সম্পর্ক তৈরি করতে না চান, তখন TREATAS ব্যবহার করা যেতে পারে।
ধরা যাক, আপনার কাছে দুটি টেবিল রয়েছে:
আপনি চান যে Sales টেবিলের ProductID কলাম এবং Products টেবিলের ProductID কলামের মধ্যে একটি সম্পর্ক তৈরি করা, তবে সরাসরি সম্পর্ক না বানিয়ে। TREATAS ফাংশন দিয়ে আপনি এই কাজটি করতে পারেন।
Total Sales for Products =
CALCULATE(
SUM(Sales[Amount]),
TREATAS(Products[ProductID], Sales[ProductID])
)
এখানে:
ধরা যাক, আপনার কাছে দুটি টেবিল:
আপনি চান যে, Sales টেবিলের ProductID কলাম এবং Products টেবিলের ProductID কলামের মধ্যে সম্পর্ক তৈরি করতে, এবং Regions টেবিলের RegionID কলাম এবং Sales টেবিলের RegionID কলামের মধ্যে সম্পর্ক তৈরি করতে। TREATAS ফাংশনের মাধ্যমে এটি করা যেতে পারে।
Sales by Region and Product =
CALCULATE(
SUM(Sales[Amount]),
TREATAS(Products[ProductID], Sales[ProductID]),
TREATAS(Regions[RegionID], Sales[RegionID])
)
এখানে:
TREATAS হল একটি DAX ফাংশন যা দুটি টেবিলের মধ্যে virtual relationship তৈরি করে। এটি বিশেষভাবে ব্যবহৃত হয় যখন আপনি ডেটাবেসে সরাসরি সম্পর্ক তৈরি না করেও দুটি টেবিলের মধ্যে filtering বা aggregation করতে চান। DAX-এ TREATAS এর মাধ্যমে আপনি শর্তাধীন বিশ্লেষণ, কাস্টম ক্যালকুলেশন এবং জটিল সম্পর্ক তৈরি করতে সক্ষম হন, যা আপনাকে আরও উন্নত ডেটা বিশ্লেষণ করতে সাহায্য করে।
Read more