Iteration Functions (SUMX, AVERAGEX, COUNTX)

Big Data and Analytics - ড্যাক্স দিয়ে ডেটা মডেলিং (Data Modeling with DAX) Aggregation এবং Iteration Functions |
96
96

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 ফাংশন

SUMX একটি iteration function যা একটি টেবিল বা এক্সপ্রেশনটির প্রতিটি সারির জন্য গণনা করে এবং তারপরে সেগুলির যোগফল বের করে। এটি শুধুমাত্র তখন ব্যবহৃত হয় যখন আপনি একটি টেবিল বা এক্সপ্রেশন থেকে row-by-row ক্যালকুলেশন করতে চান।

Syntax:

SUMX(<table>, <expression>)
  • : এটি সেই টেবিল বা এক্সপ্রেশন যার উপর সারি ভিত্তিক ক্যালকুলেশন করা হবে।
  • : এটি সেই ক্যালকুলেশন যা প্রতিটি সারির জন্য করা হবে।

ব্যবহার:

ধরা যাক, আপনি Sales টেবিলের জন্য প্রতিটি Quantity এবং Price এর গুণফল বের করতে চান এবং তারপর তাদের যোগফল বের করতে চান:

Total Sales = SUMX(Sales, Sales[Quantity] * Sales[Price])

এখানে:

  • SUMX ফাংশনটি Sales টেবিলের প্রতিটি সারির জন্য Quantity এবং Price এর গুণফল করবে এবং তারপর তাদের যোগফল প্রদান করবে।

Real-World Application:

এটি ব্যবহৃত হতে পারে যখন আপনি কোনো পণ্যের sales value গণনা করতে চান যা Quantity এবং Price এর উপর ভিত্তি করে। এই ধরনের ক্যালকুলেশন business analytics এবং financial analysis এর জন্য গুরুত্বপূর্ণ।


২. AVERAGEX ফাংশন

AVERAGEX ফাংশনটি iteration function যা একটি টেবিল বা এক্সপ্রেশন থেকে প্রতিটি সারির জন্য একটি মান বের করে এবং তারপরে তাদের গড় মান (average) হিসাব করে। এটি সাধারণত যখন আপনি row-by-row calculation এর মাধ্যমে একটি average value বের করতে চান তখন ব্যবহৃত হয়।

Syntax:

AVERAGEX(<table>, <expression>)
  • : এটি সেই টেবিল বা এক্সপ্রেশন যার উপর সারি ভিত্তিক ক্যালকুলেশন করা হবে।
  • : এটি সেই ক্যালকুলেশন যা প্রতিটি সারির জন্য করা হবে।

ব্যবহার:

ধরা যাক, আপনি Sales টেবিল থেকে TotalSales (যেখানে TotalSales হলো Quantity × Price) এর গড় মান বের করতে চান:

Average Sales = AVERAGEX(Sales, Sales[Quantity] * Sales[Price])

এখানে:

  • AVERAGEX ফাংশনটি Sales টেবিলের প্রতিটি সারির জন্য Quantity এবং Price এর গুণফল করবে এবং তারপর তাদের গড় মান বের করবে।

Real-World Application:

AVERAGEX ফাংশনটি ব্যবহৃত হয় যখন আপনি একটি নির্দিষ্ট metric (যেমন, বিক্রয়ের পরিমাণ বা লাভ) এর গড় হিসাব করতে চান, বিশেষ করে যখন আপনি row-by-row calculation করতে চান।


৩. COUNTX ফাংশন

COUNTX ফাংশনটি iteration function যা একটি টেবিল বা এক্সপ্রেশন থেকে সারি ভিত্তিক গণনা করে এবং শর্ত পূর্ণ করা সারিগুলির সংখ্যা গননা করে। এটি সাধারণত ব্যবহার করা হয় যখন আপনি কোনো নির্দিষ্ট শর্ত অনুযায়ী সারি গণনা করতে চান।

Syntax:

COUNTX(<table>, <expression>)
  • : এটি সেই টেবিল বা এক্সপ্রেশন যার উপর সারি ভিত্তিক গণনা করা হবে।
  • : এটি সেই ক্যালকুলেশন যা শর্তে পরীক্ষা করা হবে। এই মানটি TRUE হলে গোনা হবে।

