DAX (Data Analysis Expressions) হল একটি শক্তিশালী এক্সপ্রেশন ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরির জন্য। DAX Queries ব্যবহার করে আপনি data retrieval, aggregation, এবং complex calculations করতে পারেন। এই প্রবন্ধে, আমরা DAX Queries লিখা এবং তাদের কার্যকরভাবে চলমান করার প্রক্রিয়া নিয়ে আলোচনা করব।
DAX Queries কী?
DAX Queries হল DAX ভাষায় লেখা এক্সপ্রেশন যা Power BI বা SSAS ডেটা মডেল থেকে ডেটা অ্যাক্সেস এবং ক্যালকুলেশন করতে ব্যবহৃত হয়। DAX Queries মূলত calculations বা aggregations করা, ডেটা ফিল্টার বা সার্চ করা এবং ফলস্বরূপ data tables বা measures তৈরি করা হয়।
DAX Queries সাধারণত Power BI বা SQL Server Management Studio (SSMS) এর মধ্যে Data Analysis বা Data Modeling সেশনে ব্যবহার করা হয়।
DAX Queries লিখার পদ্ধতি
১. Power BI এর মধ্যে DAX Query লেখা
Power BI এর DAX Query Editor ব্যবহার করে আপনি DAX কোড লিখতে এবং চলাতে পারেন। Power BI ডেক্সটপের মাধ্যমে DAX কোড লিখতে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করুন:
- Power BI Desktop খুলুন এবং Data View-এ যান।
- আপনি একটি টেবিল বা measure তৈরি করতে চান, তার জন্য Modeling ট্যাব থেকে New Measure বা New Column নির্বাচন করুন।
- আপনার কোডটি টাইপ করুন এবং Enter চাপুন।
উদাহরণ:
ধরা যাক, আপনি Sales টেবিলের SalesAmount এর মোট যোগফল বের করতে চান, তাহলে আপনি একটি নতুন measure তৈরি করতে পারেন:
Total Sales = SUM(Sales[SalesAmount])
এটি Sales টেবিলের SalesAmount কলামের মোট যোগফল বের করবে।
২. Power BI Query Editor-এ DAX Query চালানো
Power BI-তে আপনি New Table বা New Measure তৈরি করার মাধ্যমে সরাসরি DAX কোড ব্যবহার করে কাস্টম ক্যালকুলেশন তৈরি করতে পারেন। আপনি যদি Power Query Editor ব্যবহার করে DAX কোড চালাতে চান, তবে:
- Transform Data ক্লিক করুন এবং Power Query Editor খুলুন।
- একটি নতুন কাস্টম কলাম তৈরি করতে Add Column ট্যাব থেকে Custom Column নির্বাচন করুন।
- DAX কোড লিখুন এবং OK চাপুন।
DAX Queries-এর মাধ্যমে Complex Calculations
১. Time Intelligence Calculation
Time Intelligence ফাংশনগুলির মধ্যে সবচেয়ে জনপ্রিয় হলো YTD, QTD, এবং MTD। এই ফাংশনগুলি ব্যবহার করে আপনি Year-to-Date, Quarter-to-Date, এবং Month-to-Date ক্যালকুলেশন করতে পারেন।
উদাহরণ: YTD Sales
YTD Sales = TOTALYTD(SUM(Sales[SalesAmount]), Sales[Date])
এটি SalesAmount এর Year-to-Date মোট বিক্রয় পরিমাণ বের করবে, যেখানে Sales[Date] কলামটি ব্যবহার করা হবে।
২. Conditional Aggregation
CALCULATE ফাংশনটি ব্যবহার করে আপনি কাস্টম শর্তে aggregation করতে পারেন। FILTER ফাংশন ব্যবহার করে নির্দিষ্ট শর্তের ভিত্তিতে aggregation করা যায়।
উদাহরণ: Total Sales in East Region
Total Sales in East = CALCULATE(SUM(Sales[SalesAmount]), Sales[Region] = "East")
এটি Sales টেবিলের SalesAmount এর মোট যোগফল বের করবে, তবে শুধুমাত্র যখন Sales[Region] "East" হবে।
৩. Ranking Functions
RANKX ফাংশনটি ব্যবহার করে আপনি ডেটার মধ্যে র্যাঙ্কিং তৈরি করতে পারেন। এটি কোনো মেট্রিক্স (যেমন বিক্রয় পরিমাণ) এর ভিত্তিতে র্যাঙ্ক প্রদান করে।
উদাহরণ: Product Ranking
Product Rank = RANKX(ALL(Products), SUM(Sales[SalesAmount]), , DESC, Dense)
এটি Products টেবিলের মধ্যে SalesAmount এর ভিত্তিতে প্রতিটি পণ্যের ranking নির্ধারণ করবে।
DAX Query লিখার সময় কিছু গুরুত্বপূর্ণ টিপস
১. Measures vs Calculated Columns
- Measures এবং Calculated Columns এর মধ্যে পার্থক্য বুঝে কাজ করুন। Measures সাধারণত aggregations বা dynamic calculations জন্য ব্যবহৃত হয়, যেখানে Calculated Columns টেবিলের প্রতিটি সারির জন্য নির্দিষ্ট মান নির্ধারণ করে।
২. Variables ব্যবহার করা
Variables ব্যবহার করা DAX কোড পরিষ্কার এবং দ্রুত করে তোলে। একটি ভেরিয়েবল একবার হিসাব করলে এবং পরবর্তীতে সেই মানটি ব্যবহার করা হলে পারফরম্যান্স আরও বৃদ্ধি পায়।
Sales Growth =
VAR TotalSales = SUM(Sales[SalesAmount])
VAR LastYearSales = CALCULATE(SUM(Sales[SalesAmount]), SAMEPERIODLASTYEAR(Sales[Date]))
RETURN (TotalSales - LastYearSales) / LastYearSales
৩. Filtering and Context Transition
FILTER, ALL, এবং CALCULATE ফাংশনগুলি ব্যবহার করার সময় সতর্কতা অবলম্বন করুন, কারণ এগুলি context transition ঘটাতে পারে এবং কোডের কার্যকারিতা বা পারফরম্যান্সে প্রভাব ফেলতে পারে।
৪. DAX Query Optimization
যখন জটিল DAX ক্যালকুলেশন করছেন, query optimization এ মনোযোগ দিন। পরিমাণে কম calculated columns, efficient filtering, এবং সঠিক aggregation functions ব্যবহার করা উচিত।
DAX Queries এর মাধ্যমে Data Analysis
DAX Queries ব্যবহার করে আপনি data analysis, time intelligence, aggregation, এবং ranking এর মতো আরও অনেক কার্যকরী বিশ্লেষণ করতে পারেন। DAX টুলসের মাধ্যমে আপনি আপনার রিপোর্টিং এবং বিশ্লেষণ প্রক্রিয়া আরও সুনির্দিষ্ট এবং দ্রুত করতে পারবেন, যা ব্যবসায়িক সিদ্ধান্ত গ্রহণে সহায়ক।
সারাংশ
DAX Queries লিখে এবং চলমান করে, আপনি Power BI, Power Pivot, এবং SSAS-এ শক্তিশালী data analysis এবং reporting তৈরি করতে পারেন। DAX এর মধ্যে measures, calculated columns, filtering, time intelligence, ranking, এবং complex calculations করার জন্য বিভিন্ন ফাংশন রয়েছে। DAX queries এর মাধ্যমে business logic তৈরি করে আপনার রিপোর্টিং কার্যক্ষমতা এবং বিশ্লেষণকে আরও সুনির্দিষ্ট এবং দ্রুত করতে পারেন। Performance optimization, variables, এবং filtering কৌশল অনুসরণ করলে DAX queries আরও কার্যকরী এবং দ্রুত হয়।
Read more