DAX (Data Analysis Expressions) একটি শক্তিশালী ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করার জন্য। Power BI-তে ডেটা মডেলিং এবং ক্যালকুলেশন তৈরি করার সময় DAX functions ব্যবহার করা অত্যন্ত গুরুত্বপূর্ণ, কারণ সেগুলির মাধ্যমে আপনি dynamic reports, interactive visuals, এবং complex analytics তৈরি করতে পারেন।
এই প্রবন্ধে, আমরা Power BI এর calculations এবং data modeling techniques নিয়ে আলোচনা করব, যেখানে DAX ফাংশনগুলি ব্যবহার করে কিভাবে ডেটা মডেল তৈরি করা হয় এবং কাস্টম ক্যালকুলেশন করা যায়, তা দেখানো হবে।
১. Power BI Calculations: Types of Calculations in DAX
Power BI-এ ক্যালকুলেশন তৈরি করার জন্য DAX ফাংশনগুলি তিনটি প্রধান ধরনের ক্যালকুলেশন তৈরি করতে ব্যবহৃত হয়:
- Calculated Columns: এগুলি নতুন কলাম তৈরি করে, যা row-by-row calculation করে ডেটার উপর নির্দিষ্ট ক্যালকুলেশন বা গণনা সম্পাদন করে।
- Measures: এগুলি ডেটার উপর ক্যালকুলেশন তৈরি করে, কিন্তু একটি নির্দিষ্ট filter context বা aggregation প্রয়োগ করে মোট পরিমাণ বা গড় মান বের করে।
- Calculated Tables: এগুলি এক বা একাধিক টেবিলের উপর ক্যালকুলেশন এবং ডেটা গঠন করে একটি নতুন টেবিল তৈরি করে।
Calculated Columns
Calculated Columns সাধারণত row context এর মধ্যে ব্যবহৃত হয় এবং একটি টেবিলের প্রতিটি সারির জন্য নতুন মান বা ফলাফল তৈরি করে।
Syntax:
Column Name = <expression>
ব্যবহার:
ধরা যাক, আপনি Sales টেবিলে একটি নতুন কলাম তৈরি করতে চান, যা Amount এবং Discount এর পার্থক্য দেখাবে:
Final Amount = Sales[Amount] - Sales[Discount]
এটি Sales টেবিলে একটি নতুন Final Amount কলাম তৈরি করবে, যা প্রতিটি রেকর্ডের জন্য Amount এবং Discount এর পার্থক্য দেখাবে।
Measures
Measures সাধারণত filter context এর উপর ভিত্তি করে গণনা করে এবং aggregation ফাংশনগুলির মাধ্যমে কাস্টম ক্যালকুলেশন তৈরি করে।
Syntax:
Measure Name = <aggregation expression>
ব্যবহার:
ধরা যাক, আপনি Sales টেবিলের মোট বিক্রয় পরিমাণ (যথা Amount) বের করতে চান, তাহলে আপনি Measure তৈরি করতে পারেন:
Total Sales = SUM(Sales[Amount])
এটি Sales টেবিলের Amount কলামের মোট যোগফল বের করবে।
Calculated Tables
Calculated Tables তৈরি করা হয় যখন আপনি একাধিক টেবিলের উপর ক্যালকুলেশন বা grouping করতে চান এবং একটি নতুন টেবিল তৈরি করতে চান।
Syntax:
Table Name = <table expression>
ব্যবহার:
ধরা যাক, আপনি Sales এবং Products টেবিলের উপর ক্যালকুলেশন করে একটি নতুন Summary Table তৈরি করতে চান:
Summary Table = SUMMARIZE(Sales, Sales[ProductID], "Total Sales", SUM(Sales[Amount]))
এটি Sales টেবিল থেকে ProductID অনুযায়ী গ্রুপ করে একটি নতুন টেবিল তৈরি করবে এবং প্রতিটি ProductID এর জন্য Amount এর মোট যোগফল দেখাবে।
২. Data Modeling Techniques in Power BI
Data Modeling হল Power BI-তে ডেটার সম্পর্ক তৈরি এবং সঠিকভাবে ডেটা বিশ্লেষণের জন্য একটি কাঠামো তৈরি করার প্রক্রিয়া। Power BI-তে DAX functions ব্যবহার করে ডেটা মডেল তৈরি করা হয় এবং এর মাধ্যমে আপনি সম্পর্কিত টেবিলগুলির মধ্যে কাস্টম ক্যালকুলেশন তৈরি করতে পারেন। সঠিক data modeling নিশ্চিত করে যে ডেটা সঠিকভাবে বিশ্লেষিত হয় এবং ব্যবসায়িক সিদ্ধান্ত গ্রহণের জন্য কার্যকরী অন্তর্দৃষ্টি প্রদান করে।
Data Model Design Principles:
- Star Schema Design:
- একটি Star Schema হল একটি সাধারণ এবং কার্যকরী ডেটা মডেল যেখানে fact table (যেমন, Sales, Orders) কেন্দ্রে থাকে এবং এর চারপাশে এক বা একাধিক dimension tables (যেমন, Products, Customers, Date) থাকে।
- এটি ডেটার সঠিক সম্পর্ক এবং বিশ্লেষণ নিশ্চিত করে।
- Snowflake Schema Design:
- Snowflake Schema হল একটি উন্নত star schema যেখানে ডাইমেনশন টেবিলগুলো আরো বিভক্ত হয় (যেমন, Product Category, Product Sub-Category), যা আরও বিস্তারিত বিশ্লেষণ করতে সহায়ক।
- One-to-Many Relationships:
- Power BI-তে সাধারণত one-to-many সম্পর্ক ব্যবহৃত হয় যেখানে একটি টেবিলের একটি ইউনিক মান অন্য টেবিলের একাধিক রেকর্ডের সাথে সম্পর্কিত থাকে।
- উদাহরণ: Customers টেবিলের একটি CustomerID একাধিক Sales রেকর্ডের সাথে সম্পর্কিত হতে পারে।
- Many-to-Many Relationships:
- Many-to-many সম্পর্ক ব্যবহৃত হয় যখন দুটি টেবিলের মধ্যে একাধিক রেকর্ডের সম্পর্ক থাকতে পারে। এটি সাধারণত bridge tables বা intermediate tables ব্যবহার করে তৈরি করা হয়।
- Normalization vs. Denormalization:
- Normalization: ডেটাকে বিভিন্ন টেবিলের মধ্যে ভাগ করা যাতে ডেটা পুনরাবৃত্তি কমে এবং ডেটার গুণমান বজায় থাকে।
- Denormalization: ডেটার মধ্যে পুনরাবৃত্তি তৈরি করা হয় যাতে query performance বৃদ্ধি পায়, তবে কিছু ক্ষেত্রে এটি storage efficiency কমিয়ে দিতে পারে।
৩. Using DAX with Multiple Tables and Relationships
Power BI-তে multiple tables এবং relationships ব্যবস্থাপনা অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি ডেটার মধ্যে সম্পর্ক স্থাপন করে সঠিক বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে সহায়ক। DAX-এ RELATED, RELATEDTABLE, এবং USERELATIONSHIP ফাংশনগুলি ব্যবহার করে আপনি একাধিক টেবিলের মধ্যে সম্পর্কিত ডেটা বিশ্লেষণ করতে পারেন।
RELATED Function
RELATED ফাংশনটি ব্যবহার করা হয় যখন আপনি একটি টেবিলের কলাম থেকে অন্য টেবিলের সম্পর্কিত কলাম ব্যবহার করতে চান। এটি one-to-many সম্পর্কের ক্ষেত্রে ব্যবহৃত হয়।
Product Name = RELATED(Products[ProductName])
এটি Sales টেবিলের প্রতিটি রেকর্ডের জন্য Products টেবিলের সম্পর্কিত ProductName কলামের মান ফিরিয়ে দেবে।
RELATEDTABLE Function
RELATEDTABLE ফাংশনটি ব্যবহার করা হয় যখন আপনি একটি টেবিলের সম্পর্কিত টেবিলের সমস্ত সারি ফেরত চান। এটি সাধারণত many-to-one সম্পর্কের জন্য ব্যবহৃত হয়।
Total Sales for Product = SUMX(RELATEDTABLE(Sales), Sales[Amount])
এটি Products টেবিলের প্রতিটি পণ্যের জন্য Sales টেবিলের সম্পর্কিত সমস্ত বিক্রয় পরিমাণ যোগ করবে।
USERELATIONSHIP Function
USERELATIONSHIP ফাংশনটি ব্যবহৃত হয় যখন আপনি inactive relationship চালু করতে চান। এটি বিশেষভাবে inactive relationship সক্রিয় করার জন্য ব্যবহৃত হয়।
Total Sales Last Year = CALCULATE(SUM(Sales[Amount]), USERELATIONSHIP(Sales[OrderDate], Orders[OrderDate]))
এটি Sales টেবিলের Amount এর যোগফল বের করবে, তবে Orders টেবিলের OrderDate কলামের সাথে inactive relationship সক্রিয় করবে।
৪. Best Practices for Data Modeling in Power BI
- Use Star Schema Design: Star schema ডেটার সম্পর্ক সহজ এবং কার্যকরী রাখে এবং ডেটা বিশ্লেষণের জন্য উপযুক্ত কাঠামো প্রদান করে।
- Normalize Dimension Tables: Dimension tables গুলির মধ্যে তথ্যের পুনরাবৃত্তি এড়ানোর জন্য normalization ব্যবহার করুন।
- Reduce Data Granularity: যদি সম্ভব হয়, data granularity কমিয়ে দিন যাতে ক্যালকুলেশন দ্রুত এবং সহজ হয়।
- Use Relationships Wisely: সম্পর্কের ধরন এবং filter propagation নিশ্চিত করুন যাতে সঠিক বিশ্লেষণ হয় এবং পারফরম্যান্স প্রভাবিত না হয়।
- Measure Optimization: Measures তৈরি করার সময় variables ব্যবহার করে এক্সপ্রেশনগুলোকে দ্রুত এবং কার্যকরী করুন।
সারাংশ
Power BI Calculations এবং Data Modeling Techniques সঠিকভাবে প্রয়োগ করলে আপনি শক্তিশালী DAX functions ব্যবহার করে dynamic reports এবং complex analyses তৈরি করতে পারবেন। Calculated columns, measures, এবং calculated tables ব্যবহারের মাধ্যমে ডেটার বিশ্লেষণ সহজ ও কার্যকরী করা যায়। Relationships এবং multiple tables ব্যবস্থাপনা, DAX functions এর মাধ্যমে ডেটার উপর সঠিক ক্যালকুলেশন এবং বিশ্লেষণ নিশ্চিত করে, যা ব্যবসায়িক সিদ্ধান্ত গ্রহণে সহায়ক হয়।
Read more