DAX (Data Analysis Expressions) হলো একটি শক্তিশালী এক্সপ্রেশন ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরির জন্য। Iteration Functions হল DAX-এর একটি বিশেষ ফাংশন গ্রুপ যা row-by-row calculation করে এবং প্রতিটি রো বা সারির জন্য একটি ক্যালকুলেশন করে। এই ফাংশনগুলি সাধারণত table expressions বা calculated columns এবং measures তৈরির জন্য ব্যবহৃত হয়।
এই প্রবন্ধে, আমরা SUMX, AVERAGEX, এবং COUNTX ফাংশনগুলির বিস্তারিত আলোচনা করব এবং কিভাবে এগুলি iteration এবং row-based calculations এর জন্য ব্যবহার করা হয়, তা দেখাব।
SUMX একটি iteration function যা একটি টেবিল বা এক্সপ্রেশনটির প্রতিটি সারির জন্য গণনা করে এবং তারপরে সেগুলির যোগফল বের করে। এটি শুধুমাত্র তখন ব্যবহৃত হয় যখন আপনি একটি টেবিল বা এক্সপ্রেশন থেকে row-by-row ক্যালকুলেশন করতে চান।
SUMX(<table>, <expression>)
ধরা যাক, আপনি Sales টেবিলের জন্য প্রতিটি Quantity এবং Price এর গুণফল বের করতে চান এবং তারপর তাদের যোগফল বের করতে চান:
Total Sales = SUMX(Sales, Sales[Quantity] * Sales[Price])
এখানে:
এটি ব্যবহৃত হতে পারে যখন আপনি কোনো পণ্যের sales value গণনা করতে চান যা Quantity এবং Price এর উপর ভিত্তি করে। এই ধরনের ক্যালকুলেশন business analytics এবং financial analysis এর জন্য গুরুত্বপূর্ণ।
AVERAGEX ফাংশনটি iteration function যা একটি টেবিল বা এক্সপ্রেশন থেকে প্রতিটি সারির জন্য একটি মান বের করে এবং তারপরে তাদের গড় মান (average) হিসাব করে। এটি সাধারণত যখন আপনি row-by-row calculation এর মাধ্যমে একটি average value বের করতে চান তখন ব্যবহৃত হয়।
AVERAGEX(<table>, <expression>)
ধরা যাক, আপনি Sales টেবিল থেকে TotalSales (যেখানে TotalSales হলো Quantity × Price) এর গড় মান বের করতে চান:
Average Sales = AVERAGEX(Sales, Sales[Quantity] * Sales[Price])
এখানে:
AVERAGEX ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি নির্দিষ্ট metric (যেমন, বিক্রয়ের পরিমাণ বা লাভ) এর গড় হিসাব করতে চান, বিশেষ করে যখন আপনি row-by-row calculation করতে চান।
COUNTX ফাংশনটি iteration function যা একটি টেবিল বা এক্সপ্রেশন থেকে সারি ভিত্তিক গণনা করে এবং শর্ত পূর্ণ করা সারিগুলির সংখ্যা গননা করে। এটি সাধারণত ব্যবহার করা হয় যখন আপনি কোনো নির্দিষ্ট শর্ত অনুযায়ী সারি গণনা করতে চান।
COUNTX(<table>, <expression>)
ধরা যাক, আপনি Sales টেবিলের মধ্যে এমন সারিগুলির সংখ্যা গননা করতে চান, যেখানে SalesAmount 1000 এর বেশি:
Count High Sales = COUNTX(Sales, IF(Sales[SalesAmount] > 1000, 1, 0))
এখানে:
এটি ব্যবহার করা যেতে পারে যেখানে আপনি একটি নির্দিষ্ট শর্ত (যেমন, বিক্রয় পরিমাণ) পূর্ণ করা সারির সংখ্যা দেখতে চান। উদাহরণস্বরূপ, আপনি সব পণ্য বা অঞ্চলের মধ্যে high sales গুলো গণনা করতে পারেন।
Function | Description | Use Case |
---|---|---|
SUMX | সারি ভিত্তিক গণনা করে, তারপর তাদের যোগফল বের করে। | একাধিক কলামের মান গুণফল বা যোগফল বের করার জন্য ব্যবহৃত। |
AVERAGEX | সারি ভিত্তিক গণনা করে, তারপর তাদের গড় বের করে। | একটি টেবিল বা এক্সপ্রেশন থেকে গড় মান বের করার জন্য ব্যবহৃত। |
COUNTX | সারি ভিত্তিক গণনা করে, শর্ত পূর্ণ করা সারির সংখ্যা গননা করে। | একটি নির্দিষ্ট শর্ত পূর্ণ করা সারির সংখ্যা গননা করার জন্য ব্যবহৃত। |
Iteration Functions (যেমন SUMX, AVERAGEX, COUNTX) ব্যবহার করার সময় কিছু পারফরম্যান্স সতর্কতা অবলম্বন করা প্রয়োজন:
SUMX, AVERAGEX, এবং COUNTX হল DAX এর iteration functions, যা row-by-row calculations করতে ব্যবহৃত হয় এবং একটি টেবিল বা এক্সপ্রেশন থেকে যোগফল, গড় বা শর্ত পূর্ণ করা সারির সংখ্যা বের করতে সহায়ক। এই ফাংশনগুলি ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে অত্যন্ত গুরুত্বপূর্ণ, বিশেষ করে যখন আপনাকে conditional calculations বা aggregations করতে হয়। Performance optimization এবং simplifying expressions করার মাধ্যমে এই ফাংশনগুলির কার্যক্ষমতা বৃদ্ধি করা যায়, যা Power BI এবং Excel-এ দ্রুত বিশ্লেষণ এবং রিপোর্ট তৈরি করতে সাহায্য করে।
Read more