DAX Functions এবং Expressions গাইড ও নোট

Big Data and Analytics - ড্যাক্স দিয়ে ডেটা মডেলিং (Data Modeling with DAX)
435

DAX (Data Analysis Expressions) হল একটি এক্সপ্রেশন ভাষা যা Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন এবং রিপোর্ট তৈরির জন্য। DAX ব্যবহার করে আপনি সহজে measures, calculated columns, এবং calculated tables তৈরি করতে পারেন, যা বিশ্লেষণ এবং রিপোর্টিংয়ের জন্য অত্যন্ত গুরুত্বপূর্ণ। DAX ফাংশন এবং এক্সপ্রেশনগুলি ডেটা মডেল তৈরির একটি গুরুত্বপূর্ণ অংশ, কারণ এগুলি ডেটার উপর বিভিন্ন ধরণের গণনা এবং বিশ্লেষণ করতে সক্ষম।

এই প্রবন্ধে, আমরা DAX Functions এবং Expressions এর মধ্যে পার্থক্য এবং তাদের কার্যকারিতা নিয়ে আলোচনা করব।


১. DAX Functions

DAX Functions হল পূর্বনির্ধারিত ফাংশন যা DAX ভাষার মধ্যে তৈরি করা হয়েছে। এগুলি ডেটা বিশ্লেষণের জন্য বিভিন্ন ক্যালকুলেশন বা ফিল্টারিং করার জন্য ব্যবহৃত হয়। DAX ফাংশনগুলির মাধ্যমে আপনি খুব দ্রুত sum, average, count, min, max, if conditions, এবং date functions ইত্যাদি ক্যালকুলেশন করতে পারেন।

DAX Function Types:

  • Aggregating Functions: যেমন SUM, AVERAGE, COUNT, MAX, MIN
  • Logical Functions: যেমন IF, AND, OR, NOT
  • Text Functions: যেমন CONCATENATE, UPPER, LOWER, TRIM
  • Time Intelligence Functions: যেমন TOTALYTD, SAMEPERIODLASTYEAR, DATEADD
  • Mathematical Functions: যেমন ROUND, INT, MOD
  • Filter Functions: যেমন FILTER, ALL, ALLSELECTED, RELATEDTABLE

Examples of DAX Functions:

  1. SUM: একটি কলামের সমস্ত মানের যোগফল বের করতে ব্যবহৃত হয়।

    Total Sales = SUM(Sales[Amount])
    
  2. IF: শর্তের ভিত্তিতে একটি মান ফেরত দিতে ব্যবহৃত হয়।

    Sales Category = IF(Sales[Amount] > 1000, "High", "Low")
    
  3. DATEADD: একটি তারিখের উপর নির্দিষ্ট পরিমাণ সময় যোগ করতে ব্যবহৃত হয়।

    Previous Year Sales = CALCULATE(SUM(Sales[Amount]), DATEADD(Sales[Date], -1, YEAR))
    
  4. AVERAGE: একটি কলামের গড় মান বের করতে ব্যবহৃত হয়।

    Average Sales = AVERAGE(Sales[Amount])
    

২. DAX Expressions

DAX Expressions হল একটি এক্সপ্রেশন বা ক্যালকুলেশন যা DAX ফাংশন এবং কলামগুলি ব্যবহার করে তৈরি করা হয়। এক্সপ্রেশনগুলি একটি বা একাধিক ফাংশন বা অপারেটরের সংমিশ্রণ হতে পারে এবং এটি calculated columns, measures, বা calculated tables তৈরি করতে ব্যবহৃত হয়। DAX এক্সপ্রেশনগুলি filters এবং context ব্যবহার করে ডেটার উপর গণনা করতে সাহায্য করে, এবং এগুলি রিপোর্টিং এবং বিশ্লেষণের জন্য অত্যন্ত গুরুত্বপূর্ণ।

Types of DAX Expressions:

  • Calculated Columns: একটি কলাম যেখানে প্রতিটি সারির জন্য একটি এক্সপ্রেশন বা ফাংশন ব্যবহার করা হয়।
  • Measures: একটি নির্দিষ্ট ক্যালকুলেশন যা একটি এক্সপ্রেশন বা ফাংশন থেকে গণনা করা হয়, এটি সাধারণত ডেটা ভিজ্যুয়ালাইজেশন বা রিপোর্টে ব্যবহৃত হয়।
  • Calculated Tables: একটি টেবিল যা একটি এক্সপ্রেশন বা ক্যালকুলেশন থেকে তৈরি করা হয়।

Examples of DAX Expressions:

  1. Calculated Column: প্রতিটি রো-ভিত্তিক ক্যালকুলেশন বা এক্সপ্রেশন তৈরি করতে ব্যবহৃত হয়।

    Sales Tax = Sales[Amount] * 0.10
    

    এখানে, Sales Tax নামক একটি কাস্টম কলাম তৈরি করা হয়েছে যেখানে Amount কলামের উপর 10% ট্যাক্স যোগ করা হচ্ছে।

  2. Measure: একটি কাস্টম ক্যালকুলেশন যা একটি এক্সপ্রেশন বা ফাংশন থেকে তৈরি করা হয়।

    Total Sales = SUM(Sales[Amount])
    

    এখানে, Total Sales নামে একটি measure তৈরি করা হয়েছে যা Sales[Amount] কলামের মোট যোগফল বের করবে।

  3. Calculated Table: একটি কাস্টম টেবিল তৈরি করার জন্য ব্যবহৃত হয়।

    High Sales = FILTER(Sales, Sales[Amount] > 1000)
    

    এখানে, High Sales নামে একটি টেবিল তৈরি করা হয়েছে যা শুধু সেই রেকর্ডগুলিকে অন্তর্ভুক্ত করবে যেখানে Sales[Amount] 1000 এর বেশি।


