DAX (Data Analysis Expressions) হল একটি এক্সপ্রেশন ভাষা যা মূলত Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ডেটা বিশ্লেষণ, রিপোর্ট তৈরি এবং কাস্টম ক্যালকুলেশন করার জন্য ব্যবহৃত হয়। DAX ফাংশনগুলি বিশেষভাবে conditional logic এবং error handling করতে সাহায্য করে। এর মধ্যে IF এবং IFERROR দুটি গুরুত্বপূর্ণ ফাংশন যেগুলি শর্ত অনুযায়ী ডেটা বিশ্লেষণ এবং ত্রুটি মোকাবেলা করতে ব্যবহৃত হয়।
এই প্রবন্ধে, আমরা IF এবং IFERROR ফাংশনের ব্যবহার এবং তাদের মধ্যে পার্থক্য নিয়ে বিস্তারিত আলোচনা করব।
IF ফাংশন
IF ফাংশনটি DAX-এর একটি লজিক্যাল ফাংশন যা নির্দিষ্ট শর্তের উপর ভিত্তি করে দুটি সম্ভাব্য ফলাফল প্রদান করে। এটি মূলত logical test করতে ব্যবহৃত হয়, যার ফলে TRUE বা FALSE ফিরিয়ে আনা হয় এবং সেই অনুযায়ী দুটি আলাদা মান প্রদান করা হয়।
IF ফাংশনের গঠন:
IF(<logical_test>, <value_if_true>, <value_if_false>)
- logical_test: এটি সেই শর্ত বা পরীক্ষা যা যাচাই করা হবে।
- value_if_true: যদি শর্তটি TRUE হয়, তবে এই মানটি ফিরিয়ে দেয়।
- value_if_false: যদি শর্তটি FALSE হয়, তবে এই মানটি ফিরিয়ে দেয়।
IF ফাংশনের উদাহরণ:
বিক্রয় পরিমাণের ভিত্তিতে মূল্যায়ন:
Sales Status = IF(Sales[Amount] > 10000, "High", "Low")এখানে, Sales[Amount] কলামের মান ১০,০০০ এর বেশি হলে High, অন্যথায় Low দেখাবে।
এগিয়ে যাবার জন্য পারফরম্যান্স পরীক্ষা:
Performance Check = IF(Employee[Score] >= 80, "Pass", "Fail")এখানে, যদি Employee[Score] ৮০ বা তার বেশি হয়, তবে Pass ফিরিয়ে দেয়, অন্যথায় Fail ফিরিয়ে দেয়।
অথবা একাধিক শর্তযুক্ত IF ফাংশন:
Performance Level = IF(Sales[Amount] > 10000, "Excellent", IF(Sales[Amount] > 5000, "Good", "Poor"))এখানে, Sales[Amount] অনুযায়ী একাধিক শর্ত নির্ধারণ করা হয়েছে, যেমন যদি ১০,০০০ এর বেশি হয় তবে Excellent, ৫,০০০ এর বেশি হলে Good, এবং অন্যথায় Poor।
IFERROR ফাংশন
IFERROR ফাংশনটি DAX-এ একটি গুরুত্বপূর্ণ ফাংশন যা সাধারণত ত্রুটি মোকাবেলা করতে ব্যবহৃত হয়। যখন কোনো ফাংশন বা ক্যালকুলেশন error (যেমন, divide by zero বা invalid data) সৃষ্টি করে, তখন IFERROR ফাংশন সেই ত্রুটির জন্য একটি নির্দিষ্ট মান প্রদান করে।
IFERROR ফাংশনের গঠন:
IFERROR(<expression>, <value_if_error>)
- expression: এটি সেই ক্যালকুলেশন বা ফাংশন যা পরীক্ষা করা হবে।
- value_if_error: যদি expression ত্রুটি সৃষ্টি করে, তবে এই মানটি ফিরিয়ে দেয়।
IFERROR ফাংশনের উদাহরণ:
ডিভাইড বাই জিরো ত্রুটি প্রতিরোধ:
Safe Division = IFERROR(Sales[Revenue] / Sales[Quantity], 0)এখানে, যদি Sales[Quantity] ০ থাকে এবং division by zero এর ত্রুটি তৈরি হয়, তবে 0 প্রদান করা হবে।
অবৈধ ডেটা ত্রুটি মোকাবেলা:
Discount Calculation = IFERROR(Sales[Amount] * Sales[Discount], 0)এখানে, যদি Sales[Discount] বা Sales[Amount] ত্রুটিপূর্ণ বা শূন্য মান প্রদান করে, তবে ফলস্বরূপ 0 ফিরিয়ে দেয়।
ফাইল লোড ত্রুটি মোকাবেলা:
Sales Check = IFERROR(Sales[Amount] / Sales[Tax Rate], "Invalid Data")এখানে, যদি Sales[Tax Rate] ০ হয় বা অন্য কোনো কারণে ত্রুটি ঘটে, তবে "Invalid Data" পাঠানো হবে।
IF এবং IFERROR এর মধ্যে পার্থক্য
| বিষয় | IF ফাংশন | IFERROR ফাংশন |
|---|---|---|
| মূল উদ্দেশ্য | শর্ত অনুযায়ী দুটি মানের মধ্যে নির্বাচন করতে ব্যবহৃত। | ত্রুটি বা ত্রুটি সৃষ্টিকারী মানে বিকল্প মান প্রদান করতে ব্যবহৃত। |
| শর্ত | শর্ত পূর্ণ হলে একটি ফলাফল এবং শর্ত পূর্ণ না হলে অন্য একটি ফলাফল প্রদান করে। | শুধুমাত্র ত্রুটি সৃষ্টিকারী ক্যালকুলেশন বা ফাংশন সনাক্ত করে। |
| ত্রুটি মোকাবেলা | ত্রুটি মোকাবেলার জন্য ব্যবহৃত হয় না। | ত্রুটি সনাক্ত করার পর একটি নির্দিষ্ট ফলাফল প্রদান করে। |
| কেস | শর্তের উপর ভিত্তি করে দুটি মান নির্বাচন করে। | একটি ক্যালকুলেশন বা ফাংশন যদি ত্রুটি উৎপন্ন করে, তবে বিকল্প মান প্রদান করে। |
সারাংশ
IF এবং IFERROR উভয়ই DAX ফাংশনে অত্যন্ত গুরুত্বপূর্ণ এবং তাদের নিজস্ব উদ্দেশ্যে ব্যবহৃত হয়। IF ফাংশনটি শর্তাধীন পরীক্ষা করতে ব্যবহৃত হয়, যেখানে শর্ত সঠিক হলে একটি মান এবং ভুল হলে অন্য একটি মান প্রদান করা হয়। অপরদিকে, IFERROR ফাংশনটি ত্রুটি সৃষ্টিকারী ক্যালকুলেশনগুলির জন্য বিকল্প মান প্রদান করে, যা ত্রুটি নির্মূল করতে সাহায্য করে। DAX এর এই দুটি ফাংশন ব্যবহার করে আপনি ডেটা বিশ্লেষণের ক্ষেত্রে আরও কার্যকরী ক্যালকুলেশন তৈরি করতে পারেন, বিশেষত যখন শর্ত বা ত্রুটি মোকাবেলা করা প্রয়োজন হয়।
Read more