ব্যবহার:

ধরা যাক, আপনি Sales টেবিলের মধ্যে এমন সারিগুলির সংখ্যা গননা করতে চান, যেখানে SalesAmount 1000 এর বেশি:

Count High Sales = COUNTX(Sales, IF(Sales[SalesAmount] > 1000, 1, 0))

এখানে:

  • COUNTX ফাংশনটি Sales টেবিলের প্রতিটি সারির জন্য SalesAmount শর্ত পরীক্ষা করবে।
  • যদি SalesAmount 1000 এর বেশি হয়, তবে এটি 1 ফিরিয়ে দেবে এবং COUNTX এই মানগুলির সংখ্যা গননা করবে।

Real-World Application:

এটি ব্যবহার করা যেতে পারে যেখানে আপনি একটি নির্দিষ্ট শর্ত (যেমন, বিক্রয় পরিমাণ) পূর্ণ করা সারির সংখ্যা দেখতে চান। উদাহরণস্বরূপ, আপনি সব পণ্য বা অঞ্চলের মধ্যে high sales গুলো গণনা করতে পারেন।


৪. Iteration Functions: Differences and Use Cases

FunctionDescriptionUse Case
SUMXসারি ভিত্তিক গণনা করে, তারপর তাদের যোগফল বের করে।একাধিক কলামের মান গুণফল বা যোগফল বের করার জন্য ব্যবহৃত।
AVERAGEXসারি ভিত্তিক গণনা করে, তারপর তাদের গড় বের করে।একটি টেবিল বা এক্সপ্রেশন থেকে গড় মান বের করার জন্য ব্যবহৃত।
COUNTXসারি ভিত্তিক গণনা করে, শর্ত পূর্ণ করা সারির সংখ্যা গননা করে।একটি নির্দিষ্ট শর্ত পূর্ণ করা সারির সংখ্যা গননা করার জন্য ব্যবহৃত।

৫. Performance Considerations for Iteration Functions

Iteration Functions (যেমন SUMX, AVERAGEX, COUNTX) ব্যবহার করার সময় কিছু পারফরম্যান্স সতর্কতা অবলম্বন করা প্রয়োজন:

  1. Large Datasets: বড় ডেটাসেটে iteration functions ব্যবহার করার সময় পারফরম্যান্সে সমস্যা হতে পারে, কারণ এটি প্রতিটি সারি আলাদাভাবে প্রক্রিয়া করে। সুতরাং, যখন সম্ভব হয়, কমপ্লেক্স calculated columns বা measures তৈরি করার জন্য এগুলি ব্যবহার করুন।
  2. Simplifying Expressions: Iteration functions এর মধ্যে যদি কমপ্লেক্স এক্সপ্রেশন থাকে, তবে তা সরলীকরণ করা উচিত, যাতে ফাংশনগুলি দ্রুত কার্যকরী হয়।
  3. Using Variables: Variables ব্যবহার করলে আপনার এক্সপ্রেশনগুলিকে আরও দ্রুত এবং কার্যকরী করা যায়, কারণ এটি একাধিক বার একই গণনা করতে বাধা দেয়।

সারাংশ

SUMX, AVERAGEX, এবং COUNTX হল DAX এর iteration functions, যা row-by-row calculations করতে ব্যবহৃত হয় এবং একটি টেবিল বা এক্সপ্রেশন থেকে যোগফল, গড় বা শর্ত পূর্ণ করা সারির সংখ্যা বের করতে সহায়ক। এই ফাংশনগুলি ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে অত্যন্ত গুরুত্বপূর্ণ, বিশেষ করে যখন আপনাকে conditional calculations বা aggregations করতে হয়। Performance optimization এবং simplifying expressions করার মাধ্যমে এই ফাংশনগুলির কার্যক্ষমতা বৃদ্ধি করা যায়, যা Power BI এবং Excel-এ দ্রুত বিশ্লেষণ এবং রিপোর্ট তৈরি করতে সাহায্য করে।

Content added By
Promotion