৩. DAX Functions vs. DAX Expressions

DAX Functions এবং DAX Expressions একে অপরের সাথে সংযুক্ত, কিন্তু তাদের ব্যবহারের মধ্যে কিছু পার্থক্য রয়েছে:

  • DAX Functions হল পূর্বনির্ধারিত ফাংশন যেগুলি ডেটা ক্যালকুলেশনে ব্যবহৃত হয়। যেমন SUM, AVERAGE, IF ইত্যাদি। এই ফাংশনগুলি এক্সপ্রেশন গঠন করার জন্য গুরুত্বপূর্ণ টুলস।
  • DAX Expressions হল কাস্টম ক্যালকুলেশন যা এক বা একাধিক DAX Functions এবং operational expressions ব্যবহার করে তৈরি করা হয়। এটি এমন কিছু একটি এক্সপ্রেশন বা ক্যালকুলেশন যা ডেটার উপর কার্যকরী বিশ্লেষণ বা রিপোর্ট তৈরি করতে ব্যবহৃত হয়।

৪. Best Practices for DAX Expressions

DAX এক্সপ্রেশনগুলি ব্যবহার করার সময় কিছু best practices অনুসরণ করা গুরুত্বপূর্ণ, যাতে আপনার রিপোর্ট এবং ক্যালকুলেশনগুলি আরও কার্যকরী, দ্রুত এবং স্কেলেবল হয়।

Best Practices:

  1. Use Variables: এক্সপ্রেশনগুলির মধ্যে পুনরাবৃত্তি হওয়ার থেকে রোধ করতে variables ব্যবহার করুন। এটি কোডটি পরিষ্কার ও দ্রুত করে তোলে।

    VAR TotalAmount = SUM(Sales[Amount])
    RETURN TotalAmount * 0.1
    
  2. Use Measures for Aggregation: গণনা বা aggregation করার জন্য measure ব্যবহার করুন, কারণ এটি বেশি কার্যকরী এবং দ্রুত।
  3. Avoid Complex Calculations in Visuals: ভিজ্যুয়াল তৈরির সময় complex calculations এড়িয়ে চলুন। বরং, measure বা calculated column তৈরি করুন যা দ্রুত রেন্ডার হবে।
  4. Use FILTER Efficiently: FILTER ফাংশন ব্যবহার করার সময় যতটা সম্ভব নির্দিষ্ট শর্তে ফিল্টার করুন, যাতে আপনার ক্যালকুলেশন দ্রুত হয়।

সারাংশ

DAX Functions এবং DAX Expressions হল ডেটা বিশ্লেষণের জন্য অপরিহার্য টুলস, যা Power BI, Excel, এবং SSAS এর মধ্যে কাস্টম ক্যালকুলেশন এবং বিশ্লেষণ তৈরি করতে ব্যবহৃত হয়। DAX Functions হল পূর্বনির্ধারিত ফাংশন যেগুলি ডেটার উপর গণনা করার জন্য ব্যবহার করা হয়, এবং DAX Expressions হল কাস্টম ক্যালকুলেশন যা একাধিক ফাংশন এবং অপারেটরের সংমিশ্রণ হতে পারে। সঠিকভাবে DAX ফাংশন এবং এক্সপ্রেশন ব্যবহার করলে আপনি দ্রুত এবং কার্যকরী ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরি করতে পারবেন।

Content added By

DAX Functions এর ধারণা

506

DAX (Data Analysis Expressions) হল একটি এক্সপ্রেশন ভাষা যা মূলত Power BI, PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরির জন্য। DAX ফাংশনগুলি ব্যবহার করে আপনি measures, calculated columns, এবং calculated tables তৈরি করতে পারেন, যা ডেটা মডেলিং এবং রিপোর্ট তৈরির জন্য অত্যন্ত গুরুত্বপূর্ণ। DAX-এ বিভিন্ন ধরনের ফাংশন রয়েছে, যেমন aggregate functions, time intelligence functions, logical functions, filter functions, ইত্যাদি, যা ডেটার গভীর বিশ্লেষণ করতে সহায়ক।

এই প্রবন্ধে, আমরা DAX Functions এর ধারণা এবং তাদের ব্যবহার নিয়ে আলোচনা করব।


DAX Functions এর মৌলিক ধারণা

