Power Pivot ব্যবহারকারীদের ডেটা বিশ্লেষণের জন্য DAX (Data Analysis Expressions) ফর্মুলা ব্যবহার করতে হয়, যা অত্যন্ত শক্তিশালী এবং নমনীয় ফাংশন প্রদান করে। DAX-এ অনেক ধরনের ফাংশন রয়েছে, যা ডেটা মডেলিং, কাস্টম ক্যালকুলেশন, এবং রিপোর্টিংয়ের জন্য অত্যন্ত কার্যকর। Advanced DAX Functions ব্যবহার করে আপনি আরও জটিল ক্যালকুলেশন করতে পারবেন এবং ডেটার উপর গভীর বিশ্লেষণ করতে পারবেন।
DAX Functions কী?
DAX একটি এক্সপ্রেশন ল্যাঙ্গুয়েজ যা Microsoft Power BI, Excel Power Pivot এবং SQL Server Analysis Services (SSAS) ব্যবহার করে ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন এবং মডেলিং করার জন্য ব্যবহৃত হয়। DAX ফাংশনগুলি সামারি ফাংশন (Aggregate functions), ফিল্টার ফাংশন (Filter functions), লজিক্যাল ফাংশন (Logical functions), তালিকা ফাংশন (Table functions) এবং টাইম-ইন্টেলিজেন্স ফাংশন (Time Intelligence functions) নিয়ে তৈরি।
Advanced DAX Functions
১. CALCULATE()
CALCULATE() ফাংশনটি খুবই শক্তিশালী এবং Power Pivot বা Power BI-তে খুব সাধারণভাবে ব্যবহৃত হয়। এটি নির্দিষ্ট ফিল্টার এবং কন্ডিশনের সাথে একটি ক্যালকুলেশন পুনঃগণনা করতে ব্যবহৃত হয়।
Sintax:
CALCULATE(<Expression>, <Filter1>, <Filter2>, ...)
ব্যবহার: যেমন আপনি যদি শুধুমাত্র ২০২৪ বছরের বিক্রির পরিমাণ বের করতে চান, তাহলে:
Total Sales 2024 = CALCULATE(SUM(Sales[Amount]), Sales[Year] = 2024)
২. FILTER()
FILTER() ফাংশনটি একটি টেবিলের নির্দিষ্ট রেকর্ড সিলেক্ট করতে ব্যবহৃত হয়, যা একটি শর্ত পূরণ করে।
Sintax:
FILTER(<Table>, <Condition>)
ব্যবহার: ধরা যাক, আপনি ১০০০ এর বেশি বিক্রি করা সমস্ত রেকর্ড চাচ্ছেন:
High Sales = FILTER(Sales, Sales[Amount] > 1000)
৩. ALL()
ALL() ফাংশনটি ডেটা সেট থেকে সমস্ত ফিল্টার মুছে দেয়। এটি সাধারণত এমন পরিস্থিতিতে ব্যবহৃত হয় যেখানে আপনি একটি নির্দিষ্ট হিসাবের জন্য পুরো টেবিল বা কলামকে ফিল্টার থেকে বাদ দিতে চান।
Sintax:
ALL(<TableOrColumn>)
ব্যবহার: উদাহরণস্বরূপ, Sales টেবিলের Amount কলামের উপর ভিত্তি করে ফিল্টার থেকে বাদ দিতে:
Total Sales (No Filter) = CALCULATE(SUM(Sales[Amount]), ALL(Sales[Amount]))
৪. SUMX()
SUMX() হলো একটি এক্সপ্রেশন যা একটি টেবিলের উপর লুপ করে, প্রতিটি রেকর্ডের জন্য একটি ক্যালকুলেশন করে এবং তারপর সেই ক্যালকুলেশনগুলোর মোট যোগফল প্রদান করে।
Sintax:
SUMX(<Table>, <Expression>)
ব্যবহার: যদি আপনি টেবিলের Quantity এবং Unit Price এর গুণফল যোগ করতে চান:
Total Revenue = SUMX(Sales, Sales[Quantity] * Sales[Unit Price])
৫. RELATED()
RELATED() ফাংশনটি এক টেবিল থেকে অন্য টেবিলের সম্পর্কিত ডেটা আনতে ব্যবহৃত হয়। এটি সাধারণত রিলেশনশিপ তৈরি করে এমন টেবিলের মধ্যে ডেটা সম্পর্ক স্থাপন করতে ব্যবহৃত হয়।
Sintax:
RELATED(<ColumnName>)
ব্যবহার: যেমন, আপনি যদি Sales টেবিল থেকে Product টেবিলের Product Name আনতে চান:
ProductName = RELATED(Product[ProductName])
Time Intelligence Functions
টাইম-ইন্টেলিজেন্স ফাংশনগুলি বিশেষভাবে তারিখ এবং সময় সম্পর্কিত বিশ্লেষণের জন্য ব্যবহৃত হয়। এগুলি ব্যবহার করে আপনি বিভিন্ন টাইম পিরিয়ডে (যেমন, মাস, বছর, ত্রৈমাসিক) ডেটার বিশ্লেষণ করতে পারবেন।
১. SAMEPERIODLASTYEAR()
এটি এক বছরের তুলনায় পূর্ববর্তী বছরের একই সময়ের ডেটা ফিরিয়ে দেয়।
Sintax:
SAMEPERIODLASTYEAR(<DateColumn>)
ব্যবহার: যেমন, আপনি যদি বর্তমান বছরের January মাসের বিক্রির পরিমাণ পূর্ববর্তী বছরের January মাসের বিক্রির সাথে তুলনা করতে চান:
Sales Last Year = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Date[Date]))
২. DATEADD()
DATEADD() ফাংশনটি নির্দিষ্ট তারিখে নির্দিষ্ট পরিমাণ সময় যোগ বা বিয়োগ করতে ব্যবহৃত হয়।
Sintax:
DATEADD(<DateColumn>, <NumberOfIntervals>, <Interval>)
ব্যবহার: যেমন, আপনি যদি বর্তমান বিক্রির পরিমাণ গত ৩ মাসের গড় বের করতে চান:
Sales Last 3 Months = CALCULATE(SUM(Sales[Amount]), DATEADD(Date[Date], -3, MONTH))
৩. TOTALYTD()
TOTALYTD() ফাংশনটি বর্তমান বছরের শুরু থেকে নির্দিষ্ট তারিখ পর্যন্ত মোট হিসাব করে।
Sintax:
TOTALYTD(<Expression>, <DateColumn>, <Filter>)
ব্যবহার: যেমন, আপনি যদি বছরের প্রথম থেকে আজ পর্যন্ত মোট বিক্রির পরিমাণ বের করতে চান:
YTD Sales = TOTALYTD(SUM(Sales[Amount]), Date[Date])
DAX ফাংশনের সুবিধা
- কাস্টম ক্যালকুলেশন: DAX আপনাকে ডেটার উপর নির্দিষ্ট কাস্টম ক্যালকুলেশন তৈরি করার ক্ষমতা দেয়।
- ডেটা সম্পর্ক: DAX রিলেশনাল ডেটাবেসের মতো টেবিলের মধ্যে সম্পর্ক তৈরি এবং বিশ্লেষণ করতে সক্ষম।
- টাইম-ইন্টেলিজেন্স: টাইম-ইন্টেলিজেন্স ফাংশনগুলি দিয়ে সহজে বিভিন্ন সময় ভিত্তিক বিশ্লেষণ করা যায়।
- পারফরম্যান্স: DAX ফাংশনগুলি উচ্চ পারফরম্যান্সের সাথে কাজ করে, কারণ এটি ইন-মেমরি প্রসেসিং টেকনোলজি ব্যবহার করে।
Power Pivot এর DAX Functions এবং Advanced Calculations ডেটা মডেলিং এবং বিশ্লেষণে অত্যন্ত কার্যকর। এগুলি ব্যবহার করে আপনি শক্তিশালী কাস্টম ক্যালকুলেশন, টাইম-ইন্টেলিজেন্স বিশ্লেষণ, এবং উন্নত রিপোর্ট তৈরি করতে পারেন। DAX আপনাকে Excel বা Power BI-তে আরও গভীর বিশ্লেষণ এবং আরও উচ্চ মানের সিদ্ধান্ত গ্রহণে সাহায্য করবে।
Power Pivot-এর Time Intelligence Functions হল বিশেষ ধরনের ফাংশন যা সময়ভিত্তিক বিশ্লেষণ করতে সাহায্য করে। এগুলি ব্যবহার করে আপনি বছরের শুরু থেকে, মাসের শুরু থেকে অথবা কোয়ার্টারের শুরু থেকে বিভিন্ন পরিসংখ্যান বের করতে পারেন। এই ফাংশনগুলো মূলত সময়কাল অনুযায়ী ডেটার বিশ্লেষণ করতে ব্যবহৃত হয়, যেমন: YTD (Year-to-Date), MTD (Month-to-Date), এবং QTD (Quarter-to-Date)। এই ফাংশনগুলো ব্যবহার করে আপনি ডেটার ধারাবাহিকতা এবং প্রবৃদ্ধি সহজে বিশ্লেষণ করতে পারেন।
Time Intelligence Functions কী?
Time Intelligence Functions হল DAX (Data Analysis Expressions) ফাংশনের একটি গ্রুপ, যা সময়কাল অনুযায়ী ডেটার পরিসংখ্যান গণনা করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, আপনি বছরে কত বিক্রি হয়েছে তা জানার জন্য YTD ফাংশন ব্যবহার করতে পারেন, বা মাসের প্রথম থেকে কত বিক্রি হয়েছে তা জানার জন্য MTD ব্যবহার করতে পারেন।
YTD, MTD, এবং QTD ফাংশনের ব্যাখ্যা
১. YTD (Year-to-Date)
YTD (Year-to-Date) ফাংশনটি বছরের শুরু থেকে বর্তমান তারিখ পর্যন্ত মোট পরিমাণ হিসাব করে। এটি বছরের প্রথম দিন থেকে আজ পর্যন্ত যে পরিমাণ বিক্রি বা অন্য কোনো পরিসংখ্যান হয়েছে, তা বের করতে ব্যবহৃত হয়।
DAX ফর্মুলা উদাহরণ:
YTD Sales = TOTALYTD(SUM(Sales[SalesAmount]), Date[Date])
এখানে, Sales[SalesAmount] হল বিক্রয়ের পরিমাণ এবং Date[Date] হল ডেটা টেবিলের তারিখ কলাম। এই ফর্মুলা বছরের প্রথম দিন থেকে আজ পর্যন্ত মোট বিক্রয়ের পরিমাণ হিসাব করবে।
২. MTD (Month-to-Date)
MTD (Month-to-Date) ফাংশনটি মাসের শুরু থেকে আজ পর্যন্ত মোট পরিমাণ গণনা করে। এটি মাসের প্রথম দিন থেকে বর্তমান তারিখ পর্যন্ত বিক্রয়ের পরিমাণ বা অন্যান্য পরিসংখ্যান বের করতে ব্যবহৃত হয়।
DAX ফর্মুলা উদাহরণ:
MTD Sales = TOTALMTD(SUM(Sales[SalesAmount]), Date[Date])
এখানে, Sales[SalesAmount] হল বিক্রয়ের পরিমাণ এবং Date[Date] হল মাসের তারিখ কলাম। এই ফর্মুলা মাসের প্রথম দিন থেকে আজ পর্যন্ত বিক্রয়ের পরিমাণ বের করবে।
৩. QTD (Quarter-to-Date)
QTD (Quarter-to-Date) ফাংশনটি বর্তমান কোয়ার্টারের শুরু থেকে আজ পর্যন্ত মোট পরিমাণ হিসাব করে। এটি কোয়ার্টারের শুরু থেকে বর্তমান তারিখ পর্যন্ত বিক্রয় বা অন্যান্য পরিসংখ্যান হিসাব করতে ব্যবহৃত হয়।
DAX ফর্মুলা উদাহরণ:
QTD Sales = TOTALQTD(SUM(Sales[SalesAmount]), Date[Date])
এখানে, Sales[SalesAmount] হল বিক্রয়ের পরিমাণ এবং Date[Date] হল ডেটা টেবিলের তারিখ কলাম। এই ফর্মুলা বর্তমান কোয়ার্টার থেকে শুরু করে আজ পর্যন্ত বিক্রয়ের পরিমাণ গণনা করবে।
Time Intelligence Functions এর ব্যবহার
১. YTD (Year-to-Date) ব্যবহার
YTD ফাংশন ব্যবহার করে আপনি বছরের মধ্যে সমস্ত বিক্রয়ের পরিমাণ, বা অন্য যে কোনো পরিসংখ্যান বের করতে পারেন। এটি বছরের শুরু থেকে আজ পর্যন্ত ডেটা অ্যাগ্রিগেট (aggregate) করতে সহায়তা করে।
উদাহরণস্বরূপ, আপনি যদি জানেন না যে বছরের কোন সময় কত বিক্রি হয়েছে, তবে YTD ফাংশনটি আপনাকে জানাবে বছরের প্রথম দিন থেকে আজ পর্যন্ত মোট বিক্রয়ের পরিমাণ।
২. MTD (Month-to-Date) ব্যবহার
MTD ফাংশন মাসের শুরু থেকে আজ পর্যন্ত মোট পরিমাণ বের করতে সহায়তা করে। এটি ব্যবহৃত হয় যদি আপনি জানতে চান একটি নির্দিষ্ট মাসের মধ্যে এখন পর্যন্ত কী পরিমাণ বিক্রি হয়েছে। উদাহরণস্বরূপ, যদি আপনি জানাতে চান ডিসেম্বর মাসে আজ পর্যন্ত কত বিক্রি হয়েছে, তাহলে MTD ফাংশনটি আপনার জন্য উপকারী।
৩. QTD (Quarter-to-Date) ব্যবহার
QTD ফাংশনটি কোয়ার্টারের প্রথম দিন থেকে বর্তমান দিন পর্যন্ত পরিমাণের হিসাব দেয়। এটি ব্যবহৃত হয় যদি আপনি কোনো কোয়ার্টারের মধ্যে সেলস বা অন্য পরিসংখ্যান বিশ্লেষণ করতে চান। উদাহরণস্বরূপ, আপনি জানাতে চান বর্তমান কোয়ার্টারে (যেমন, জানুয়ারী থেকে মার্চ) কত বিক্রি হয়েছে, তাহলে QTD ফাংশনটি ব্যবহার করতে পারেন।
Time Intelligence Functions এর সুবিধা
১. সময়ের ভিত্তিতে বিশ্লেষণ
Time Intelligence Functions আপনাকে সহজে সময়ভিত্তিক বিশ্লেষণ করতে সাহায্য করে। আপনি দ্রুত বছর, মাস, বা কোয়ার্টার ভিত্তিক ফলাফল বের করতে পারেন।
২. ডায়নামিক রিপোর্টিং
Time Intelligence Functions ব্যবহার করে আপনি ডায়নামিক রিপোর্ট তৈরি করতে পারবেন, যা সময়ের সাথে পরিবর্তিত হয়। এতে আপনার রিপোর্টিং আরো কার্যকর এবং সময়োপযোগী হবে।
৩. বছরের শুরু থেকে বর্তমান তারিখ পর্যন্ত বিশ্লেষণ
YTD, MTD, এবং QTD ফাংশন ব্যবহার করে আপনি সহজে বছরের, মাসের, বা কোয়ার্টারের শুরু থেকে বর্তমান তারিখ পর্যন্ত বিশ্লেষণ করতে পারেন। এটি বিশেষত ব্যবসায়িক বিশ্লেষণের জন্য উপকারী।
উপসংহার
Power Pivot-এর Time Intelligence Functions (YTD, MTD, QTD) আপনার ডেটা বিশ্লেষণকে আরও সহজ এবং দ্রুত করে তোলে। এগুলি ব্যবহার করে আপনি সময়ের ভিত্তিতে গুরুত্বপূর্ণ পরিসংখ্যানের গণনা করতে পারেন, যেমন বছরের প্রথম থেকে আজ পর্যন্ত বিক্রি (YTD), মাসের শুরু থেকে বিক্রি (MTD), বা কোয়ার্টারের শুরু থেকে বিক্রি (QTD)। Time Intelligence Functions আপনাকে সময়ভিত্তিক ডেটা বিশ্লেষণ এবং কার্যকরী রিপোর্ট তৈরি করার একটি শক্তিশালী উপায় প্রদান করে।
Power Pivot এ DAX (Data Analysis Expressions) ফর্মুলা ব্যবহার করে বিভিন্ন ধরনের গণনা এবং বিশ্লেষণ করা সম্ভব। Iteration Functions হল এমন ফাংশন যা একটি এক্সপ্রেশনকে প্রতিটি রো (row) বা রেকর্ডের জন্য মূল্যায়ন (evaluate) করে এবং তারপরে সেই মূল্যায়নের উপর ভিত্তি করে ফলাফল তৈরি করে। SUMX এবং AVERAGEX হল দুটি জনপ্রিয় Iteration Function যা Power Pivot-এ ব্যবহৃত হয়। এগুলি ব্যবহার করে আপনি ডেটার উপর গণনা করতে পারেন, যেমন টোটাল বা গড় হিসাব করতে।
১. SUMX ফাংশন
SUMX ফাংশন একটি Iteration Function যা একটি এক্সপ্রেশনকে প্রতিটি রো (row) এ প্রয়োগ করে এবং তারপরে সমস্ত ফলাফল যোগ করে। এটি সাধারণত তখন ব্যবহার করা হয়, যখন আপনার একটি নির্দিষ্ট গণনা (যেমন গুণফল) করতে হবে প্রতিটি রো এর জন্য এবং তারপর তাদের যোগফল বের করতে হবে।
SUMX এর সিনট্যাক্স:
SUMX (table, expression)
- table: সেই টেবিল বা ডেটাসেট যেখানে আপনি গণনা করতে চান।
- expression: সেই এক্সপ্রেশন বা ফর্মুলা যা প্রতিটি রো (row) এর জন্য প্রয়োগ করা হবে। এটি গাণিতিক গণনা বা কলামের মান হতে পারে।
SUMX এর উদাহরণ:
ধরা যাক, আপনার একটি Sales টেবিল রয়েছে, যেখানে Quantity এবং Price নামে দুটি কলাম রয়েছে। আপনি প্রতিটি রো এর জন্য Total Sales গণনা করতে চান, অর্থাৎ Quantity * Price এবং তারপর সমস্ত রো এর ফলাফল যোগ করতে চান।
Total Sales = SUMX(Sales, Sales[Quantity] * Sales[Price])
এখানে:
- Sales টেবিলের প্রতিটি রো এর জন্য
Quantity * Priceগণনা করা হবে। - পরে, সেই সমস্ত গণনার যোগফল প্রদান করবে Total Sales।
২. AVERAGEX ফাংশন
AVERAGEX ফাংশন একটি Iteration Function যা প্রতিটি রো এর জন্য একটি এক্সপ্রেশন মূল্যায়ন করে এবং পরে তাদের গড় (average) প্রদান করে। এটি SUMX এর মতোই কাজ করে, তবে এটি যোগফল না করে গড় (average) বের করে।
AVERAGEX এর সিনট্যাক্স:
AVERAGEX (table, expression)
- table: সেই টেবিল বা ডেটাসেট যেখানে আপনি গড় গণনা করতে চান।
- expression: সেই এক্সপ্রেশন বা ফর্মুলা যা প্রতিটি রো (row) এর জন্য প্রয়োগ করা হবে। এটি গাণিতিক গণনা বা কলামের মান হতে পারে।
AVERAGEX এর উদাহরণ:
ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি প্রতিটি বিক্রির জন্য Total Sales গণনা করতে চান (যেমন, Quantity * Price), এবং তারপর সেই সকল রো এর গড় বের করতে চান।
Average Sales = AVERAGEX(Sales, Sales[Quantity] * Sales[Price])
এখানে:
- Sales টেবিলের প্রতিটি রো এর জন্য
Quantity * Priceগণনা করা হবে। - পরে, সমস্ত রো এর গড় প্রদান করবে Average Sales।
SUMX এবং AVERAGEX এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | SUMX | AVERAGEX |
|---|---|---|
| ফলাফল | প্রতিটি রো এর গণনা করা মানগুলির যোগফল | প্রতিটি রো এর গণনা করা মানগুলির গড় |
| ব্যবহার | সাধারণত মোট বা সঞ্চিত পরিমাণ হিসাব করতে ব্যবহৃত হয় | গড় মান নির্ণয়ের জন্য ব্যবহৃত হয় |
| সিনট্যাক্স | SUMX(table, expression) | AVERAGEX(table, expression) |
| ফলাফল | যোগফল (sum) | গড় (average) |
উপসংহার
SUMX এবং AVERAGEX হল দুটি গুরুত্বপূর্ণ Iteration Function যা Power Pivot-এ ব্যবহৃত হয়। SUMX ফাংশন টেবিলের প্রতিটি রো (row) এর জন্য একটি এক্সপ্রেশন ব্যবহার করে এবং তারপর তাদের যোগফল প্রদান করে, যখন AVERAGEX ফাংশন একইভাবে কাজ করলেও তার ফলাফল গড় হিসেবে প্রদান করে। এই ফাংশনগুলো ব্যবহার করে আপনি আরও জটিল গণনা এবং বিশ্লেষণ করতে পারেন যা Power Pivot এর মাধ্যমে ডেটার গভীর বিশ্লেষণ সম্ভব করে তোলে।
Power Pivot-এ Conditional Functions (যেমন IF এবং SWITCH) ব্যবহার করা হয় ডেটার উপর শর্ত (conditions) প্রয়োগ করার জন্য। এই ফাংশনগুলোর মাধ্যমে আপনি ডেটার ভিত্তিতে কাস্টম গণনা, সিদ্ধান্ত গ্রহণ এবং বিভিন্ন ফলাফল তৈরি করতে পারেন। Power Pivot-এ Conditional Functions সাধারণত DAX (Data Analysis Expressions) ফর্মুলার অংশ হিসেবে ব্যবহৃত হয়। DAX-এর মধ্যে IF এবং SWITCH ফাংশন বিশেষভাবে ডেটার উপর শর্ত নির্ভর সিদ্ধান্ত তৈরি করতে ব্যবহৃত হয়।
IF Function in Power Pivot
IF ফাংশন ব্যবহার করে আপনি একটি শর্ত অনুযায়ী দুটি ভিন্ন ফলাফল নির্ধারণ করতে পারেন। এটি যদি নির্দিষ্ট শর্ত পূর্ণ হয়, তাহলে একটি ফলাফল প্রদান করে, অন্যথায় অন্য একটি ফলাফল প্রদান করে।
IF ফাংশনের সেন্ট্যাক্স:
IF (condition, result_if_true, result_if_false)
- condition: যে শর্তটি পরীক্ষা করতে হবে।
- result_if_true: যদি শর্তটি সঠিক হয়, তাহলে এটি প্রদর্শিত হবে।
- result_if_false: যদি শর্তটি সঠিক না হয়, তাহলে এটি প্রদর্শিত হবে।
উদাহরণ:
ধরা যাক, আপনি একটি টেবিলের Sales Amount কলামের জন্য একটি কাস্টম ফিল্ড তৈরি করতে চান যা চেক করবে যে, Sales Amount 1000-এর বেশি কিনা। যদি বেশি হয়, তাহলে "High Sales" এবং না হলে "Low Sales" প্রদর্শন করবে।
Sales Category = IF(Sales[Amount] > 1000, "High Sales", "Low Sales")
এটি টেবিলের প্রতিটি সারির জন্য Sales Amount এর ভিত্তিতে একটি নতুন Sales Category কলাম তৈরি করবে, যা "High Sales" বা "Low Sales" দেখাবে।
SWITCH Function in Power Pivot
SWITCH ফাংশনটি একটি বিশেষ ধরণের IF ফাংশন, যা একাধিক শর্ত পরীক্ষা করার জন্য ব্যবহৃত হয়। এটি সাধারণত তখন ব্যবহার করা হয়, যখন একাধিক শর্ত এবং ফলাফল যাচাই করতে হয়। SWITCH ফাংশনটি অনেক বেশি শর্ত নির্ধারণে সুবিধাজনক এবং কোডটি আরও সহজ এবং পরিষ্কার রাখে।
SWITCH ফাংশনের সেন্ট্যাক্স:
SWITCH (expression, value1, result1, value2, result2, ..., default_result)
- expression: যে এক্সপ্রেশনটি পরীক্ষা করা হবে।
- value1, value2, ...: পরীক্ষিত মানগুলি।
- result1, result2, ...: প্রতিটি মানের জন্য ফলাফল।
- default_result: যদি কোনো মান মেলে না, তবে ডিফল্ট ফলাফল প্রদান করবে।
উদাহরণ:
ধরা যাক, আপনি একটি টেবিলের Sales Amount এর উপর ভিত্তি করে কাস্টম কেটাগরি তৈরি করতে চান, যেখানে বিক্রির পরিমাণ অনুযায়ী তিনটি কেটাগরি হবে:
- Low (যদি বিক্রির পরিমাণ 500-এর কম),
- Medium (যদি 500 থেকে 1000 এর মধ্যে),
- High (যদি 1000 এর বেশি)।
এটি SWITCH ফাংশন দিয়ে করা যায়:
Sales Category = SWITCH(TRUE(),
Sales[Amount] < 500, "Low",
Sales[Amount] >= 500 && Sales[Amount] < 1000, "Medium",
Sales[Amount] >= 1000, "High")
এখানে, TRUE() ফাংশনটি প্রথমে শর্তগুলো পরীক্ষা করার জন্য ব্যবহার হচ্ছে। এটি প্রতি শর্তের জন্য একটি নির্দিষ্ট ফলাফল প্রদান করবে।
IF এবং SWITCH এর মধ্যে পার্থক্য
- IF ফাংশন সাধারণত একটি শর্ত পরীক্ষা করে এবং দুটি ফলাফল প্রদান করে (একটি শর্ত সঠিক হলে, অন্যটি না হলে)।
- SWITCH ফাংশন একাধিক শর্ত পরীক্ষা করতে সাহায্য করে এবং প্রতিটি শর্তের জন্য একটি নির্দিষ্ট ফলাফল প্রদান করে। এটি IF ফাংশনের চেয়ে আরও সুসংগঠিত এবং পরিষ্কার।
Power Pivot-এ IF এবং SWITCH ফাংশনের ব্যবহার
Power Pivot-এ IF এবং SWITCH ফাংশন ব্যবহার করে আপনি বেশ কিছু জটিল কাস্টম ক্যালকুলেশন এবং সিদ্ধান্ত গ্রহণ করতে পারেন। উদাহরণস্বরূপ, আপনি গ্রাহকের ক্রয়ের পরিমাণের ভিত্তিতে তাদের শ্রেণিবদ্ধ করতে পারেন, অথবা বিক্রির তথ্য বিশ্লেষণ করতে পারেন।
গ্রাহক শ্রেণিবদ্ধকরণ:
ধরা যাক, আপনি গ্রাহকদের বিভিন্ন শ্রেণিতে ভাগ করতে চান। যেমন:
- "VIP" গ্রাহক (যারা 5000 বা তার বেশি ক্রয় করেন)
- "Regular" গ্রাহক (যারা 1000 থেকে 4999 এর মধ্যে ক্রয় করেন)
- "New" গ্রাহক (যারা 1000-এর কম ক্রয় করেন)
এটি SWITCH ফাংশন দিয়ে করা যাবে:
Customer Category = SWITCH(TRUE(),
Customer[TotalPurchase] >= 5000, "VIP",
Customer[TotalPurchase] >= 1000, "Regular",
Customer[TotalPurchase] < 1000, "New")
এটি গ্রাহকদের TotalPurchase এর ভিত্তিতে শ্রেণিবদ্ধ করবে।
উপসংহার
Power Pivot-এ IF এবং SWITCH ফাংশনগুলি আপনাকে ডেটার উপর শর্তাবলীর ভিত্তিতে কাস্টম সিদ্ধান্ত এবং ফলাফল তৈরি করার ক্ষমতা দেয়। IF ফাংশন সহজ শর্ত পরীক্ষা করার জন্য ব্যবহৃত হয়, যখন SWITCH ফাংশন একাধিক শর্ত পরীক্ষা করতে সহায়তা করে। এই ফাংশনগুলি Power Pivot-এর মাধ্যমে ডেটা বিশ্লেষণ এবং রিপোর্টিংকে আরও শক্তিশালী এবং নমনীয় করে তোলে।
Power Pivot-এ RELATED এবং LOOKUPVALUE হল দুটি গুরুত্বপূর্ণ DAX ফাংশন, যেগুলি ডেটার মধ্যে সম্পর্ক তৈরি এবং মান অনুসন্ধান করার জন্য ব্যবহৃত হয়। এই দুটি ফাংশন মূলত একাধিক টেবিলের মধ্যে সম্পর্কিত ডেটা উদ্ধার করতে সাহায্য করে।
RELATED ফাংশন
RELATED ফাংশনটি Power Pivot-এর একটি শক্তিশালী ফাংশন যা একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করতে ব্যবহৃত হয়। এটি সাধারণত ফরেন কিড (Foreign Key) কলামের মাধ্যমে ডেটা সংযুক্ত করে এবং সম্পর্কিত টেবিলের মান ফেরত দেয়।
RELATED ফাংশন এর ব্যবহার
RELATED ফাংশনটি মূলত ব্যবহৃত হয় যখন আপনি এক টেবিলের মধ্যে থাকা একটি কলামের মান আনতে চান, যেটি অন্য টেবিলের সাথে সম্পর্কিত। উদাহরণস্বরূপ, যদি আপনি Sales টেবিলের একটি ProductID কলাম থেকে সম্পর্কিত ProductName আনার চান, তবে আপনি RELATED ফাংশন ব্যবহার করতে পারেন, যেটি Products টেবিলের ProductName কলামকে ফিরিয়ে দেবে।
সিনট্যাক্স:
RELATED(<related_column>)
উদাহরণ:
Product Name = RELATED(Products[ProductName])
এখানে, Products[ProductName] কলামটি Sales টেবিলের ProductID কলামের সাথে সম্পর্কিত। এই ফর্মুলাটি Sales টেবিলের মধ্যে Product Name কলাম তৈরি করবে, যা Products টেবিল থেকে সম্পর্কিত মান গ্রহণ করবে।
LOOKUPVALUE ফাংশন
LOOKUPVALUE ফাংশনটি আরও শক্তিশালী এবং নমনীয় ফাংশন যা একাধিক কলামের মধ্যে নির্দিষ্ট মান অনুসন্ধান করতে ব্যবহৃত হয়। এটি সাধারণত একাধিক টেবিলের মধ্যে সম্পর্কিত কলামের মান পুনরুদ্ধার করার জন্য ব্যবহার করা হয়, যখন আপনি এক বা একাধিক শর্ত অনুসারে মান খুঁজছেন।
LOOKUPVALUE ফাংশন এর ব্যবহার
LOOKUPVALUE ফাংশনটি আপনাকে একটি টেবিল থেকে একটি নির্দিষ্ট মান খুঁজে এনে অন্য একটি কলামে সেটি ফিরিয়ে দিতে সহায়তা করে। এটি সাধারণত একাধিক কলামের মধ্যে মানের মিল খুঁজে ফেরত দিতে ব্যবহৃত হয়, যেমন: আপনার যদি একটি টেবিলের ProductID এর জন্য সম্পর্কিত Product Name খুঁজতে চান, তবে আপনি LOOKUPVALUE ব্যবহার করতে পারেন।
সিনট্যাক্স:
LOOKUPVALUE(<result_column>, <search_column>, <search_value>)
- result_column: যেই কলামটির মান আপনি ফিরিয়ে আনতে চান।
- search_column: যে কলামের মধ্যে আপনি অনুসন্ধান করতে চান।
- search_value: যেটি আপনি অনুসন্ধান করতে চান।
উদাহরণ:
Product Name = LOOKUPVALUE(Products[ProductName], Products[ProductID], Sales[ProductID])
এখানে, Products[ProductName] হলো সেই কলাম যেটি আপনি ফিরিয়ে আনতে চান। Products[ProductID] এবং Sales[ProductID] সম্পর্কিত কলামগুলোকে ব্যবহার করে, LOOKUPVALUE ফাংশন সম্পর্কিত Product Name ফেরত দেবে।
RELATED এবং LOOKUPVALUE এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | RELATED | LOOKUPVALUE |
|---|---|---|
| উদ্দেশ্য | একাধিক টেবিলের মধ্যে সম্পর্কিত কলাম থেকে মান ফেরত আনা | নির্দিষ্ট কলাম এবং শর্তের ভিত্তিতে মান অনুসন্ধান করা |
| প্রয়োগের ক্ষেত্র | একাধিক টেবিলের মধ্যে সম্পর্ক তৈরি করা (একাধিক টেবিলের মধ্যে সম্পর্কিত ডেটা নিয়ে কাজ করা) | শর্ত ভিত্তিক মান খুঁজে বের করা (এক বা একাধিক কলামে শর্ত প্রয়োগ) |
| নির্দিষ্ট শর্ত | শর্ত অনুসারে মান খোঁজার জন্য নয়, বরং সম্পর্কিত কলাম থেকে মান ফেরত আনা | একাধিক শর্তের মাধ্যমে মান অনুসন্ধান করা |
| ফাংশনের ফলাফল | সম্পর্কিত টেবিলের একক কলাম ফেরত দেয় | নির্দিষ্ট মান অথবা একাধিক শর্তের ভিত্তিতে মান ফেরত দেয় |
কোন ক্ষেত্রে RELATED এবং LOOKUPVALUE ব্যবহার করবেন?
- RELATED: যখন একাধিক টেবিলের মধ্যে সম্পর্ক নির্ধারণ করা হয়েছে এবং আপনি এক টেবিল থেকে অন্য টেবিলের কলাম ব্যবহার করতে চান, তখন RELATED ব্যবহার করবেন। এটি সাধারণত Primary Key এবং Foreign Key এর মধ্যে সম্পর্কের জন্য আদর্শ।
- LOOKUPVALUE: যখন আপনার নির্দিষ্ট শর্তে একটি মান খুঁজে বের করার প্রয়োজন হয়, যেমন একাধিক কলাম বা একাধিক শর্ত অনুসারে একটি মান ফেরত নেওয়া, তখন LOOKUPVALUE ব্যবহার করবেন। এটি বেশি নমনীয় এবং জটিল শর্তের জন্য উপযুক্ত।
উপসংহার
Power Pivot-এ RELATED এবং LOOKUPVALUE দুটি অত্যন্ত শক্তিশালী ফাংশন, যা ডেটা মডেলিং এবং বিশ্লেষণকে আরও সহজ করে তোলে। RELATED সম্পর্কিত টেবিলের মান খুঁজে এনে আনে, যেখানে LOOKUPVALUE নির্দিষ্ট শর্ত অনুযায়ী মানের অনুসন্ধান করে। এগুলি ব্যবহার করে আপনি একাধিক টেবিলের মধ্যে সম্পর্ক তৈরি করতে এবং জটিল বিশ্লেষণ করতে পারবেন।
Read more