DAX (Data Analysis Expressions) হলো একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন এবং রিপোর্ট তৈরির জন্য। DAX ফাংশনগুলির মধ্যে Table Functions একটি গুরুত্বপূর্ণ অংশ, যা ডেটার টেবিল বা রেঞ্জ নিয়ে কাজ করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলির মাধ্যমে আপনি টেবিল তৈরি, টেবিলের সারি ফিল্টার, বা টেবিলের উপর গণনা করতে পারেন।
Table Functions সাধারণত FILTER, ALL, VALUES, SUMMARIZE ইত্যাদি ফাংশনকে অন্তর্ভুক্ত করে, যা ডেটার উপরে টেবিল-ভিত্তিক অপারেশন এবং বিশ্লেষণ করতে সাহায্য করে।
ড্যাক্সের Table Functions বিভিন্ন কাজে ব্যবহৃত হয়, যেমন টেবিলের সারি ফিল্টার করা, টেবিল তৈরি করা, বা টেবিলের ডেটা পরিবর্তন করা। নিচে কিছু সাধারণ Table Functions এবং তাদের ব্যবহার দেখানো হলো:
FILTER ফাংশনটি একটি টেবিল বা কলামের উপর নির্দিষ্ট শর্ত প্রয়োগ করে এবং শর্ত পূর্ণ করা সারিগুলি ফিরিয়ে দেয়। এটি অনেক সময় বিশেষ টেবিল বা ডেটা সেলেকশন করার জন্য ব্যবহৃত হয়।
FILTER(<table>, <condition>)
ধরা যাক, আপনি Sales টেবিল থেকে এমন সারি নির্বাচন করতে চান, যেখানে Amount 1000-এর বেশি:
High Sales = FILTER(Sales, Sales[Amount] > 1000)
এই ফাংশনটি Sales টেবিল থেকে শুধুমাত্র সেই সারিগুলি ফিরিয়ে দেবে, যেখানে Amount 1000 এর বেশি।
ALL ফাংশনটি একটি টেবিল বা কলামের সমস্ত সারি এবং মান ফিরিয়ে দেয়, ফিল্টার বা কনটেক্সটের বাইরে। এটি সাধারণত filter context রিমুভ করার জন্য ব্যবহৃত হয়, যেমন একটি measure বা calculated column-এর উপরে পুরো ডেটা বিশ্লেষণ করতে।
ALL(<table_or_column>)
যেমন, আপনি যদি Sales টেবিলের সমস্ত Amount এর মান গুণফল গণনা করতে চান এবং filter context মুছে দিতে চান, তাহলে:
Total Sales All = CALCULATE(SUM(Sales[Amount]), ALL(Sales))
এটি Sales টেবিলের সমস্ত Amount যোগফল গণনা করবে এবং কোনো ফিল্টার প্রভাবিত হবে না।
VALUES ফাংশনটি একটি টেবিল বা কলামের ইউনিক মানগুলি ফিরিয়ে দেয়। এটি বিশেষভাবে গুরুত্বপূর্ণ যখন আপনি টেবিলের ভিতর থেকে distinct values বের করতে চান।
VALUES(<column>)
যেমন, আপনি যদি Sales টেবিলের ProductID কলামের ইউনিক মানগুলি বের করতে চান:
Unique Products = VALUES(Sales[ProductID])
এই ফাংশনটি Sales টেবিলের ProductID কলামের সমস্ত ইউনিক মান ফিরিয়ে দেবে।
SUMMARIZE ফাংশনটি একটি টেবিলের সারি গ্রুপ করে এবং নির্দিষ্ট কলামগুলোর ওপর সমষ্টি বা অন্যান্য হিসাব তৈরি করতে সহায়ক। এটি একটি টেবিলের ভিত্তিতে কাস্টম গ্রুপ তৈরি করতে ব্যবহৃত হয়।
SUMMARIZE(<table>, <group_by_column>, <aggregation_column>)
যেমন, আপনি যদি Sales টেবিলের পণ্য অনুসারে বিক্রয় পরিমাণের সমষ্টি দেখতে চান:
Product Sales Summary = SUMMARIZE(Sales, Sales[ProductID], "Total Sales", SUM(Sales[Amount]))
এটি Sales টেবিলের ProductID অনুসারে বিক্রয় পরিমাণের সমষ্টি গড়ে একটি নতুন টেবিল তৈরি করবে।
CROSSJOIN ফাংশনটি দুটি বা ততোধিক টেবিলের মধ্যে ক্রস প্রোডাক্ট তৈরি করে, অর্থাৎ দুইটি টেবিলের প্রত্যেকটি সারির মধ্যে সমস্ত সম্ভাব্য মিলন তৈরি করে। এটি Cartesian Product হিসেবেও পরিচিত।
CROSSJOIN(<table1>, <table2>)
যেমন, আপনি যদি দুটি টেবিলের সমস্ত ক্রস প্রোডাক্ট বের করতে চান, যেখানে Sales এবং Products টেবিলের মধ্যে সমস্ত সম্ভাব্য মেলবন্ধন তৈরি করতে চান:
Product Sales CrossJoin = CROSSJOIN(Sales, Products)
এটি Sales এবং Products টেবিলের প্রত্যেকটি সারির মধ্যে সমস্ত সম্ভাব্য মিলন তৈরি করবে।
DISTINCT ফাংশনটি একটি কলামে বিভিন্ন ইউনিক (distinct) মানগুলি ফিরিয়ে দেয়, অর্থাৎ এটি একটি টেবিলের মধ্যে একক মানের তালিকা তৈরি করতে ব্যবহৃত হয়।
DISTINCT(<table_or_column>)
যেমন, আপনি যদি Sales টেবিলের মধ্যে সমস্ত ইউনিক ProductID কলামের মান বের করতে চান:
Distinct Products = DISTINCT(Sales[ProductID])
এই ফাংশনটি Sales টেবিলের ProductID কলামের সমস্ত ইউনিক মান ফিরিয়ে দেবে।
SELECTCOLUMNS ফাংশনটি একটি টেবিল তৈরি করতে ব্যবহৃত হয় যা নির্বাচিত কলামগুলির কাস্টম মান বা পুনঃনির্ধারিত নাম প্রদান করে।
SELECTCOLUMNS(<table>, <column_name1>, <expression1>, <column_name2>, <expression2>)
যেমন, আপনি যদি Sales টেবিলের একটি নতুন টেবিল তৈরি করতে চান, যা ProductID এবং Amount কলাম থাকবে:
Selected Sales = SELECTCOLUMNS(Sales, "Product", Sales[ProductID], "Amount", Sales[Amount])
এটি একটি নতুন টেবিল তৈরি করবে, যার মধ্যে ProductID এবং Amount কলাম থাকবে এবং তাদের মান হবে।
DAX Table Functions খুবই গুরুত্বপূর্ণ এবং ব্যবহারিক, বিশেষ করে যখন আপনি Power BI অথবা Excel-এ জটিল ডেটা বিশ্লেষণ করতে চান। এই ফাংশনগুলি আপনাকে table manipulation, filtering, grouping, এবং aggregations করতে সহায়ক হয়। আপনি FILTER, ALL, VALUES, SUMMARIZE, CROSSJOIN, DISTINCT, এবং SELECTCOLUMNS ফাংশন ব্যবহার করে ডেটার উপর গভীর বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে পারবেন।
ড্যাক্স টেবিল ফাংশনগুলি টেবিল তৈরি এবং কাস্টম ফিল্টারিংয়ের জন্য অত্যন্ত কার্যকরী, যা ব্যবসায়িক সিদ্ধান্ত গ্রহণ এবং বিশ্লেষণ প্রক্রিয়াকে আরও সুনির্দিষ্ট এবং ফলপ্রসূ করে তোলে।
DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন করার জন্য ব্যবহৃত হয়। ড্যাক্সের SUMMARIZE ফাংশনটি বিশেষভাবে ব্যবহৃত হয় ডেটাকে সারাংশ (summary) তৈরি করার জন্য। এটি একাধিক কলামের উপর ভিত্তি করে গ্রুপিং এবং সেগুলির উপর বিভিন্ন ধরনের aggregation করতে সহায়তা করে।
SUMMARIZE ফাংশনটি সাধারণত ডেটার সারি গঠন করে এবং aggregate calculations যেমন মোট, গড়, সর্বোচ্চ, সর্বনিম্ন ইত্যাদি যোগ করতে ব্যবহৃত হয়।
SUMMARIZE ফাংশনের সাধারণ সেন্ট্যাক্স হল:
SUMMARIZE(<table>, <group_by_column1>, <group_by_column2>, ..., <aggregation_column1>, <aggregation_function1>, <aggregation_column2>, <aggregation_function2>, ...)
SUM
, AVERAGE
, COUNT
, MAX
, MIN
ইত্যাদি)।ধরা যাক, আমাদের একটি Sales টেবিল রয়েছে, যেখানে প্রতিটি বিক্রির জন্য ProductID, SalesAmount, এবং Region রয়েছে। আমরা চাই প্রতিটি ProductID এবং Region অনুযায়ী বিক্রয়ের মোট পরিমাণ বের করতে।
Product Sales Summary = SUMMARIZE(
Sales,
Sales[ProductID],
Sales[Region],
"Total Sales", SUM(Sales[SalesAmount])
)
এখানে:
এই ফর্মুলাটি একটি নতুন টেবিল তৈরি করবে, যা ProductID এবং Region অনুসারে SalesAmount এর যোগফল প্রদান করবে।
ধরা যাক, আপনি Sales টেবিলের জন্য ProductID, Region অনুযায়ী বিক্রয়ের মোট পরিমাণ, গড় বিক্রয়, এবং সর্বোচ্চ বিক্রয় পরিমাণ বের করতে চান। এই ক্ষেত্রে, আপনি একাধিক aggregation functions ব্যবহার করতে পারেন।
Product Sales Advanced Summary = SUMMARIZE(
Sales,
Sales[ProductID],
Sales[Region],
"Total Sales", SUM(Sales[SalesAmount]),
"Average Sales", AVERAGE(Sales[SalesAmount]),
"Max Sales", MAX(Sales[SalesAmount])
)
এখানে:
এই ফর্মুলাটি একটি নতুন টেবিল তৈরি করবে, যেখানে ProductID এবং Region অনুসারে মোট বিক্রয়, গড় বিক্রয় এবং সর্বোচ্চ বিক্রয় প্রদর্শিত হবে।
SUMMARIZE এবং SUMMARIZECOLUMNS দুটি DAX ফাংশনই ডেটাকে সারাংশে উপস্থাপন করতে ব্যবহৃত হয়। তবে, এই দুইটি ফাংশনের মধ্যে কিছু পার্থক্য রয়েছে:
SUMMARIZECOLUMNS এর সেন্ট্যাক্স:
SUMMARIZECOLUMNS(<group_by_column1>, <group_by_column2>, ..., <aggregation_column1>, <aggregation_function1>, <aggregation_column2>, <aggregation_function2>)
SUMMARIZECOLUMNS সাধারণত SUMMARIZE এর তুলনায় দ্রুত কাজ করে এবং filter context আরও ভালভাবে পরিচালনা করে।
SUMMARIZE ফাংশনটি DAX-এ একটি শক্তিশালী টুল যা ডেটাকে গ্রুপ করে এবং aggregation করতে ব্যবহৃত হয়। এটি ডেটা বিশ্লেষণে সহায়ক, বিশেষ করে যখন আপনি একটি বা একাধিক কলামের উপর গণনা করতে চান এবং সেই গণনার সাথে শর্ত যুক্ত করতে চান। SUMMARIZE ফাংশনটি time intelligence, financial reporting, এবং business analysis এ অত্যন্ত কার্যকরী, যেখানে আপনি একাধিক মেট্রিক্স বা কাস্টম ক্যালকুলেশন তৈরি করতে পারেন।
DAX (Data Analysis Expressions) একটি ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS) এ ব্যবহৃত হয়। এটি ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়। DAX ফাংশনগুলি custom columns তৈরি করার জন্য অত্যন্ত শক্তিশালী টুলস প্রদান করে। ADDCOLUMNS এবং SELECTCOLUMNS হল দুটি গুরুত্বপূর্ণ DAX ফাংশন, যা টেবিলের মধ্যে কাস্টম কলাম যোগ করতে এবং কাস্টম কলাম তৈরি করতে সহায়ক।
এই প্রবন্ধে, আমরা ADDCOLUMNS এবং SELECTCOLUMNS ফাংশন ব্যবহার করে কীভাবে custom columns তৈরি করা যায় তা বিস্তারিত আলোচনা করব।
ADDCOLUMNS ফাংশনটি একটি বিদ্যমান টেবিলের উপর নতুন কাস্টম কলাম যোগ করতে ব্যবহৃত হয়। এটি সাধারণত SUMMARIZE বা অন্য কোনো টেবিল বা কলামকে প্রসারিত করার জন্য ব্যবহার করা হয়।
ADDCOLUMNS(<table>, <new_column_name1>, <expression1>, [<new_column_name2>, <expression2>], ...)
ধরা যাক, আপনি Sales টেবিলের জন্য একটি কাস্টম কলাম তৈরি করতে চান, যা SalesAmount এবং Discount কলামের উপর ভিত্তি করে FinalPrice (চূড়ান্ত মূল্য) বের করবে।
Sales with FinalPrice = ADDCOLUMNS(
Sales,
"FinalPrice", Sales[SalesAmount] - Sales[Discount]
)
এটি Sales টেবিলের জন্য একটি নতুন FinalPrice কলাম তৈরি করবে, যা SalesAmount এবং Discount এর মধ্যে পার্থক্য প্রদর্শন করবে।
আপনি যদি Sales টেবিলের জন্য একটি নতুন কলাম তৈরি করতে চান, যা SalesAmount এর উপর ভিত্তি করে একটি ক্যাটেগরি নির্ধারণ করবে (যেমন, "High", "Medium", "Low"):
Sales Category = ADDCOLUMNS(
Sales,
"Category", IF(Sales[SalesAmount] > 5000, "High", IF(Sales[SalesAmount] > 1000, "Medium", "Low"))
)
এই ফাংশনটি Sales টেবিলের জন্য একটি নতুন Category কলাম তৈরি করবে, যা বিক্রির পরিমাণের ভিত্তিতে High, Medium, বা Low ক্যাটেগরি প্রদান করবে।
SELECTCOLUMNS ফাংশনটি একটি টেবিল থেকে নির্দিষ্ট কলাম নির্বাচন করতে এবং তাদের মান পরিবর্তন বা প্রসারিত করতে ব্যবহৃত হয়। এটি একটি নতুন টেবিল তৈরি করে, যেখানে আপনি কেবল কিছু নির্দিষ্ট কলাম এবং তাদের মান নির্বাচন করতে পারেন।
SELECTCOLUMNS(<table>, <new_column_name1>, <expression1>, [<new_column_name2>, <expression2>], ...)
ধরা যাক, আপনি Sales টেবিল থেকে কেবল SalesAmount এবং Discount কলাম নির্বাচন করতে চান, এবং সেই সাথে FinalPrice হিসাব করতে চান:
Selected Sales = SELECTCOLUMNS(
Sales,
"SalesAmount", Sales[SalesAmount],
"Discount", Sales[Discount],
"FinalPrice", Sales[SalesAmount] - Sales[Discount]
)
এটি একটি নতুন টেবিল তৈরি করবে, যেখানে শুধুমাত্র SalesAmount, Discount, এবং FinalPrice কলাম থাকবে।
আপনি যদি Employee টেবিল থেকে EmployeeID এবং EmployeeName কলামগুলি নির্বাচন করতে চান, তবে এটি ব্যবহার করতে পারেন:
Employee Info = SELECTCOLUMNS(
Employees,
"ID", Employees[EmployeeID],
"Name", Employees[EmployeeName]
)
এটি EmployeeInfo নামের একটি নতুন টেবিল তৈরি করবে, যেখানে EmployeeID এবং EmployeeName কলাম থাকবে।
ফিচার | ADDCOLUMNS | SELECTCOLUMNS |
---|---|---|
কাজ | একটি বিদ্যমান টেবিলে নতুন কলাম যোগ করা। | একটি নতুন টেবিল তৈরি করা যেখানে নির্দিষ্ট কলাম নির্বাচিত হয়। |
উদ্দেশ্য | টেবিলের উপর কাস্টম কলাম যোগ করা। | শুধুমাত্র নির্দিষ্ট কলাম এবং তাদের মান নির্বাচন করা। |
কলাম নির্বাচন | বিদ্যমান টেবিলের কলাম সহ নতুন কলাম তৈরি করে। | নির্দিষ্ট কলাম নির্বাচন করে একটি নতুন টেবিল তৈরি করে। |
প্রত্যাবর্তনযোগ্য আউটপুট | নতুন টেবিলের উপর ভিত্তি করে কাস্টম কলাম ফেরত দেয়। | একটি নতুন টেবিল ফেরত দেয়। |
ADDCOLUMNS এবং SELECTCOLUMNS ফাংশনগুলি ড্যাক্সে কাস্টম কলাম তৈরি এবং টেবিল নির্বাচন করতে ব্যবহৃত হয়। ADDCOLUMNS ফাংশনটি বিদ্যমান টেবিলের উপর কাস্টম কলাম যোগ করতে ব্যবহৃত হয়, যখন SELECTCOLUMNS ফাংশনটি নির্দিষ্ট কলাম নির্বাচন করে একটি নতুন টেবিল তৈরি করতে ব্যবহৃত হয়। এই ফাংশনগুলো ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন এবং রিপোর্টিংয়ের জন্য অত্যন্ত কার্যকরী, এবং আপনাকে ডেটা মডেল তৈরি করতে সহায়ক হয়।
DAX (Data Analysis Expressions) হল একটি এক্সপ্রেশন ভাষা যা Power BI, Power Pivot এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX ফাংশন ব্যবহার করে বিভিন্ন tables থেকে ডেটা একত্রিত করা যায়। CROSSJOIN এবং UNION হল DAX-এর দুটি শক্তিশালী ফাংশন যা multiple tables এর মধ্যে join তৈরি করতে সাহায্য করে। এগুলি বিশেষ করে data modeling এবং complex calculations এর জন্য ব্যবহৃত হয়।
এই প্রবন্ধে, আমরা CROSSJOIN এবং UNION ফাংশন ব্যবহার করে কিভাবে একাধিক টেবিল জয়েন করা যায় তা আলোচনা করব।
CROSSJOIN ফাংশন দুটি বা আরও বেশি টেবিলের মধ্যে সমস্ত সম্ভাব্য Cartesian Product তৈরি করে। এটি একে অপরের সব রেকর্ডের কম্বিনেশন তৈরি করে, অর্থাৎ এক টেবিলের সমস্ত রেকর্ডকে অন্য টেবিলের সমস্ত রেকর্ডের সঙ্গে মিলিয়ে নতুন রেকর্ড তৈরি করা হয়।
CROSSJOIN(<Table1>, <Table2>, ...)
ধরা যাক, আপনার দুটি টেবিল রয়েছে: Product এবং Store। আপনি CROSSJOIN ফাংশন ব্যবহার করে এই দুটি টেবিলের মধ্যে Cartesian Product তৈরি করতে চান।
Product_Store_Combination = CROSSJOIN(Products, Stores)
এই ফাংশনটি Products টেবিলের প্রতিটি পণ্যের সাথে Stores টেবিলের প্রতিটি দোকানের সংমিশ্রণ তৈরি করবে, যার ফলে নতুন একটি টেবিল তৈরি হবে যেখানে প্রতিটি পণ্য এবং দোকান যুগ্মভাবে উপস্থিত থাকবে।
UNION ফাংশনটি দুটি বা তার বেশি টেবিলের row-based ডেটা একত্রিত করে। এটি duplicate rows কে মুছে না দিয়ে টেবিলগুলো একত্রিত করে। UNION শুধুমাত্র একই কলামগুলির মধ্যে ডেটা যুক্ত করতে সক্ষম।
UNION(<Table1>, <Table2>, ...)
ধরা যাক, আপনার দুটি টেবিল রয়েছে: Sales_Q1 এবং Sales_Q2। আপনি UNION ফাংশন ব্যবহার করে এই দুটি টেবিলকে একত্রিত করতে চান যাতে Q1 এবং Q2 এর বিক্রয় ডেটা একসাথে দেখতে পারেন।
Total_Sales = UNION(Sales_Q1, Sales_Q2)
এই ফাংশনটি Sales_Q1 এবং Sales_Q2 টেবিলের সমস্ত রেকর্ড একত্রিত করবে এবং একটি নতুন টেবিল তৈরি করবে যেখানে দুইটি টেবিলের ডেটা একসঙ্গে থাকবে।
ক্যাটাগরি | CROSSJOIN | UNION |
---|---|---|
ফাংশনের কাজ | সমস্ত সম্ভাব্য কম্বিনেশন তৈরি করা। | টেবিলের রেকর্ড একত্রিত করা। |
ডেটা | প্রতিটি টেবিলের রেকর্ডের কম্বিনেশন তৈরি করে। | দুটি টেবিলের রেকর্ড একত্রিত করে। |
ফলাফল | Cartesian Product (সকল সম্ভাব্য সংমিশ্রণ)। | রো-ভিত্তিক একত্রিতকরণ (ডুপ্লিকেট রো থাকবে)। |
ব্যবহার | একাধিক টেবিলের কম্বিনেশন তৈরি করতে ব্যবহৃত হয়। | একাধিক টেবিলের ডেটা একত্রিত করতে ব্যবহৃত হয়। |
সীমাবদ্ধতা | বড় টেবিলের জন্য পারফরম্যান্স ইস্যু হতে পারে। | কলামগুলি মিলে না থাকলে কাজ করবে না। |
CROSSJOIN এবং UNION হল DAX-এর দুটি শক্তিশালী ফাংশন, যা একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন এবং ডেটা একত্রিত করতে সহায়ক। CROSSJOIN টেবিলের মধ্যে সকল সম্ভাব্য Cartesian Product তৈরি করে, যার ফলে একাধিক টেবিলের কম্বিনেশন পাওয়া যায়। অন্যদিকে, UNION একাধিক টেবিলের ডেটা row-wise একত্রিত করে এবং একই কলামগুলির মধ্যে ডেটা সংমিশ্রণ করে। DAX এ এই দুটি ফাংশন ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন এবং মডেলিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ এবং শক্তিশালী টুল।
DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS) এ ব্যবহৃত হয়। DAX ব্যবহারকারীদের data modeling এবং analysis এর জন্য বিভিন্ন ফাংশন প্রদান করে। RELATED এবং RELATEDTABLE হল দুটি গুরুত্বপূর্ণ DAX ফাংশন যা Relationships ব্যবহার করে ডেটার মধ্যে সম্পর্ক (relationship) তৈরি এবং বিশ্লেষণ করতে সহায়ক।
এই প্রবন্ধে আমরা RELATED এবং RELATEDTABLE ফাংশন দুটি এবং তাদের কার্যকারিতা সম্পর্কে বিস্তারিত আলোচনা করব।
RELATED ফাংশনটি দুটি টেবিলের মধ্যে one-to-many সম্পর্কের ক্ষেত্রে ব্যবহৃত হয়। এটি মূলত lookup column হিসেবে কাজ করে, যেখানে একটি টেবিলের মানের উপর ভিত্তি করে অন্য টেবিলের সম্পর্কিত ডেটা ফিরিয়ে আনা হয়।
RELATED(<ColumnName>)
ধরা যাক, আপনার কাছে দুটি টেবিল রয়েছে:
যদি আপনি Sales টেবিলের জন্য ProductName দেখতে চান, তাহলে আপনি RELATED ফাংশনটি ব্যবহার করতে পারেন:
Product Name = RELATED(Products[ProductName])
এই ফর্মুলাটি Sales টেবিলের ProductID কলামের মানের মাধ্যমে Products টেবিল থেকে সম্পর্কিত ProductName কলামের মান বের করবে।
RELATEDTABLE ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি টেবিলের একাধিক মান অন্য টেবিলের সঙ্গে সম্পর্কিত করতে চান। এটি বিশেষভাবে many-to-one সম্পর্কের জন্য ব্যবহৃত হয়, যেখানে একটি টেবিলের একাধিক রেকর্ড অন্য টেবিলের একক রেকর্ডের সাথে সম্পর্কিত।
RELATEDTABLE(<TableName>)
ধরা যাক, আপনি একটি Customers টেবিল এবং একটি Sales টেবিল নিয়ে কাজ করছেন। যদি আপনি Customers টেবিলের প্রতিটি গ্রাহকের জন্য মোট বিক্রয় পরিমাণ বের করতে চান, তাহলে RELATEDTABLE ফাংশনটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ:
Total Sales by Customer = SUMX(RELATEDTABLE(Sales), Sales[Amount])
এই ফর্মুলাটি Customers টেবিলের প্রতিটি গ্রাহকের জন্য Sales টেবিল থেকে সমস্ত Amount এর যোগফল নির্ধারণ করবে। RELATEDTABLE এখানে Sales টেবিলের সমস্ত সম্পর্কিত রেকর্ড নির্বাচন করে এবং SUMX ফাংশন তাদের মোট পরিমাণ বের করবে।
ধরা যাক, আপনার কাছে দুটি টেবিল রয়েছে:
আপনি যদি Sales টেবিলের মাধ্যমে প্রতিটি বিক্রয়ের সাথে সম্পর্কিত CustomerName দেখতে চান, তাহলে এই ফাংশনটি ব্যবহার করা হবে:
Customer Name = RELATED(Customers[CustomerName])
এই ফর্মুলাটি Sales টেবিলের প্রতিটি রেকর্ডের জন্য CustomerID কলামের মাধ্যমে Customers টেবিলের CustomerName বের করবে।
ধরা যাক, আপনি Customers টেবিলের প্রতিটি গ্রাহকের জন্য মোট বিক্রয় পরিমাণ দেখতে চান। এর জন্য RELATEDTABLE ব্যবহার করা হবে:
Total Sales by Customer = SUMX(RELATEDTABLE(Sales), Sales[Amount])
এই ফর্মুলাটি Customers টেবিলের প্রতিটি গ্রাহকের জন্য Sales টেবিলের সমস্ত বিক্রয় পরিমাণ যোগ করবে।
RELATED এবং RELATEDTABLE ফাংশন দুটি DAX-এর শক্তিশালী টুল যা Relationships এর মাধ্যমে টেবিলগুলির মধ্যে সংযোগ স্থাপন করতে সাহায্য করে। RELATED ব্যবহার করে আপনি one-to-many সম্পর্কের মধ্যে একক মান অ্যাক্সেস করতে পারেন, এবং RELATEDTABLE ব্যবহার করে আপনি many-to-one সম্পর্কের মধ্যে একাধিক রেকর্ড অ্যাক্সেস করতে পারেন। এই ফাংশনগুলি ডেটার মধ্যে সম্পর্ক তৈরি করে, যা আপনাকে আরও বিস্তারিত বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে সহায়ক হতে পারে।
Read more