DAX Functions হল কিছু প্রস্তুতকৃত এক্সপ্রেশন যা Power BI বা Excel মডেলিংয়ের মধ্যে ডেটার ওপর নির্দিষ্ট ক্যালকুলেশন, বিশ্লেষণ, বা পরিমাপ করতে ব্যবহৃত হয়। DAX ফাংশনগুলি measure, calculated column, এবং calculated table তৈরি করতে ব্যবহার করা হয়, এবং তারা মূলত filtering, aggregation, mathematical operations, এবং logical evaluations করতে সক্ষম।

DAX Functions এর প্রধান বৈশিষ্ট্য:

  1. Row Context: DAX ফাংশনগুলি row context-এর মধ্যে কাজ করে, যেখানে প্রতিটি সারি নিজস্ব ডেটার উপর ভিত্তি করে গণনা করে। অর্থাৎ, যখন একটি ক্যালকুলেটেড কলাম তৈরি করা হয়, তখন এটি প্রতিটি রো বা সারির জন্য একটি এক্সপ্রেশন প্রয়োগ করে।
  2. Filter Context: DAX-এর বিভিন্ন ফাংশন ফিল্টার কনটেক্সটের মধ্যে কাজ করে, যেখানে ফিল্টারগুলি ডেটার উপর প্রভাব ফেলে এবং একটি মাপ বা পরিমাপের ফলাফল পরিবর্তন করতে পারে।
  3. Evaluation Context: DAX ফাংশনটি সাধারণত evaluation context-এর ভিত্তিতে কাজ করে, যা row context এবং filter context একসঙ্গে অন্তর্ভুক্ত করে।

DAX Functions এর প্রধান প্রকারভেদ

DAX Functions-কে বিভিন্ন শ্রেণীতে ভাগ করা যেতে পারে, যেমন:

১. Aggregate Functions

এগুলি ডেটার উপর sum, average, count, min, max ইত্যাদি গণনা করতে ব্যবহৃত হয়।

  • SUM(): একটি কলামের মোট যোগফল বের করে।

    Total Sales = SUM(Sales[Amount])
    
  • AVERAGE(): একটি কলামের গড় বের করে।

    Average Sales = AVERAGE(Sales[Amount])
    
  • COUNT(): নির্দিষ্ট কলামে মোট সারির সংখ্যা বের করে।

    Number of Sales = COUNT(Sales[Amount])
    

২. Logical Functions

এগুলি conditional logic বাস্তবায়ন করতে ব্যবহৃত হয়, যেমন IF, AND, OR ইত্যাদি।

  • IF(): একটি শর্তের ভিত্তিতে মান ফেরত দেয়।

    Profit or Loss = IF(Sales[Amount] > 0, "Profit", "Loss")
    
  • AND(): দুটি শর্তের মধ্যে যদি উভয়ই সত্য হয়, তাহলে TRUE ফেরত দেয়।

    High Sales and Profit = AND(Sales[Amount] > 1000, Sales[Profit] > 500)
    

৩. Time Intelligence Functions

Time Intelligence ফাংশনগুলি DAX-এর একটি শক্তিশালী অংশ যা আপনাকে time-based calculations করতে সহায়ক হয়, যেমন YTD (Year-to-Date), QTD (Quarter-to-Date), MTD (Month-to-Date) ইত্যাদি।

  • TOTALYTD(): বছরের শুরু থেকে বর্তমান সময় পর্যন্ত মোট পরিমাণ বের করে।

    YTD Sales = TOTALYTD(SUM(Sales[Amount]), Sales[Date])
    
  • SAMEPERIODLASTYEAR(): গত বছরের একই সময়ের ডেটার সাথে তুলনা করতে ব্যবহৃত হয়।

    Sales Last Year = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR(Sales[Date]))
    

৪. Filter Functions

এই ফাংশনগুলি filtering প্রক্রিয়া করতে ব্যবহৃত হয়, যেখানে আপনি একটি টেবিল বা ডেটার উপর শর্ত প্রয়োগ করেন।

  • FILTER(): একটি টেবিলের উপর শর্ত প্রয়োগ করে, শুধুমাত্র সেই সারিগুলি ফেরত দেয়, যা শর্ত পূর্ণ করে।

    High Sales = FILTER(Sales, Sales[Amount] > 1000)
    
  • ALL(): ফিল্টার কনটেক্সট সরিয়ে দেয় এবং একটি টেবিলের সকল সারি বা কলাম ফিরিয়ে দেয়।

    Total Sales = CALCULATE(SUM(Sales[Amount]), ALL(Sales[Region]))
    

৫. Text Functions

DAX-এ টেক্সট মানের উপর কাজ করার জন্য বিভিন্ন ফাংশন রয়েছে, যেমন CONCATENATE, LEN, UPPER, LOWER ইত্যাদি।

  • CONCATENATE(): দুটি টেক্সট মানকে একত্রিত করে।

    FullName = CONCATENATE(Employees[FirstName], " " & Employees[LastName])
    
  • LEN(): একটি টেক্সট স্ট্রিং এর দৈর্ঘ্য বের করে।

    Name Length = LEN(Employees[FirstName])
    

৬. Mathematical Functions

