DAX (Data Analysis Expressions) হলো একটি শক্তিশালী ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX formulas সঠিকভাবে তৈরি করা খুবই গুরুত্বপূর্ণ, কারণ একটি পরিষ্কার এবং পাঠযোগ্য (readable) ফর্মুলা ডেটা বিশ্লেষণকে সহজ করে এবং অন্যদের জন্য এক্সপ্রেশনগুলো বুঝতে সুবিধা হয়।
এই প্রবন্ধে, আমরা clean এবং readable DAX formulas তৈরি করার জন্য কিছু গুরুত্বপূর্ণ কৌশল এবং সেরা অভ্যাস নিয়ে আলোচনা করব। এগুলির মাধ্যমে আপনি DAX কোড লেখার প্রক্রিয়াকে আরও সহজ এবং সঠিকভাবে সম্পন্ন করতে পারবেন।
১. Variables ব্যবহার করুন
Variables ব্যবহারের মাধ্যমে DAX formulas সহজ এবং পরিষ্কার করা যায়। DAX কোডের মধ্যে বারবার একই ক্যালকুলেশন বা এক্সপ্রেশন ব্যবহার না করার জন্য variables ব্যবহার করা উচিত। এটি কোডের গঠন উন্নত করে এবং এক্সপ্রেশনগুলিকে পুনঃব্যবহারযোগ্য করে তোলে।
Best Practice:
- Variables ব্যবহার করে এক্সপ্রেশনগুলিকে সংরক্ষণ করুন, যাতে সেগুলি পুনরায় ব্যবহার করা যায়।
- একাধিক বার এক্সপ্রেশন না লিখে, variables ব্যবহার করুন, যা কোডের কার্যকারিতা বৃদ্ধি করে।
Example:
ধরা যাক, আপনি Total Sales এবং Discounted Sales এর মধ্যে পার্থক্য বের করতে চান, তবে আপনি variables ব্যবহার করে এক্সপ্রেশনগুলিকে সংরক্ষণ করতে পারেন:
Sales Difference =
VAR TotalSales = SUM(Sales[Amount])
VAR DiscountedSales = SUM(Sales[Amount]) - SUM(Sales[Discount])
RETURN TotalSales - DiscountedSales
এখানে, TotalSales এবং DiscountedSales ভ্যারিয়েবল হিসেবে সংরক্ষণ করা হয়েছে, যাতে কোডটি সহজ এবং পরিষ্কার হয়।
২. Meaningful Variable and Column Names ব্যবহার করুন
DAX formulas লেখার সময়, meaningful এবং descriptive নাম ব্যবহার করুন। এটি কোডের পাঠযোগ্যতা এবং অন্যান্য ব্যবহারকারীদের জন্য এক্সপ্রেশনগুলি বোঝা সহজ করে তোলে।
Best Practice:
- Clear and Descriptive Names ব্যবহার করুন, যেন অন্য কেউ আপনার DAX formula পড়লে সেটির কার্যকারিতা সহজেই বুঝতে পারে।
- Avoid abbreviations unless they are widely understood within your organization.
Example:
এখানে, একটি পরিষ্কার নামের সাথে একটি সহজ DAX formula দেখানো হচ্ছে:
Total Revenue After Discount = SUM(Sales[Amount]) - SUM(Sales[DiscountAmount])
এটি সুনির্দিষ্টভাবে কী ক্যালকুলেট করা হচ্ছে তা নির্দেশ করে, এবং সহজেই বুঝতে পারা যায়।
৩. Indentation এবং Spacing ব্যবহার করুন
Indentation এবং spacing কোডের পাঠযোগ্যতা বৃদ্ধি করে। DAX formulas লেখার সময় কোডে সঠিকভাবে স্পেসিং এবং ইনডেন্টেশন ব্যবহার করুন যাতে ফর্মুলা পরিষ্কার এবং সহজে পড়া যায়।
Best Practice:
- যখন আপনার DAX formula অনেক দীর্ঘ হয়, তখন indentation এবং line breaks ব্যবহার করুন।
- এক্সপ্রেশনগুলির মধ্যে সঠিকভাবে স্পেস রাখুন যাতে কোডটি সুসংগঠিত এবং পরিষ্কার হয়।
Example:
Sales Percentage Change =
VAR LastYearSales = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Sales[Date]))
VAR ThisYearSales = SUM(Sales[Amount])
RETURN
(ThisYearSales - LastYearSales) / LastYearSales
এখানে, variables এবং RETURN অংশ সঠিকভাবে ইনডেন্ট করা হয়েছে, যাতে কোডটি আরও পরিষ্কার এবং পাঠযোগ্য হয়।
৪. Avoid Hardcoding Values
Hardcoding মানগুলি DAX formulas-এ ব্যবহার করা উচিত নয়, কারণ এটি কোডের পুনঃব্যবহারযোগ্যতা কমিয়ে দেয় এবং সহজে ত্রুটি তৈরি করতে পারে। পরিবর্তে, ডাইনামিক মান ব্যবহার করার চেষ্টা করুন যা পরিবর্তনশীল।
Best Practice:
- Hardcoded values সরিয়ে ফেলুন এবং পরিবর্তে ডেটা মডেল থেকে মানগুলি রেফারেন্স করুন।
- যখন প্রয়োজন হয়, parameterized ফাংশন ব্যবহার করুন।
Example:
ধরা যাক, আপনি Sales টেবিলের বিক্রয় পরিমাণ বের করতে চান, যেখানে Region “North”:
Total Sales in Region =
CALCULATE(
SUM(Sales[Amount]),
Sales[Region] = "North"
)
এখানে, “North” মানটি hardcoded আছে। তবে এই মানটি যদি পরবর্তীতে পরিবর্তন করতে হয়, তা তখন সমস্যা সৃষ্টি করতে পারে। পরিবর্তে, parameters বা slicers ব্যবহার করা ভালো।
৫. Use Simple Expressions Whenever Possible
DAX formulas লেখার সময়, যতটা সম্ভব simple expressions ব্যবহার করুন। জটিল এবং বড় এক্সপ্রেশন ব্যবহার করলে কোড বোঝা এবং ট্রাবলশুটিং করা কঠিন হতে পারে। তাই চেষ্টা করুন এক্সপ্রেশনগুলো সহজ এবং সংক্ষিপ্ত রাখার।
Best Practice:
- Simple expressions ব্যবহার করুন এবং অপ্রয়োজনীয় nested functions এড়ান।
- যদি প্রয়োজন হয়, কোডের ভাগগুলি আলাদা করে লিখুন।
Example:
এখানে একটি simple DAX expression দেওয়া হলো যা Product Sales বের করবে:
Total Product Sales = SUMX(Sales, Sales[Quantity] * Sales[UnitPrice])
এটি খুব সোজা এবং পরিষ্কার, কোন অতিরিক্ত জটিলতা ছাড়াই।
৬. Use Comments for Complex Calculations
যখন আপনার DAX formulas জটিল হয়, তখন সেই কোডের মধ্যে মন্তব্য (comments) ব্যবহার করুন। এটি অন্যদের জন্য কোডটি বোঝা সহজ করে তোলে এবং ভবিষ্যতে কোডের কাজ সম্পর্কে একটি রেফারেন্স হিসেবে ব্যবহৃত হতে পারে।
Best Practice:
- Comments ব্যবহার করুন যাতে আপনার কোডের উদ্দেশ্য এবং কার্যকারিতা পরিষ্কার হয়।
- মন্তব্যগুলো কোডের পাশে রাখুন, যেখানে প্রয়োজন।
Example:
-- Calculate Total Sales for the Current Year
Total Sales CY =
CALCULATE(
SUM(Sales[Amount]),
YEAR(Sales[Date]) = YEAR(TODAY())
)
এখানে, comment দিয়ে কোডের উদ্দেশ্য ব্যাখ্যা করা হয়েছে, যাতে এটি বুঝতে সুবিধা হয়।
৭. Avoid Using TOO Many Nested Functions
যখন আপনি অনেক nested functions ব্যবহার করেন, তখন কোডটি অপরিষ্কার হয়ে যায়। অতিরিক্ত nested functions থেকে বিরত থাকুন এবং যতটা সম্ভব কোডকে সহজ রাখুন।
Best Practice:
- Nested functions ব্যবহার করতে হলে, সেগুলিকে ছোট ছোট অংশে ভেঙে ফেলুন, যাতে কোড পরিষ্কার হয়।
Example:
এখানে একটি জটিল nested function:
Final Amount = IF(Sales[Amount] > 1000, Sales[Amount] * 0.9, Sales[Amount])
এটি যদি আরও পরিষ্কার করা যায়, তবে এটা হবে:
-- Apply discount if the sale amount is greater than 1000
Discounted Sales =
IF(
Sales[Amount] > 1000,
Sales[Amount] * 0.9,
Sales[Amount]
)
সারাংশ
Clean এবং readable DAX formulas তৈরি করা ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশনকে অনেক সহজ এবং কার্যকরী করে তোলে। Variables ব্যবহার করা, সঠিক নাম নির্বাচন করা, indentation এবং spacing বজায় রাখা, এবং comments ব্যবহার করা কিছু সেরা অভ্যাস যা আপনার DAX ফর্মুলাগুলিকে পরিষ্কার এবং আরও পাঠযোগ্য করে তোলে। এই সেরা অভ্যাসগুলি অনুসরণ করলে আপনি সহজে এবং দক্ষতার সাথে DAX queries এবং formulas তৈরি করতে পারবেন।
Read more