DAX (Data Analysis Expressions) হল একটি শক্তিশালী এক্সপ্রেশন ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন, এবং data visualization তৈরির জন্য। DAX Querying ব্যবহার করে আপনি data visualization তৈরি করার জন্য complex calculations করতে পারেন এবং ডেটাকে আরও গভীরভাবে বিশ্লেষণ করতে সক্ষম হন।
এই প্রবন্ধে আমরা দেখব কিভাবে DAX querying ব্যবহার করে data visualization তৈরি করা যায় এবং কীভাবে measures, calculated columns, filtering, এবং aggregation ফাংশন ব্যবহার করে visuals তৈরি করা যায়।
১. DAX Querying কী?
DAX Querying হল একটি প্রক্রিয়া যা Power BI বা Power Pivot এ data models এর সাথে queries বা এক্সপ্রেশন তৈরি করে, যা data analysis এবং visualization তৈরির জন্য ব্যবহৃত হয়। DAX ব্যবহার করে, আপনি measures, calculated columns, এবং tables তৈরি করতে পারেন যা Power BI-এর visuals এবং রিপোর্ট তৈরিতে সাহায্য করে।
DAX Querying এর মাধ্যমে আপনি:
- ডেটা মডেল থেকে custom calculations তৈরি করতে পারেন।
- aggregation এবং filtering ফাংশন ব্যবহার করে visualizations এর জন্য প্রয়োজনীয় ডেটা নির্বাচন করতে পারেন।
- time intelligence ফাংশন ব্যবহার করে time-based analysis করতে পারেন।
২. Data Visualization তৈরি করতে DAX Querying ব্যবহার করা
Data Visualization তৈরি করতে DAX ব্যবহার করে বিভিন্ন ধরনের কাস্টম measure এবং calculated columns তৈরি করতে পারেন। এটি ডেটা বিশ্লেষণের জন্য interactive এবং dynamic visuals তৈরি করতে সহায়ক হয়।
Step 1: Measures তৈরি করা
Measures হল DAX-এ dynamic calculations যা ডেটার উপর ভিত্তি করে ফলাফল প্রদান করে। Measure সাধারণত aggregation functions যেমন SUM, AVERAGE, COUNT, MAX, MIN, এবং Time Intelligence Functions যেমন YTD, MTD ইত্যাদি ব্যবহার করে তৈরি করা হয়।
Example: Total Sales Measure
ধরা যাক, আপনি Sales টেবিলের মোট বিক্রয় পরিমাণ বের করতে চান:
Total Sales = SUM(Sales[Amount])
এটি Sales টেবিলের Amount কলামের মোট যোগফল বের করবে এবং একটি measure তৈরি করবে যা আপনি Power BI এর visuals এ ব্যবহার করতে পারবেন।
Step 2: Calculated Columns তৈরি করা
Calculated columns হল নতুন কলাম যা টেবিলের প্রতিটি সারির জন্য DAX ফাংশন দ্বারা হিসাব করা হয়। এটি সাধারণত নির্দিষ্ট শর্তের ভিত্তিতে কাস্টম মান তৈরি করতে ব্যবহৃত হয়।
Example: Profit Calculation Using Calculated Column
ধরা যাক, আপনি Sales টেবিল থেকে একটি নতুন Profit কলাম তৈরি করতে চান, যা Sales[Amount] এবং Sales[Cost] এর পার্থক্য বের করবে:
Profit = Sales[Amount] - Sales[Cost]
এটি Sales টেবিলের প্রতিটি সারির জন্য Profit হিসাব করবে এবং একটি নতুন কলাম তৈরি করবে।
৩. Time Intelligence Functions দিয়ে Data Visualization
Time Intelligence Functions DAX-এ বিশেষভাবে ব্যবহার করা হয় যখন আপনাকে time-based calculations করতে হয়, যেমন Year-to-Date (YTD), Quarter-to-Date (QTD), এবং Month-to-Date (MTD)। এই ধরনের ক্যালকুলেশনগুলি সময় ভিত্তিক ডেটার বিশ্লেষণ এবং ভিজ্যুয়ালাইজেশনে সহায়ক।
Example: Year-to-Date (YTD) Sales
যদি আপনি YTD Sales বের করতে চান, তাহলে আপনি TOTALYTD ফাংশন ব্যবহার করতে পারেন:
YTD Sales = TOTALYTD(SUM(Sales[Amount]), Sales[Date])
এটি Sales টেবিলের Amount কলামের Year-to-Date (YTD) মোট বিক্রয় নির্ধারণ করবে এবং এটি Power BI তে dynamic visualization তৈরি করতে সহায়ক হবে।
Example: Same Period Last Year Sales
যদি আপনি Sales এর গত বছরের একই সময়ের বিক্রয় পরিমাণ তুলনা করতে চান:
Sales Last Year = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Sales[Date]))
এটি Sales টেবিলের Amount কলামের গত বছরের একই সময়ের বিক্রয় পরিমাণ বের করবে এবং এই ডেটাকে time-based analysis এর জন্য ভিজ্যুয়ালে ব্যবহার করা যাবে।
৪. Filtering Data for Visualization
DAX Filtering ফাংশনগুলি ডেটা সিলেকশন এবং dynamic filtering এর জন্য ব্যবহৃত হয়। যখন আপনি Power BI তে DAX queries ব্যবহার করেন, আপনি বিভিন্ন শর্তের ভিত্তিতে ডেটা ফিল্টার করতে পারেন।
Example: Filtering Data for a Specific Region
ধরা যাক, আপনি Sales টেবিলের Amount এর মোট যোগফল দেখতে চান যেখানে Region "East" হতে হবে:
Sales in East = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East")
এটি শুধুমাত্র Sales[Region] = "East" শর্তে মিলিয়ে Sales[Amount] এর মোট যোগফল বের করবে এবং Power BI তে dynamic visualization তৈরি করতে সহায়ক হবে।
Example: Filtering Based on Date
যদি আপনি Sales টেবিলের Amount ফিল্টার করতে চান একটি নির্দিষ্ট তারিখের মধ্যে:
Sales in January 2021 = CALCULATE(SUM(Sales[Amount]), Sales[Date] >= DATE(2021, 1, 1), Sales[Date] <= DATE(2021, 1, 31))
এটি Sales টেবিলের Amount এর যোগফল বের করবে যেখানে Sales[Date] ১ জানুয়ারি ২০২১ থেকে ৩১ জানুয়ারি ২০২১ এর মধ্যে।
৫. Using Aggregation with DAX for Data Visualization
DAX Querying তে aggregation functions ব্যবহার করা খুবই গুরুত্বপূর্ণ, বিশেষ করে যখন আপনি dynamic reports তৈরি করতে চান। SUMX, AVERAGEX, COUNTX ইত্যাদি iteration functions ব্যবহার করে আপনি ডেটার উপর row-level aggregation করতে পারেন।
Example: Dynamic Sales per Product
ধরা যাক, আপনি Sales টেবিলের Quantity এবং UnitPrice এর গুণফল নিয়ে মোট বিক্রয় পরিমাণ বের করতে চান, এবং এটি প্রতিটি পণ্যের জন্য Power BI তে dynamic visualization তৈরির জন্য ব্যবহার করবেন:
Total Sales per Product = SUMX(Sales, Sales[Quantity] * Sales[UnitPrice])
এটি Sales টেবিলের প্রতিটি সারির জন্য Quantity এবং UnitPrice গুণফল বের করে এবং তারপরে সব সারির যোগফল প্রদান করবে।
৬. Creating Interactive Dashboards with DAX
DAX querying এর মাধ্যমে আপনি interactive dashboards তৈরি করতে পারেন, যা ব্যবহারকারীদের জন্য dynamic filtering এবং drill-down বৈশিষ্ট্য প্রদান করে। আপনি measures এবং calculated columns ব্যবহার করে interactive visuals তৈরি করতে পারেন এবং DAX queries ব্যবহার করে ডেটা সিলেকশন এবং কাস্টম aggregation করতে পারেন।
Example: Drill Down with Product Categories
যদি আপনি একটি ড্যাশবোর্ড তৈরি করতে চান যেখানে ব্যবহারকারী Product Category অনুযায়ী বিক্রয় বিশ্লেষণ করতে পারে, তাহলে আপনি DAX measures এবং filtering ফাংশন ব্যবহার করবেন।
Sales by Category = CALCULATE(SUM(Sales[Amount]), Sales[ProductCategory] = "Electronics")
এটি Sales টেবিলের জন্য ProductCategory "Electronics" এর ভিত্তিতে Sales[Amount] এর মোট যোগফল বের করবে এবং ড্যাশবোর্ডে interactive ভাবে এটি ব্যবহার করা যাবে।
সারাংশ
DAX Querying একটি শক্তিশালী টুল যা Power BI তে dynamic reports এবং interactive dashboards তৈরির জন্য ব্যবহৃত হয়। DAX ব্যবহার করে আপনি measures, calculated columns, time intelligence, filtering, এবং aggregation functions এর মাধ্যমে ডেটা বিশ্লেষণ করতে পারেন এবং সেই বিশ্লেষণকে visuals-এ রূপান্তরিত করতে পারেন। এই প্রক্রিয়া complex calculations, conditional aggregations, এবং time-based analysis-এ সহায়ক হয়ে থাকে, যা ব্যবহারকারীদের আরও কার্যকরী এবং তথ্যভিত্তিক visualization তৈরি করতে সাহায্য করে।
Read more