Mathematical functions ডেটার উপর গণনা করতে ব্যবহৃত হয়, যেমন ROUND, CEILING, FLOOR ইত্যাদি।

  • ROUND(): একটি সংখ্যা নির্দিষ্ট দশমিক পর্যন্ত রাউন্ড করে।

    Rounded Amount = ROUND(Sales[Amount], 2)
    
  • CEILING(): একটি সংখ্যা নির্দিষ্ট সংখ্যার কাছে রাউন্ড করে।

    Rounded Up Amount = CEILING(Sales[Amount], 10)
    

DAX Functions Usage in Power BI

Power BI-তে DAX ফাংশনগুলি বিভিন্ন কার্যক্রমের জন্য ব্যবহার করা হয়:

  • Reports and Dashboards: DAX measures এবং calculated columns ব্যবহার করে রিপোর্ট ও ড্যাশবোর্ডে ডেটা বিশ্লেষণ করা।
  • Time-Based Calculations: Time intelligence ফাংশন ব্যবহার করে বছরের শুরু থেকে শেষ পর্যন্ত, বা মাসের শেষ পর্যন্ত বিক্রয় বা লাভ নির্ধারণ করা।
  • Conditional Analysis: Logical ফাংশনগুলি ব্যবহার করে শর্ত ভিত্তিক বিশ্লেষণ এবং ডেটার সঠিক বিশ্লেষণ নিশ্চিত করা।

সারাংশ

DAX Functions হল একটি শক্তিশালী টুল যা Power BI, PowerPivot, এবং SSAS-এ ডেটা বিশ্লেষণ এবং রিপোর্ট তৈরির জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি aggregate functions, time intelligence, logical functions, filter functions, এবং text functions ব্যবহার করে জটিল ক্যালকুলেশন, বিশ্লেষণ, এবং data modeling করতে পারেন। DAX-এ measures এবং calculated columns এর মাধ্যমে business logic বাস্তবায়ন এবং data visualizations তৈরি করা সম্ভব, যা আপনার রিপোর্ট এবং বিশ্লেষণ আরও কার্যকরী এবং তথ্যপূর্ণ করে তোলে।

Content added By

Scalar Functions এবং Table Functions

334

DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন, এবং রিপোর্ট তৈরির জন্য। DAX ফাংশনগুলি দুটি প্রধান শ্রেণীতে ভাগ করা যায়: Scalar Functions এবং Table Functions। এই দুই ধরনের ফাংশন বিভিন্ন পরিস্থিতিতে ব্যবহার করা হয় এবং ডেটা বিশ্লেষণ প্রক্রিয়াকে আরও কার্যকরী ও ফলপ্রসূ করে তোলে।

এখানে আমরা Scalar Functions এবং Table Functions এর মধ্যে পার্থক্য এবং তাদের ব্যবহারের উদাহরণ আলোচনা করব।


১. Scalar Functions

Scalar Functions হল এমন ফাংশন যা একক মান (scalar value) প্রদান করে। এই ধরনের ফাংশনগুলি এক বা একাধিক আর্গুমেন্ট গ্রহণ করে এবং একটি একক মান ফেরত দেয়। Scalar Functions সাধারণত numbers, dates, strings ইত্যাদি ডেটা প্রকারের উপর কাজ করে এবং তাদের উপর বিভিন্ন ধরনের গণনা বা ক্যালকুলেশন করে।

Common Scalar Functions in DAX:

  • SUM: একটি কলামের সমস্ত মানের যোগফল নির্ধারণ করে।
  • AVERAGE: একটি কলামের গড় মান বের করে।
  • MAX: একটি কলামের সর্বোচ্চ মান বের করে।
  • MIN: একটি কলামের সর্বনিম্ন মান বের করে।
  • IF: একটি শর্ত অনুযায়ী দুটি মানের মধ্যে একটি নির্বাচন করে।
  • LEN: একটি স্ট্রিংয়ের দৈর্ঘ্য (length) নির্ধারণ করে।
  • DATE: একটি নির্দিষ্ট বছরের, মাসের, এবং দিনের তারিখ তৈরি করে।
  • ROUND: একটি সংখ্যাকে নির্দিষ্ট দশমিক স্থান পর্যন্ত গোল করা।

Examples of Scalar Functions:

  1. SUM ফাংশন:
Total Sales = SUM(Sales[Amount])

এটি Sales টেবিলের Amount কলামের সমস্ত মান যোগফল বের করবে।

  1. IF ফাংশন:
Profit or Loss = IF(Sales[Amount] > 1000, "Profit", "Loss")

এটি Sales টেবিলের Amount কলাম পরীক্ষা করবে এবং যদি Amount 1000 এর বেশি হয়, তাহলে "Profit" রিটার্ন করবে, অন্যথায় "Loss" রিটার্ন করবে।

  1. LEN ফাংশন:
Text Length = LEN(Products[ProductName])

এটি Products টেবিলের ProductName কলামের দৈর্ঘ্য নির্ধারণ করবে (স্ট্রিংয়ের অক্ষরের সংখ্যা)।


২. Table Functions

Table Functions হল এমন ফাংশন যা টেবিল (table) বা কলামের একটি সেট প্রদান করে। এগুলি মূলত table expressions হিসেবে কাজ করে এবং টেবিলের উপর aggregation বা filtering করতে ব্যবহৃত হয়। Table Functions সাধারণত একটি টেবিল বা কলাম গঠন করে, যা পরে অন্যান্য ফাংশনগুলিতে ব্যবহার করা হতে পারে।

