DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। Date Table বা Calendar Table তৈরি করা ডেটা বিশ্লেষণে অত্যন্ত গুরুত্বপূর্ণ, কারণ এটি Time Intelligence ফাংশনগুলি ব্যবহার করে সময়ভিত্তিক বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে সাহায্য করে। Custom Calendar বা Date Table তৈরি করার মাধ্যমে আপনি আপনার ডেটাকে আরও কার্যকরভাবে বিশ্লেষণ করতে পারেন, যেমন YTD (Year-To-Date), QTD (Quarter-To-Date), এবং MTD (Month-To-Date) বিশ্লেষণ করতে।
এই প্রবন্ধে, আমরা Custom Calendar এবং Date Table তৈরি করার প্রক্রিয়া এবং DAX-এর মাধ্যমে কীভাবে এটি করা যায় তা বিস্তারিতভাবে আলোচনা করব।
১. Custom Calendar বা Date Table কেন প্রয়োজন?
Date Table বা Calendar Table হল একটি টেবিল যা সময়ের সমস্ত ডেটা ধারণ করে, যেমন তারিখ, মাস, ত্রৈমাসিক, বছর, এবং অন্যান্য সময়ভিত্তিক মেট্রিক্স। এটি Time Intelligence ফাংশনগুলির জন্য অত্যন্ত গুরুত্বপূর্ণ, কারণ DAX এর সময়ভিত্তিক ক্যালকুলেশন সঠিকভাবে কাজ করার জন্য একটি পূর্ণাঙ্গ Date Table প্রয়োজন।
Custom Calendar বা Date Table তৈরি করার সুবিধাগুলি:
- Time Intelligence ফাংশনগুলির সঠিক ব্যবহার।
- Quarterly, Monthly, বা Yearly ভিত্তিক বিশ্লেষণ করা সহজ।
- Date Filtering এবং Date Slicing করতে সহায়ক।
২. Custom Date Table তৈরি করার প্রক্রিয়া
DAX-এ একটি Custom Date Table তৈরি করার জন্য আপনি সাধারণত CALENDAR বা CALENDARAUTO ফাংশন ব্যবহার করেন।
CALENDAR ফাংশন
CALENDAR ফাংশনটি দুটি তারিখের মধ্যে একটি টেবিল তৈরি করে, যেখানে প্রতিটি সারিতে একটি পৃথক তারিখ থাকবে।
Syntax:
CALENDAR(<start_date>, <end_date>)
- <start_date>: যে তারিখ থেকে ক্যালেন্ডার শুরু হবে।
- <end_date>: যে তারিখে ক্যালেন্ডার শেষ হবে।
ব্যবহার:
ধরা যাক, আপনি 2010-01-01 থেকে 2025-12-31 পর্যন্ত একটি কাস্টম ক্যালেন্ডার তৈরি করতে চান, তাহলে আপনি এই DAX কোডটি ব্যবহার করবেন:
Custom Date Table = CALENDAR(DATE(2010, 1, 1), DATE(2025, 12, 31))
এটি একটি নতুন Date Table তৈরি করবে, যা 2010-01-01 থেকে 2025-12-31 পর্যন্ত সমস্ত তারিখ ধারণ করবে।
CALENDAR ফাংশনের মাধ্যমে এক্সটেনশন:
আপনি CALENDAR ফাংশনটির মাধ্যমে কাস্টম ক্যালেন্ডারে অতিরিক্ত কলাম যেমন Year, Month, Quarter যোগ করতে পারেন:
Custom Date Table =
ADDCOLUMNS(
CALENDAR(DATE(2010, 1, 1), DATE(2025, 12, 31)),
"Year", YEAR([Date]),
"Month", MONTH([Date]),
"Quarter", QUARTER([Date]),
"Month Name", FORMAT([Date], "MMMM"),
"Year-Month", FORMAT([Date], "YYYY-MM")
)
এখানে:
- ADDCOLUMNS ফাংশনটি নতুন কলাম যোগ করছে যেমন Year, Month, Quarter, Month Name, এবং Year-Month।
- YEAR, MONTH, QUARTER, FORMAT ফাংশনগুলো Date কলামের উপর বিভিন্ন ফরম্যাটে ডেটা প্রদান করছে।
CALENDARAUTO ফাংশন
CALENDARAUTO ফাংশনটি একটি Date Table তৈরি করে, যা ডেটার পরিসীমা স্বয়ংক্রিয়ভাবে ডেটার সর্বনিম্ন এবং সর্বোচ্চ মানের উপর ভিত্তি করে নির্ধারণ করে। এটি সবচেয়ে উপকারী যখন আপনি Date Table তৈরি করতে চান, তবে সঠিক start date এবং end date নির্ধারণ করতে চান না।
Syntax:
CALENDARAUTO([<month_end>])
- <month_end>: এই প্যারামিটারটি ঐচ্ছিক এবং এটি ডেটা শেষের মাসের দিন নির্ধারণ করে। এটি সাধারণত 1 বা 12 হতে পারে (যেখানে 1 হচ্ছে জানুয়ারী এবং 12 হচ্ছে ডিসেম্বর)।
ব্যবহার:
ধরা যাক, আপনি Sales টেবিলের Date কলাম থেকে সর্বনিম্ন এবং সর্বোচ্চ তারিখ ব্যবহার করে একটি Date Table তৈরি করতে চান:
Date Table = CALENDARAUTO()
এটি Sales টেবিলের Date কলাম থেকে ডেটার পরিসীমা নিয়ে একটি কাস্টম ক্যালেন্ডার তৈরি করবে।
৩. Date Table-এ অতিরিক্ত কলাম যোগ করা
যদি আপনি Date Table-এ আরও নির্দিষ্ট কলাম যেমন Weekday, Day Name, Week Number ইত্যাদি যোগ করতে চান, তবে আপনি ADDCOLUMNS ব্যবহার করতে পারেন। উদাহরণ:
Custom Date Table =
ADDCOLUMNS(
CALENDAR(DATE(2010, 1, 1), DATE(2025, 12, 31)),
"Year", YEAR([Date]),
"Month", MONTH([Date]),
"Quarter", QUARTER([Date]),
"Month Name", FORMAT([Date], "MMMM"),
"Weekday", WEEKDAY([Date]),
"Week Number", WEEKNUM([Date])
)
এখানে:
- WEEKDAY ফাংশনটি দিনটির সপ্তাহের দিনের সংখ্যা ফেরত দেয়।
- WEEKNUM ফাংশনটি দিনটির সপ্তাহ নম্বর প্রদান করে।
৪. Date Table ব্যবহার করা
একবার Date Table তৈরি করার পর, এটি Power BI বা Excel ডেটা মডেলিংয়ে ব্যবহার করা হয়। এটি Time Intelligence ক্যালকুলেশন, date slicing, এবং dynamic filtering এর জন্য অত্যন্ত কার্যকরী। কিছু সাধারণ Time Intelligence ক্যালকুলেশন যেমন Year-to-Date, Month-to-Date, Quarter-to-Date এবং Same Period Last Year DAX ফাংশনগুলি ব্যবহার করা হয়।
Example: Year-to-Date (YTD) Calculation
YTD Sales = TOTALYTD(SUM(Sales[Amount]), Sales[Date])
এটি Sales টেবিলের Amount কলামের Year-to-Date (YTD) মোট বিক্রয় বের করবে।
Example: Same Period Last Year
Sales Last Year = SAMEPERIODLASTYEAR(Sales[Date])
এটি Sales টেবিলের Date কলামের গত বছরের একই সময়ের বিক্রয় পরিমাণ বের করবে।
৫. Date Table এর জন্য Best Practices
- Use a Continuous Date Range: Date Table নিশ্চিত করুন যে এটি continuous date range ব্যবহার করছে এবং সব দিন অন্তর্ভুক্ত করছে।
- Mark as Date Table: Power BI বা Excel ডেটা মডেলিংয়ে, Date Table তৈরি করার পরে, এটি Mark as Date Table হিসেবে চিহ্নিত করুন যাতে DAX তারিখ ফাংশনগুলি সঠিকভাবে কাজ করতে পারে।
- Use Appropriate Granularity: নিশ্চিত করুন যে আপনার Date Table যথাযথ granularity (দিন, মাস, বছর) সহ তৈরি করা হয়েছে, যা আপনার বিশ্লেষণ প্রয়োজন অনুযায়ী।
সারাংশ
Custom Calendar বা Date Table তৈরি করা DAX-এ অত্যন্ত গুরুত্বপূর্ণ, বিশেষত Time Intelligence ক্যালকুলেশন এবং সময়ভিত্তিক বিশ্লেষণের জন্য। CALENDAR, CALENDARAUTO, এবং ADDCOLUMNS ফাংশন ব্যবহার করে আপনি কাস্টম ক্যালেন্ডার তৈরি করতে পারেন এবং এটি Power BI বা Excel ডেটা মডেলিংয়ে কার্যকরী বিশ্লেষণ করতে সাহায্য করবে। Date Table-এর সাহায্যে আপনি YTD, QTD, MTD, এবং অন্যান্য সময়ভিত্তিক ক্যালকুলেশন সহজেই করতে পারবেন।
Read more