DAX (Data Analysis Expressions) হল একটি ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন করার জন্য। EARLIER ফাংশনটি DAX-এর একটি শক্তিশালী ফাংশন যা row context এবং filter context ব্যবহারের মাধ্যমে পূর্ববর্তী সারির মান রেফারেন্স করতে সাহায্য করে।
EARLIER ফাংশনটি সাধারণত calculated columns বা iterative functions-এ ব্যবহৃত হয়, যেখানে প্রতিটি সারির জন্য একটি মান গণনা করতে হয় এবং পূর্ববর্তী সারির মানের সাথে তুলনা করতে হয়।
EARLIER Function এর Syntax
EARLIER ফাংশনের সেন্ট্যাক্স হলো:
EARLIER(<expression>, <n>)
- : এটি একটি এক্সপ্রেশন বা কলাম যা আপনি পূর্ববর্তী রো (row) থেকে রেফারেন্স করতে চান।
- : এটি অপশনাল আর্গুমেন্ট যা ডেটার লেভেল (level) বা কনটেক্সটের সংখ্যা নির্ধারণ করে। সাধারণত একক আর্গুমেন্ট দিয়ে কাজ করা হয়।
EARLIER ফাংশনটি সাধারণত iterative functions বা row context-এর মধ্যে ব্যবহৃত হয়, যেমন SUMX, FILTER, ADDCOLUMNS, ইত্যাদি, যেখানে বর্তমান রো বা সারির উপর একটি হিসাব করতে গিয়ে পূর্ববর্তী রো (row) এর মানের প্রয়োজন হয়।
EARLIER Function এর ব্যবহার
EARLIER ফাংশনটি ব্যবহার করার প্রধান উদ্দেশ্য হল একটি previous row reference (পূর্ববর্তী সারির রেফারেন্স) তৈরি করা এবং সেই রেফারেন্স ব্যবহার করে কাস্টম ক্যালকুলেশন তৈরি করা। এটি সাধারণত calculated column তৈরি করার সময় ব্যবহৃত হয়।
ব্যবহার উদাহরণ:
ধরা যাক, আমাদের একটি Sales টেবিল আছে, যেখানে ProductID, SalesAmount, এবং Discount কলাম রয়েছে। আমরা SalesAmount এবং Discount এর গুণফল বের করতে চাই এবং প্রতিটি রো (row) এর জন্য previous row এর SalesAmount এর সাথে তুলনা করতে চাই। এখানে EARLIER ফাংশনটি ব্যবহৃত হবে।
Sales with Previous =
ADDCOLUMNS(
Sales,
"Prev Sales",
EARLIER(Sales[SalesAmount], 1),
"Sales Difference",
Sales[SalesAmount] - EARLIER(Sales[SalesAmount], 1)
)
এই ফর্মুলাটি দুটি নতুন কলাম তৈরি করবে:
- Prev Sales: বর্তমান সারির আগের SalesAmount মান (previous row reference)।
- Sales Difference: বর্তমান সারির SalesAmount এবং আগের সারির SalesAmount এর মধ্যে পার্থক্য।
এখানে EARLIER(Sales[SalesAmount], 1) ব্যবহৃত হয়েছে, যেখানে:
- প্রথম আর্গুমেন্ট Sales[SalesAmount] নির্দেশ করছে যে আমরা কোন কলাম থেকে মান নিতে চাই।
- দ্বিতীয় আর্গুমেন্ট 1 নির্দেশ করছে যে এটি একটি পূর্ববর্তী সারির রেফারেন্স।
EARLIER Function এর বাস্তব ব্যবহার
EARLIER ফাংশনটি ব্যবসায়িক বিশ্লেষণে বিশেষভাবে কার্যকরী, যেখানে আপনি একটি calculated column এর জন্য শর্তাবলীর ভিত্তিতে মান তুলনা করতে চান। এটি iterative calculations-এ ব্যবহৃত হয়, যেখানে আপনি একটি সারির মানের সাথে পূর্ববর্তী সারির মানের তুলনা করতে চান, যেমন:
- Cumulative calculations
- Running totals
- Comparing current and previous values
উদাহরণ ১: Running Total Calculation
ধরা যাক, আপনি Sales টেবিলের জন্য running total (মোট বিক্রয়) হিসাব করতে চান, যেখানে প্রতি সারির জন্য আগের সারির SalesAmount যোগ করা হবে:
Running Total =
CALCULATE(
SUM(Sales[SalesAmount]),
FILTER(
Sales,
Sales[ProductID] <= EARLIER(Sales[ProductID])
)
)
এটি একটি running total তৈরি করবে, যেখানে SalesAmount এর মোট যোগফল প্রতিটি সারির জন্য যোগ করা হবে।
উদাহরণ ২: Previous Row Comparison
আপনি যদি Sales টেবিলের জন্য SalesAmount এবং Discount এর উপর ভিত্তি করে আগের সারির মানের সাথে তুলনা করতে চান:
Sales Difference =
Sales[SalesAmount] - EARLIER(Sales[SalesAmount], 1)
এখানে:
- Sales[SalesAmount] বর্তমান সারির SalesAmount।
- EARLIER(Sales[SalesAmount], 1) আগের সারির SalesAmount।
এটি Sales Difference তৈরি করবে, যা প্রতিটি সারির জন্য বর্তমান এবং পূর্ববর্তী বিক্রয়ের পার্থক্য দেখাবে।
EARLIER Function এর সুবিধা
- Previous Row Reference: EARLIER ফাংশনটি পূর্ববর্তী সারির মানের রেফারেন্স তৈরি করতে সহায়ক, যা অনেক সময় কাস্টম ক্যালকুলেশন তৈরি করতে দরকার হয়।
- Conditional Aggregation: এটি শর্ত অনুযায়ী aggregation করার জন্য খুবই কার্যকরী, যেখানে আপনি বর্তমান রো বা সারির মানের সাথে পূর্ববর্তী রো তুলনা করতে চান।
- Running Total and Cumulative Calculations: আপনি running totals এবং cumulative calculations করতে EARLIER ফাংশন ব্যবহার করতে পারেন।
- Iterative Calculations: যখন আপনাকে iterative বা লুপের মতো কাজ করতে হয়, যেখানে একটি রো এর মানের সাথে পূর্ববর্তী রো এর মান তুলনা করতে হয়, তখন EARLIER একটি শক্তিশালী টুল হিসেবে কাজ করে।
সারাংশ
EARLIER ফাংশনটি DAX-এ row context এবং previous row reference তৈরি করার জন্য একটি গুরুত্বপূর্ণ ফাংশন। এটি ব্যবহার করে আপনি একটি কাস্টম ক্যালকুলেশন তৈরি করতে পারেন যা পূর্ববর্তী সারির মানের সঙ্গে তুলনা করে একটি নতুন মান নির্ধারণ করে। এটি running totals, cumulative calculations, এবং iterative calculations করতে ব্যবহৃত হয় এবং ব্যবসায়িক বিশ্লেষণ এবং ডেটা মডেলিংয়ে অত্যন্ত কার্যকরী।
Read more