Common Table Functions in DAX:

  • FILTER: একটি টেবিল বা কলামের উপর শর্ত প্রয়োগ করে ফিল্টার করা ডেটা ফেরত দেয়।
  • ALL: একটি টেবিল বা কলামের সমস্ত ফিল্টার সরিয়ে দেয়।
  • SUMMARIZE: একটি টেবিলের ওপর গ্রুপিং এবং সারাংশ তৈরি করে।
  • VALUES: একটি কলামের ইউনিক মান ফিরিয়ে দেয়।
  • CROSSJOIN: দুটি টেবিলের ক্রস প্রোডাক্ট তৈরি করে।
  • DISTINCT: একটি কলামের ইউনিক মান ফিরিয়ে দেয়।
  • SELECTCOLUMNS: একটি নতুন টেবিল তৈরি করে যা নির্দিষ্ট কলাম বা এক্সপ্রেশন ধারণ করে।

Examples of Table Functions:

  1. FILTER ফাংশন:
High Sales = FILTER(Sales, Sales[Amount] > 1000)

এটি Sales টেবিল থেকে শুধুমাত্র সেই সারিগুলি নির্বাচন করবে যেখানে Amount 1000 এর বেশি।

  1. SUMMARIZE ফাংশন:
Product Sales Summary = SUMMARIZE(Sales, Sales[ProductID], "Total Sales", SUM(Sales[Amount]))

এটি Sales টেবিলের জন্য ProductID অনুসারে বিক্রয় পরিমাণের সমষ্টি গড়ে একটি নতুন টেবিল তৈরি করবে।

  1. ALL ফাংশন:
Total Sales Without Filter = CALCULATE(SUM(Sales[Amount]), ALL(Sales[Region]))

এটি Sales টেবিলের Amount এর যোগফল বের করবে, কিন্তু Region কলামের ফিল্টার প্রভাব মুছে ফেলবে।

  1. VALUES ফাংশন:
Distinct Products = VALUES(Sales[ProductID])

এটি Sales টেবিলের ProductID কলামের ইউনিক মান ফিরিয়ে দেবে।


Scalar Functions এবং Table Functions এর মধ্যে পার্থক্য

ফিচারScalar FunctionsTable Functions
ফলাফলএকক মান (scalar value) ফেরত দেয়।টেবিল বা কলামের মান ফেরত দেয়।
ব্যবহারসংখ্যার হিসাব, স্ট্রিং প্রসেসিং, এবং সাধারণ গণনা।টেবিল তৈরির জন্য, ডেটা ফিল্টার, গ্রুপিং, এবং সিলেকশন।
উদাহরণSUM, AVERAGE, LEN, IF, DATEFILTER, ALL, SUMMARIZE, VALUES, CROSSJOIN
পারফরম্যান্সদ্রুত এবং সরাসরি গণনা।বড় টেবিলের সাথে কাজ করতে ধীর হতে পারে।
ডেটা আউটপুটএকক ফলাফল (যেমন সংখ্যা বা স্ট্রিং)।একটি টেবিল বা কলামের মান।

সারাংশ

Scalar Functions এবং Table Functions DAX-এর দুটি গুরুত্বপূর্ণ ফাংশন শ্রেণী যা ডেটা বিশ্লেষণ, কাস্টম ক্যালকুলেশন এবং রিপোর্ট তৈরির জন্য ব্যবহৃত হয়। Scalar Functions একক মান ফেরত দেয়, যেমন SUM, AVERAGE, IF, LEN ইত্যাদি, যা সাধারণভাবে সংখ্যার বা স্ট্রিংয়ের ওপর কাজ করে। অন্যদিকে, Table Functions টেবিল বা কলাম ফেরত দেয়, যেমন FILTER, ALL, VALUES, SUMMARIZE ইত্যাদি, যা ডেটাকে ফিল্টার করা, গ্রুপিং করা, বা টেবিল তৈরি করা জন্য ব্যবহৃত হয়।

আপনি যখন DAX-এ কাজ করবেন, তখন সঠিক ফাংশন নির্বাচন করা গুরুত্বপূর্ণ, যা আপনার নির্দিষ্ট বিশ্লেষণ বা কাস্টম ক্যালকুলেশন অনুযায়ী সঠিক ফলাফল প্রদান করবে। Scalar Functions সরাসরি গণনা এবং ডেটা প্রসেসিংয়ের জন্য কার্যকর, আর Table Functions ডেটা সিলেকশন, ফিল্টারিং, এবং গ্রুপিংয়ের জন্য বেশি উপকারী।

Content added By

Row Context এবং Filter Context

266

DAX (Data Analysis Expressions) হলো একটি ভাষা যা Power BI, Excel PowerPivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX ফাংশনগুলি ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরির জন্য ব্যবহৃত হয়। এর মধ্যে Row Context এবং Filter Context হল দুটি গুরুত্বপূর্ণ কনসেপ্ট যা DAX-এর কার্যকারিতা এবং পারফরম্যান্সকে গভীরভাবে প্রভাবিত করে। এই কনসেপ্টগুলো ডেটার প্রক্রিয়াকরণের সময়, বিশেষ করে calculated columns এবং measures তৈরি করার সময় গুরুত্বপূর্ণ ভূমিকা পালন করে।

