DAX (Data Analysis Expressions) হল একটি এক্সপ্রেশন ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ডেটা মডেলিং এবং বিশ্লেষণের জন্য ব্যবহৃত হয়। DAX এর মাধ্যমে আপনি ডেটার উপর calculations, aggregations, filters, এবং অন্যান্য কাস্টম এক্সপ্রেশন তৈরি করতে পারেন।
DAX-এ functions, operators, এবং constants ব্যবহার করে কমপ্লেক্স ক্যালকুলেশন করা যায়, যা ডেটাবেস বা মডেল ডেটার উপর ভিত্তি করে dynamic calculations তৈরি করতে সাহায্য করে।
এটি সাধারণত tabular data models এ ব্যবহৃত হয় এবং columns, tables, এবং rows উপর ভিত্তি করে হিসাব এবং ফলাফল তৈরি করা হয়।
DAX এর মৌলিক ধারণা
১. প্রাথমিক গঠন এবং উদ্দেশ্য
DAX-এর উদ্দেশ্য হলো বিভিন্ন ধরনের ক্যালকুলেশন এবং বিশ্লেষণ তৈরি করা যা Power BI বা Power Pivot টুলস-এর ডেটা মডেল থেকে নেওয়া ডেটা নিয়ে কাজ করে। এর মাধ্যমে আপনি সহজে গণনা, অ্যাগ্রিগেশন (যেমন গড়, মোট, গুণফল), এবং আরও অনেক ধরনের custom calculations তৈরি করতে পারেন।
২. ক্যালকুলেশন এবং অ্যাগ্রিগেশন
DAX ব্যবহার করে আপনি বিভিন্ন calculated columns এবং measures তৈরি করতে পারেন।
- Calculated Columns: এই কলামগুলি আপনি existing columns এর ভিত্তিতে তৈরি করেন এবং এগুলি row-level calculations প্রদর্শন করে।
- Measures: measures সাধারণত সেলস রিপোর্টিং বা ড্যাশবোর্ডে ব্যবহৃত হয়, যা aggregate-level calculations যেমন মোট বিক্রয়, গড় সেলস প্রভৃতি দেখায়।
৩. DAX Functions এর ব্যবহার
DAX ফাংশন ব্যবহার করা হয় ডেটা মডেলের মধ্যে কাস্টম ক্যালকুলেশন তৈরি করার জন্য। এটি বিভিন্ন ধরনের ফাংশন অফার করে, যেমন:
- Aggregation functions (যেমন SUM, AVERAGE, COUNT)
- Logical functions (যেমন IF, AND, OR)
- Time intelligence functions (যেমন TOTALYTD, SAMEPERIODLASTYEAR)
- Filter functions (যেমন CALCULATE, FILTER)
DAX Syntax
DAX Syntax হল ফাংশন এবং এক্সপ্রেশন গঠনের নিয়ম যা DAX ভাষায় লেখা হয়। DAX ফাংশন সাধারণত দুটি অংশে বিভক্ত হয়: Function name এবং parameters। DAX-এ মূলত তিনটি প্রধান উপাদান রয়েছে:
- Function Name: ফাংশনের নাম যা ক্যালকুলেশন বা বিশ্লেষণ নির্দেশ করে।
- Parameters: ফাংশনের মধ্যে ব্যবহৃত ডেটা বা ক্ষেত্র (columns) যা প্রক্রিয়া করা হয়।
- Return value: ফাংশনটি কিসে পরিবর্তিত হবে, যেমন একটি সংখ্যা, স্ট্রিং, বা সেলস টোটাল।
সাধারণ DAX Function Syntax:
FunctionName (parameter1, parameter2, ...)
উদাহরণ:
SUM(Sales[Amount])
এখানে:
- SUM হল ফাংশনের নাম,
- Sales[Amount] হলো parameter যা "Sales" টেবিলের "Amount" কলামের ডেটা নিয়ে ক্যালকুলেশন করা হবে।
১. এগজাম্পল: SUM
SUM(Sales[Amount])
এটি "Sales" টেবিলের Amount কলামের মোট যোগফল বের করবে।
২. এগজাম্পল: AVERAGE
AVERAGE(Sales[Amount])
এটি "Sales" টেবিলের Amount কলামের গড় বের করবে।
৩. এগজাম্পল: IF
IF(Sales[Amount] > 1000, "High", "Low")
এটি "Sales" টেবিলের Amount কলামের মান ১০০০ এর বেশি হলে "High", না হলে "Low" রিটার্ন করবে।
৪. এগজাম্পল: CALCULATE
CALCULATE(SUM(Sales[Amount]), Sales[Region] = "North")
এটি Sales টেবিলের Amount কলামের যোগফল বের করবে, তবে কেবল তখনই যখন Region কলামের মান "North" হবে।
DAX এর প্রধান ফাংশনালিটি
১. অ্যাগ্রিগেট ফাংশন (Aggregate Functions)
DAX-এ অ্যাগ্রিগেট ফাংশনগুলোর মধ্যে রয়েছে:
- SUM: একটি কলামের মান যোগফল বের করার জন্য।
- AVERAGE: একটি কলামের গড় মান বের করার জন্য।
- MIN, MAX: একটি কলামের সর্বনিম্ন এবং সর্বোচ্চ মান বের করার জন্য।
- COUNT, COUNTA: একটি কলামে পরিমাণ এবং অক্ষরের সংখ্যা বের করার জন্য।
২. লজিক্যাল ফাংশন (Logical Functions)
এই ফাংশনগুলি সাধারণত শর্ত নির্ধারণ করতে ব্যবহৃত হয়:
- IF: একটি শর্ত পরীক্ষা করে দুইটি ভিন্ন মান রিটার্ন করে।
- AND, OR: একাধিক শর্তের মধ্যে AND বা OR অপারেশন প্রয়োগ করে।
৩. টাইম ইনটেলিজেন্স ফাংশন (Time Intelligence Functions)
এই ফাংশনগুলি ব্যবহারকারীদেরকে টাইম ফ্রেমের মধ্যে ডেটা বিশ্লেষণ করতে সহায়ক:
- TOTALYTD: একটি বছরের জন্য YTD (Year-to-Date) পরিমাপ করে।
- SAMEPERIODLASTYEAR: গত বছরের একই সময়ের ডেটা ফেরত দেয়।
- DATEADD: নির্দিষ্ট সময়ের পরে একটি তারিখের মান প্রদান করে।
৪. ফিল্টার ফাংশন (Filter Functions)
DAX-এ ফিল্টার ফাংশনগুলি ডেটা সিলেকশনের জন্য ব্যবহৃত হয়:
- CALCULATE: একটি নতুন ফিল্টারের সঙ্গে কোনো ক্যালকুলেশন বা মাপের ফলাফল ফেরত দেয়।
- FILTER: নির্দিষ্ট শর্তে ডেটা ফিল্টার করে।
DAX এর উন্নত ফিচার
- Context: DAX-এ দুটি ধরনের কনটেক্সট থাকে:
- Row Context: যখন আপনি একটি কলাম বা টেবিলের প্রতিটি সেলের উপর ভিত্তি করে ক্যালকুলেশন করেন।
- Filter Context: যখন আপনি একটি নির্দিষ্ট শর্ত (filter) দিয়ে ডেটা বিশ্লেষণ করেন।
- Calculated Columns: আপনি ডেটা মডেলে কাস্টম কলাম যোগ করতে পারেন যা একটি নির্দিষ্ট ক্যালকুলেশন বা ডেটার উপর ভিত্তি করে তৈরি হয়।
- Measures: Measures কগনোস রিপোর্টে বিশেষভাবে ব্যবহৃত হয় এবং এগুলি হলো ডাইনামিক ক্যালকুলেশন যা রিপোর্টের মধ্যে পরিবর্তিত ডেটার উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে পরিবর্তিত হয়।
সারাংশ
DAX (Data Analysis Expressions) হলো একটি অত্যন্ত শক্তিশালী ভাষা যা Power BI, Power Pivot এবং SQL Server Analysis Services (SSAS) ব্যবহারকারীদের জন্য তৈরি করা হয়েছে। এর মাধ্যমে আপনি aggregations, calculations, filters এবং dynamic calculations তৈরি করতে পারেন। DAX এর মৌলিক ধারণা এবং সিনট্যাক্সের মাধ্যমে ডেটা মডেলিং, রিপোর্টিং, এবং বিশ্লেষণ প্রক্রিয়া আরও সহজ এবং কার্যকরী হয়ে ওঠে।
Read more