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 ফাংশন
RELATED ফাংশনটি দুটি টেবিলের মধ্যে one-to-many সম্পর্কের ক্ষেত্রে ব্যবহৃত হয়। এটি মূলত lookup column হিসেবে কাজ করে, যেখানে একটি টেবিলের মানের উপর ভিত্তি করে অন্য টেবিলের সম্পর্কিত ডেটা ফিরিয়ে আনা হয়।
Syntax:
RELATED(<ColumnName>)
- : এটি সেই কলামটি যা আপনি লুকআপ করতে চান এবং সম্পর্কিত টেবিল থেকে মান ফিরিয়ে আনতে চান।
ব্যবহার:
ধরা যাক, আপনার কাছে দুটি টেবিল রয়েছে:
- Sales টেবিল - যেখানে ProductID, Amount ইত্যাদি তথ্য রয়েছে।
- Products টেবিল - যেখানে ProductID, ProductName, Price ইত্যাদি তথ্য রয়েছে।
যদি আপনি Sales টেবিলের জন্য ProductName দেখতে চান, তাহলে আপনি RELATED ফাংশনটি ব্যবহার করতে পারেন:
Product Name = RELATED(Products[ProductName])
এই ফর্মুলাটি Sales টেবিলের ProductID কলামের মানের মাধ্যমে Products টেবিল থেকে সম্পর্কিত ProductName কলামের মান বের করবে।
২. RELATEDTABLE ফাংশন
RELATEDTABLE ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি টেবিলের একাধিক মান অন্য টেবিলের সঙ্গে সম্পর্কিত করতে চান। এটি বিশেষভাবে many-to-one সম্পর্কের জন্য ব্যবহৃত হয়, যেখানে একটি টেবিলের একাধিক রেকর্ড অন্য টেবিলের একক রেকর্ডের সাথে সম্পর্কিত।
Syntax:
RELATEDTABLE(<TableName>)
- : এটি সেই টেবিলের নাম যেটি আপনি লুকআপ করতে চান এবং সম্পর্কিত মান ফিরিয়ে আনতে চান।
ব্যবহার:
ধরা যাক, আপনি একটি Customers টেবিল এবং একটি Sales টেবিল নিয়ে কাজ করছেন। যদি আপনি Customers টেবিলের প্রতিটি গ্রাহকের জন্য মোট বিক্রয় পরিমাণ বের করতে চান, তাহলে RELATEDTABLE ফাংশনটি ব্যবহার করতে পারেন। উদাহরণস্বরূপ:
Total Sales by Customer = SUMX(RELATEDTABLE(Sales), Sales[Amount])
এই ফর্মুলাটি Customers টেবিলের প্রতিটি গ্রাহকের জন্য Sales টেবিল থেকে সমস্ত Amount এর যোগফল নির্ধারণ করবে। RELATEDTABLE এখানে Sales টেবিলের সমস্ত সম্পর্কিত রেকর্ড নির্বাচন করে এবং SUMX ফাংশন তাদের মোট পরিমাণ বের করবে।
৩. RELATED এবং RELATEDTABLE এর মধ্যে পার্থক্য
- RELATED: এটি একটি কলামকে লুকআপ করে এবং সম্পর্কিত টেবিল থেকে একক মান ফিরিয়ে আনে, যা one-to-many সম্পর্কের জন্য ব্যবহৃত হয়।
- RELATEDTABLE: এটি একটি টেবিলকে লুকআপ করে এবং সম্পর্কিত টেবিলের একাধিক রেকর্ড ফিরিয়ে আনে, যা many-to-one সম্পর্কের জন্য ব্যবহৃত হয়।
উদাহরণ: DAX Relationships ব্যবহার
ধরা যাক, আপনার কাছে দুটি টেবিল রয়েছে:
- Customers টেবিল, যেখানে CustomerID, CustomerName ইত্যাদি তথ্য রয়েছে।
- Sales টেবিল, যেখানে SalesID, CustomerID, Amount ইত্যাদি তথ্য রয়েছে।
১. RELATED ফাংশন ব্যবহার:
আপনি যদি Sales টেবিলের মাধ্যমে প্রতিটি বিক্রয়ের সাথে সম্পর্কিত CustomerName দেখতে চান, তাহলে এই ফাংশনটি ব্যবহার করা হবে:
Customer Name = RELATED(Customers[CustomerName])
এই ফর্মুলাটি Sales টেবিলের প্রতিটি রেকর্ডের জন্য CustomerID কলামের মাধ্যমে Customers টেবিলের CustomerName বের করবে।
২. RELATEDTABLE ফাংশন ব্যবহার:
ধরা যাক, আপনি 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