এই প্রবন্ধে আমরা Row Context এবং Filter Context কীভাবে কাজ করে এবং কিভাবে আপনি এগুলি ব্যবহার করে জটিল DAX ফাংশনগুলি তৈরি করতে পারেন, তা আলোচনা করব।


১. Row Context কী?

Row Context হল DAX এর একটি গুরুত্বপূর্ণ কনসেপ্ট যা নির্ধারণ করে যখন আপনি একটি calculated column বা iterator function (যেমন SUMX, AVERAGEX, ইত্যাদি) ব্যবহার করেন, তখন ডেটার প্রতিটি সারি একে অপরের সাথে সম্পর্কিত হয়ে একটি নির্দিষ্ট ক্যালকুলেশন সম্পন্ন হয়।

  • Row Context তখন তৈরি হয় যখন DAX কোড একটি টেবিলের প্রতিটি সারির উপর কার্যকর হয় এবং প্রতিটি রো বা সারির জন্য আলাদা গণনা করা হয়।

Row Context এর উদাহরণ:

ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি SalesAmount এবং Discount কলামের জন্য একটি calculated column তৈরি করতে চান যা মোট মূল্য বের করবে:

Total Price = Sales[SalesAmount] - Sales[Discount]

এখানে Row Context তৈরি হয়, কারণ DAX প্রতিটি Sales টেবিলের সারি অনুযায়ী এই গাণিতিক ক্যালকুলেশন করে। প্রতিটি সারির জন্য SalesAmount এবং Discount এর মান আলাদা থাকবে এবং তাদের মধ্যে পার্থক্য দেখাবে।

২. Row Context এবং Iterator Functions

Iterator Functions (যেমন SUMX, AVERAGEX, COUNTX) একাধিক সারির উপর কাজ করে এবং প্রতিটি সারির উপর একটি ক্যালকুলেশন প্রয়োগ করে। এগুলি Row Context তৈরি করতে সহায়ক এবং সাধারণত measures বা calculated columns এর মধ্যে ব্যবহৃত হয়।

Iterator Functions এর উদাহরণ:

ধরা যাক, আপনি যদি Sales টেবিলের SalesAmount এবং Quantity এর গুণফল বের করতে চান এবং তারপরে সেগুলির যোগফল চান, তাহলে SUMX ব্যবহার করবেন:

Total Sales = SUMX(Sales, Sales[SalesAmount] * Sales[Quantity])

এখানে, SUMX ফাংশনটি Sales টেবিলের প্রতিটি সারির জন্য SalesAmount এবং Quantity গুণ করবে এবং তারপর তাদের যোগফল প্রদান করবে। এই ক্ষেত্রে, Row Context তৈরি হয়েছে যা প্রতিটি সারির জন্য গণনা করতে সহায়ক।


৩. Filter Context কী?

Filter Context হল DAX এর আরেকটি গুরুত্বপূর্ণ কনসেপ্ট যা calculated measures এবং aggregations এ ব্যবহৃত হয়। যখন আপনি কোনো measure তৈরি করেন, তখন বিভিন্ন ফিল্টার প্রয়োগ করা হয় যা ফলাফলকে পরিবর্তন করে। Filter Context নির্ধারণ করে, কোন ডেটা ফিল্টার করা হবে এবং কোন ডেটা অন্তর্ভুক্ত হবে।

Filter Context এর উদাহরণ:

ধরা যাক, আপনি Sales টেবিলের Amount এর মোট যোগফল বের করতে চান, যেখানে Region হল "East":

Total Sales East = CALCULATE(SUM(Sales[Amount]), Sales[Region] = "East")

এখানে, Sales[Region] = "East" একটি filter প্রয়োগ করছে যা Filter Context তৈরি করে। এই ফিল্টারটি Sales টেবিলের সেই সারিগুলিকে বেছে নেবে যেখানে Region হল "East", এবং তারপরে SUM(Sales[Amount]) ক্যালকুলেশন করবে।

৪. Row Context এবং Filter Context এর পার্থক্য

ContextRow ContextFilter Context
সংজ্ঞাপ্রতিটি সারির জন্য এক্সপ্রেশন বা ক্যালকুলেশন প্রয়োগ করা হয়।টেবিলের মধ্যে ডেটা ফিল্টার করা হয় এবং তার উপর নির্দিষ্ট ক্যালকুলেশন করা হয়।
কিভাবে কাজ করেDAX একটি টেবিলের প্রতিটি সারির উপর কাজ করে এবং প্রতিটি সারির জন্য আলাদা ক্যালকুলেশন করা হয়।CALCULATE বা FILTER ফাংশনের মাধ্যমে একটি নির্দিষ্ট ফিল্টার প্রয়োগ করা হয়।
উদাহরণCalculated columns তৈরি করা যেখানে প্রতিটি সারির উপর ক্যালকুলেশন করা হয়।Measures তৈরি করা যেখানে ফিল্টার কনটেক্সটের ভিত্তিতে গণনা করা হয়।

৫. Row Context এবং Filter Context একসাথে ব্যবহার

Row Context এবং Filter Context একসাথে ব্যবহৃত হয় যখন আপনি কোনো measure বা calculated column তৈরি করেন, এবং এর মাধ্যমে আপনাকে dynamic filtering বা calculation করতে হয়। এই দুটি কনটেক্সট একে অপরের সাথে যুক্ত হয়ে ডেটার উপর কার্যকরী ক্যালকুলেশন তৈরি করতে সহায়ক।

Example:

ধরা যাক, আপনি Sales টেবিল থেকে Amount এর মোট যোগফল বের করতে চান, তবে শুধুমাত্র Region "East"-এ:

Total Sales East = 
    CALCULATE(
        SUM(Sales[Amount]), 
        Sales[Region] = "East"
    )

এখানে:

  • Row Context তৈরি হচ্ছে SUM ফাংশনের মাধ্যমে যা Sales[Amount] এর মানের উপর কাজ করছে।
  • Filter Context তৈরি হচ্ছে Sales[Region] = "East" ফিল্টারের মাধ্যমে, যা শুধুমাত্র "East" অঞ্চলের ডেটাকে প্রভাবিত করছে।

৬. EARLIER ফাংশন

EARLIER ফাংশনটি একাধিক row context এর মধ্যে মান ফিরিয়ে আনতে ব্যবহৃত হয়। এটি সাধারণত calculated columns এর মধ্যে ব্যবহৃত হয় যেখানে একাধিক স্তরের row context উপস্থিত থাকে।

Example:

ধরা যাক, আপনি যদি Sales টেবিলের প্রতি পণ্যের জন্য SalesAmount এর সাথে Discount এর পার্থক্য বের করতে চান:

Discount Difference = 
    Sales[Amount] - EARLIER(Sales[Discount], 1)

এখানে, EARLIER ফাংশনটি আগের Discount মানটি ফিরিয়ে দিচ্ছে, যা বর্তমানে Sales[Amount] এর সাথে পার্থক্য বের করতে ব্যবহৃত হচ্ছে।


সারাংশ

Row Context এবং Filter Context ড্যাক্সের দুটি মৌলিক কনসেপ্ট যা calculated columns, measures, এবং iterators ফাংশন ব্যবহারের ক্ষেত্রে গুরুত্বপূর্ণ ভূমিকা পালন করে। Row Context নির্ধারণ করে কিভাবে প্রতিটি সারির উপর এক্সপ্রেশন প্রয়োগ করা হবে, এবং Filter Context নির্ধারণ করে কিভাবে ডেটার উপর ফিল্টার প্রয়োগ হবে এবং ক্যালকুলেশন করা হবে। সঠিকভাবে এই দুটি কনসেপ্টের ব্যবহার ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরির জন্য অত্যন্ত কার্যকরী।

Content added By

Common DAX Functions (SUM, AVERAGE, MIN, MAX)

324

DAX (Data Analysis Expressions) হল একটি শক্তিশালী ভাষা যা Power BI, Power Pivot, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয় ডেটা বিশ্লেষণ এবং কাস্টম ক্যালকুলেশন তৈরি করতে। DAX Functions ডেটার উপর ক্যালকুলেশন করতে ব্যবহৃত হয় এবং SUM, AVERAGE, MIN, MAX হল DAX এর সবচেয়ে সাধারণ এবং মৌলিক ফাংশনগুলির মধ্যে।

এই প্রবন্ধে আমরা SUM, AVERAGE, MIN, এবং MAX ফাংশনগুলি নিয়ে বিস্তারিত আলোচনা করব এবং দেখব কীভাবে এই ফাংশনগুলো ডেটা বিশ্লেষণের জন্য ব্যবহার করা হয়।


১. SUM ফাংশন

SUM ফাংশনটি একটি কলামের সমস্ত মানের যোগফল বের করতে ব্যবহৃত হয়। এটি সাধারণত ব্যবহার করা হয় যখন আপনি একটি নির্দিষ্ট কলামের সমস্ত সংখ্যার যোগফল বের করতে চান।

Syntax:

SUM(<column>)
  • : যে কলামের মানগুলোর যোগফল আপনি বের করতে চান।

ব্যবহার:

ধরা যাক, আপনার Sales টেবিল রয়েছে এবং আপনি SalesAmount কলামের মোট বিক্রয় পরিমাণ বের করতে চান, তাহলে আপনি এই ফাংশন ব্যবহার করবেন:

Total Sales = SUM(Sales[SalesAmount])

এই ফাংশনটি Sales টেবিলের SalesAmount কলামের সমস্ত মান যোগ করবে এবং মোট বিক্রয় পরিমাণ বের করবে।


২. AVERAGE ফাংশন

AVERAGE ফাংশনটি একটি কলামের গড় মান বের করতে ব্যবহৃত হয়। এটি ব্যবহার করে আপনি একটি নির্দিষ্ট কলামের গড় মান বের করতে পারেন, যা SUM ফাংশনটির বিপরীত।

Syntax:

AVERAGE(<column>)
  • : যে কলামের গড় মান আপনি বের করতে চান।

ব্যবহার:

ধরা যাক, আপনি যদি Sales টেবিলের SalesAmount কলামের গড় বিক্রয় পরিমাণ জানতে চান, তাহলে আপনি এই ফাংশনটি ব্যবহার করবেন:

Average Sales = AVERAGE(Sales[SalesAmount])

এই ফাংশনটি Sales টেবিলের SalesAmount কলামের গড় মান বের করবে।


৩. MIN ফাংশন

MIN ফাংশনটি একটি কলামের সর্বনিম্ন মান বের করতে ব্যবহৃত হয়। এটি কলামের মধ্যে সবচেয়ে ছোট মানটি খুঁজে বের করে।

Syntax:

MIN(<column>)
  • : যে কলামের সর্বনিম্ন মান আপনি বের করতে চান।

ব্যবহার:

ধরা যাক, আপনি যদি Sales টেবিলের SalesAmount কলামে সর্বনিম্ন বিক্রয় পরিমাণ বের করতে চান, তাহলে এই ফাংশনটি ব্যবহার করবেন:

Min Sales = MIN(Sales[SalesAmount])

এটি Sales টেবিলের SalesAmount কলামের সর্বনিম্ন মান বের করবে।


৪. MAX ফাংশন

MAX ফাংশনটি একটি কলামের সর্বোচ্চ মান বের করতে ব্যবহৃত হয়। এটি কলামের মধ্যে সবচেয়ে বড় মানটি খুঁজে বের করে।

Syntax:

MAX(<column>)
  • : যে কলামের সর্বোচ্চ মান আপনি বের করতে চান।

ব্যবহার:

ধরা যাক, আপনি যদি Sales টেবিলের SalesAmount কলামের সর্বোচ্চ বিক্রয় পরিমাণ বের করতে চান, তাহলে আপনি এই ফাংশনটি ব্যবহার করবেন:

Max Sales = MAX(Sales[SalesAmount])

এই ফাংশনটি Sales টেবিলের SalesAmount কলামের সর্বোচ্চ মান বের করবে।


Common Use Cases for SUM, AVERAGE, MIN, MAX

এই ফাংশনগুলি ডেটা বিশ্লেষণে ব্যাপকভাবে ব্যবহৃত হয়। কিছু সাধারণ use cases হল:

1. Sales Performance Analysis

SUM ফাংশনটি বিক্রয় পরিমাণের মোট যোগফল বের করতে ব্যবহৃত হয়, যেমন:

Total Sales = SUM(Sales[SalesAmount])

AVERAGE ফাংশনটি বিক্রয়ের গড় পরিমাণ নির্ধারণ করতে ব্যবহৃত হয়, যেমন:

Average Sales = AVERAGE(Sales[SalesAmount])

2. Performance Benchmarking

MIN এবং MAX ফাংশনগুলি সাধারণত benchmarking বা outlier detection করতে ব্যবহৃত হয়:

Lowest Sales = MIN(Sales[SalesAmount])
Highest Sales = MAX(Sales[SalesAmount])

3. KPI (Key Performance Indicators)

কোনো KPI রিপোর্টে SUM, AVERAGE, MIN, এবং MAX ফাংশনগুলি প্রধানভাবে ব্যবহৃত হয়। উদাহরণস্বরূপ, গড় বিক্রয়, সর্বোচ্চ বিক্রয়, এবং মোট বিক্রয় পরিমাণ একটি KPI রিপোর্টে বিশ্লেষণ করা যেতে পারে।


DAX Functions: Performance Considerations

SUM, AVERAGE, MIN, এবং MAX ফাংশনগুলি সাধারণত দ্রুত কাজ করে, তবে যদি ডেটাসেট খুব বড় হয় এবং কিছু ফিল্টার বা ক্যালকুলেশন যুক্ত করা হয়, তাহলে এর পারফরম্যান্স প্রভাবিত হতে পারে। এই ধরনের ক্ষেত্রে:

  • Filtered Data: ডেটা ফিল্টার করার আগে SUM, AVERAGE, MIN, এবং MAX ফাংশনগুলি ব্যবহার করুন। আপনি যদি ফিল্টার ব্যবহার না করেন তবে ডেটার সব মানের উপর গণনা হবে, যা বেশি সময় নিতে পারে।
  • Aggregations: বড় টেবিলের জন্য pre-aggregated values ব্যবহার করা উচিত, যেখানে প্রয়োজনীয় পরিসংখ্যান ইতিমধ্যে গণনা করা থাকে।

সারাংশ

SUM, AVERAGE, MIN, এবং MAX হল DAX এর মৌলিক এবং গুরুত্বপূর্ণ ফাংশন যা ডেটা বিশ্লেষণ এবং ক্যালকুলেশন করার জন্য ব্যবহৃত হয়। এই ফাংশনগুলির সাহায্যে আপনি total sales, average sales, minimum values, এবং maximum values বের করতে পারেন, যা ব্যবসায়িক পরিসংখ্যান এবং KPI রিপোর্ট তৈরি করতে সহায়ক। সঠিকভাবে এই ফাংশনগুলি ব্যবহার করলে আপনি Power BI এবং Excel-এ দ্রুত এবং কার্যকরী ডেটা বিশ্লেষণ করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...