DAX-Power BI-فرمول DAX-هوش تجاری-تحلیل داده-تجسم داده‌ها-آموزش DAX-تابع-توابع DAX-توابع-SUM-SUMX-CALCULATE-COUNT-COUNTX-ستون‌های محاسبه‌شده-محاسبات پیشرفته-تجسم داده‌ها-RELATED-ISBLANK-RANKX-MIN-MAX-DISTINCT-زبان DAX-مرجع زبان DAX-لاندا-شرکت مجری فناوری اطلاعات-لاندا مجری power bi

DAX (Data Analysis Expressions زبان فرمول‌نویسی قدرتمندی است که در Power BI و Excel برای ایجاد ستون‌های محاسبه‌شده، اندازه‌گیری‌ها و محاسبات پیشرفته استفاده می‌شود. این زبان انعطاف‌پذیر و کارآمد به کاربران امکان می‌دهد داده‌ها را به‌طور هوشمندانه‌ای دستکاری و جمع‌آوری کنند تا بینش‌های ارزشمندی در زمینه هوش تجاری به دست آورند. در این مقاله، برخی توابع و فرمول DAX پرکاربرد را بررسی می‌کنیم که مبتدیان می‌توانند از آنها برای انجام جمع‌آوری و ویرایش داده‌های پیچیده در Power BI استفاده کنند.

DAX-Power BI-فرمول DAX-هوش تجاری-تحلیل داده-تجسم داده‌ها-آموزش DAX-تابع-توابع DAX-توابع-SUM-SUMX-CALCULATE-COUNT-COUNTX-ستون‌های محاسبه‌شده-محاسبات پیشرفته-تجسم داده‌ها-RELATED-ISBLANK-RANKX-MIN-MAX-DISTINCT-زبان DAX-مرجع زبان DAX-لاندا-شرکت مجری فناوری اطلاعات-لاندا مجری power bi

انواع تابع DAX در Power BI

۱- تابع CALCULATE

تابع CALCULATE یکی از مهم‌ترین توابع DAX است که به شما امکان می‌دهد فیلترهای مختلفی را برای محاسبات اعمال کنید و رفتار پیش‌فرض آنها را تغییر دهید.

مثال: فرض کنید یک جدول فروش با ستون‌هایی برای مقدار فروش، تاریخ و ناحیه فروش دارید. می‌توانید از تابع CALCULATE برای فیلتر کردن مقدار فروش بر اساس تاریخ و ناحیه فروش استفاده کنید. به‌عنوان مثال، فرمول DAX زیر کل مبلغ فروش منطقه غربی را در ژانویه ۲۰۲۲ محاسبه می‌کند:

Total Sales (West Jan 2022) = CALCULATE(
    SUM(Sales[Amount]),
    Sales[Region] = "West",
    Sales[Date].[Month] = 1,
    Sales[Date].[Year] = 2022
)

۲- تابع SUM

تابع SUM مجموع یک ستون یا عبارت مشخص‌ شده را محاسبه می‌کند. معمولاً برای جمع‌آوری داده‌های عددی استفاده می‌شود.

مثال: فرض کنید یک جدول با یک ستون برای مبلغ فروش دارید. می‌توانید از تابع SUM برای محاسبه کل مبلغ فروش استفاده کنید:

Total Sales = SUM(Sales[Amount])

۳- تابع AVERAGE

تابع AVERAGE میانگین یک ستون یا عبارت مشخص‌شده را محاسبه می‌کند. برای یافتن مقدار متوسط داده‌های عددی مفید است.

مثال: فرض کنید یک جدول با یک ستون برای قیمت محصولات دارید. برای محاسبه میانگین قیمت می‌توانید از تابع AVERAGE استفاده کنید:

Average Price = AVERAGE(Products[Price])

۴- تابع COUNT

تابع COUNT تعداد سطرهایی که حاوی یک مقدار هستند، را در یک جدول یا ستون می‌شمارد. برای تعیین تعداد رخدادها مفید است.

مثال: فرض کنید یک جدول با ستونی برای نام محصولات دارید. می‌توانید از تابع COUNT برای شمارش تعداد محصولات استفاده کنید:

Product Count = COUNT(Products[ProductName])

۵- توابع MIN و MAX

توابع MIN و MAX به ترتیب مقادیر حداقل و حداکثر را از یک ستون یا عبارت مشخص برمی‌گردانند.

مثال: فرض کنید یک جدول با یک ستون برای قیمت محصولات دارید. برای یافتن کمترین و بالاترین قیمت‌ها می‌توانید از توابع MIN و MAX استفاده کنید:

Minimum Price = MIN(Products[Price])
Maximum Price = MAX(Products[Price])

۶- تابع DISTINCT

تابع DISTINCT یک جدول تک‌ستونی را برمی‌گرداند که حاوی مقادیر منحصر به‌فرد از یک ستون مشخص است. برای حذف مقادیر تکراری مفید است.

مثال: فرض کنید یک جدول با یک ستون برای دسته‌بندی محصولات دارید. می‌توانید از تابع DISTINCT برای بازیابی لیستی از دسته‌های منحصر به‌فرد استفاده کنید:

Distinct Categories = DISTINCT(Products[Category])

۷- تابع CONCATENATE

تابع CONCATENATE چندین رشته متن را در یک رشته متنی ترکیب می‌کند. برای ایجاد فیلدهای به هم پیوسته مفید است.

مثال: فرض کنید یک جدول با ستون‌هایی برای نام و نام خانوادگی دارید. می‌توانید از تابع CONCATENATE برای ایجاد یک فیلد نام کامل استفاده کنید:

Full Name = CONCATENATE(Customers[FirstName], " ", Customers[LastName])

۸- توابع LEFT و RIGHT

توابع LEFT و RIGHT به ترتیب تعداد مشخصی از کاراکترها را از سمت چپ یا راست یک رشته متن استخراج می‌کنند.

مثال: فرض کنید یک جدول با ستونی برای شماره تلفن دارید. می‌توانید از توابع LEFT و RIGHT برای استخراج کد منطقه و چهار رقم آخر استفاده کنید:

Area Code = LEFT(Customers[PhoneNumber], 3)
Last Four Digits = RIGHT(Customers[PhoneNumber], 4)

۹- تابع LEN

تابع LEN تعداد کاراکترهای یک رشته متنی را محاسبه می‌کند. برای تعیین طول یک رشته مفید است.

مثال: فرض کنید یک جدول با ستونی برای توضیحات محصول دارید. می‌توانید از تابع LEN برای محاسبه طول هر توضیح استفاده کنید:

Description Length = LEN(Products[Description])

۱۰- توابع UPPER، LOWER و PROPER

توابع UPPER، LOWER و PROPER متن را به ترتیب به حروف بزرگ، کوچک و مناسب (با حروف بزرگ هر کلمه) تبدیل می‌کنند.

مثال: فرض کنید یک جدول با ستونی برای نام مشتریان دارید. می‌توانید از توابع UPPER، LOWER و PROPER برای قالب‌بندی نام‌ها استفاده کنید:

Upper Case Name = UPPER(Customers[Name])
Lower Case Name = LOWER(Customers[Name])
Proper Case Name = PROPER(Customers[Name])

۱۱- تابع IF

تابع IF ارزیابی‌های شرطی را انجام می‌دهد. اگر شرط درست باشد یک مقدار و اگر شرط نادرست باشد مقدار دیگری را برمی‌گرداند.

مثال: فرض کنید یک جدول با ستونی برای مبالغ فروش دارید. می‌توانید از تابع IF برای دسته‌بندی فروش‌ها به عنوان بالا یا کم بر اساس یک آستانه استفاده کنید:

Sales Category = IF(Sales[Amount] > 5000, "High", "Low")

۱۲- تابع SWITCH

تابع SWITCH شبیه تابع IF است اما به شما امکان می‌دهد چندین شرایط را ارزیابی کنید و مقادیر مختلف را بر اساس هر شرط برگردانید.

مثال: فرض کنید یک جدول با یک ستون برای رتبه‌بندی محصولات دارید. می‌توانید از تابع SWITCH برای اختصاص یک دسته‌بندی بر اساس مقدار رتبه‌بندی استفاده کنید:

Rating Category = SWITCH(
    Products[Rating],
    ۱, "Poor",
    ۲, "Average",
    ۳, "Good",
    ۴, "Very Good",
    ۵, "Excellent",
    "Unrated"
)

۱۳- تابع ISBLANK

تابع ISBLANK خالی یا خالی بودن یک مقدار را بررسی می‌کند. اگر مقدار خالی باشد TRUE و در غیر این صورت FALSE را برمی‌گرداند.

مثال: فرض کنید یک جدول با یک ستون برای تاریخ سفارش دارید. می‌توانید از تابع ISBLANK برای شناسایی سفارش‌های با تاریخ‌های گمشده استفاده کنید:

Missing Order Dates = ISBLANK(Orders[OrderDate])

۱۴- توابع AND و OR

توابع AND و OR عملیات منطقی را انجام می‌دهند. آنها بر اساس شرایط منطقی مشخص‌شده، TRUE یا FALSE را برمی‌گردانند.

مثال: فرض کنید یک جدول با ستون‌هایی برای قیمت و مقدار محصول دارید. می‌توانید از تابع AND برای بررسی اینکه آیا قیمت و مقدار هر دو معیارهای خاصی را دارند یا خیر استفاده کنید:

High Price and Low Quantity = AND(Products[Price] > 50, Products[Quantity] < 10)

۱۵- تابع DATE

تابع DATE یک تاریخ از مقادیر مشخص‌شده سال، ماه و روز ایجاد می‌کند. برای کار با محاسبات مربوط به تاریخ مفید است.

مثال: فرض کنید یک جدول با ستون‌های سال، ماه و روز دارید. می‌توانید از تابع DATE برای ایجاد فیلد تاریخ استفاده کنید:

Order Date = DATE(Orders[Year], Orders[Month], Orders[Day])

۱۶- توابع YEAR، MONTH و DAY

توابع YEAR، MONTH و DAY به ترتیب اجزای سال، ماه و روز را از یک تاریخ استخراج می‌کنند.

مثال: فرض کنید یک جدول با یک ستون برای تاریخ سفارش دارید. می‌توانید از توابع YEAR، MONTH و DAY برای استخراج اجزای مربوطه استفاده کنید:

Order Year = YEAR(Orders[OrderDate])
Order Month = MONTH(Orders[OrderDate])
Order Day = DAY(Orders[OrderDate])

۱۷- تابع FORMAT

تابع FORMAT یک مقدار را به یک فرمت مشخص تبدیل می‌کند. برای قالب‌بندی اعداد، تاریخ‌ها و زمان‌ها مفید است.

مثال: فرض کنید یک جدول با ستونی برای مبالغ فروش دارید. می‌توانید از تابع FORMAT برای فرمت مبالغ به عنوان ارز استفاده کنید:

Formatted Sales = FORMAT(Sales[Amount], "Currency")

۱۸- تابع RANKX

تابع RANKX رتبه یک مقدار را در یک ستون مشخص محاسبه می‌کند. برای ایجاد رتبه‌بندی بر اساس معیارهای خاص مفید است.

مثال: فرض کنید یک جدول با یک ستون برای فروش محصول دارید. می‌توانید از تابع RANKX برای رتبه‌بندی محصولات بر اساس میزان فروش استفاده کنید:

Product Rank = RANKX(ALL(Products), Products[SalesAmount])

۱۹- تابع RELATED

تابع RELATED یک مقدار را از یک جدول مرتبط بر اساس یک رابطه مشخص شده بازیابی می‌کند.

مثال: فرض کنید یک جدول با یک ستون برای شناسه مشتری و یک جدول دیگر با نام مشتریان دارید. می‌توانید از تابع RELATED برای بازیابی نام مشتریان مربوطه بر اساس شناسه‌ها استفاده کنید:

Customer Name = RELATED(Customers[Name])

۲۰- تابع CALCULATETABLE

تابع CALCULATETABLE با اعمال فیلترها بر روی یک جدول یا ستون موجود، یک جدول جدید ایجاد می‌کند.

مثال: فرض کنید یک جدول با ستون‌هایی برای مقادیر و مناطق فروش دارید. می‌توانید از تابع CALCULATETABLE برای فیلتر کردن مبالغ فروش بر اساس منطقه استفاده کنید:

West Sales Table = CALCULATETABLE(
    Sales,
    Sales[Region] = "West"
)

۲۱- توابع FIRSTNONBLANK و LASTNONBLANK

توابع FIRSTNONBLANK و LASTNONBLANK به ترتیب اولین یا آخرین مقدار غیر خالی را از یک ستون یا عبارت مشخص شده برمی‌گردانند.

مثال: فرض کنید یک جدول با یک ستون برای فروش محصول دارید. می‌توانید از توابع FIRSTNONBLANK و LASTNONBLANK به ترتیب برای بازیابی اولین و آخرین مبالغ فروش غیر خالی استفاده کنید:

First Sale = FIRSTNONBLANK(Sales[Amount], Sales[Amount])
Last Sale = LASTNONBLANK(Sales[Amount], Sales[Amount])

۲۲- تابع DIVIDE

تابع DIVIDE دو عدد را تقسیم می‌کند و با برگرداندن یک مقدار جایگزین مشخص، مقادیر صفر یا خالی را به خوبی مدیریت می‌کند.

مثال: فرض کنید یک جدول با ستون‌هایی برای فروش و واحدهای فروخته شده دارید. می‌توانید از تابع DIVIDE برای محاسبه فروش در هر واحد استفاده کنید، در صورتی که واحدهای فروخته شده صفر باشد:

Sales per Unit = DIVIDE(Sales[Amount], Sales[UnitsSold], 0)

نکات کلیدی برای استفاده بهتر از DAX

  • مدل داده قوی، کلید موفقیت در DAX است. قبل از نوشتن فرمول‌ها، روابط بین جداول را به درستی طراحی کنید.

  • از Measures به جای ستون‌های محاسبه‌شده استفاده کنید تا عملکرد گزارش بهتر شود.

  • برای تحلیل‌های زمانی، جدول تاریخ (Date Table) ایجاد و آن را در Power BI علامت‌گذاری کنید.

  • برای داده‌های حجیم، بهینه‌سازی Query Folding و استفاده از SUMMARIZE یا GROUPBY را در نظر بگیرید

نتیجه‌گیری

در این مقاله تعدادی از قدرتمندترین فرمولها و توابع DAX را در Power BI بررسی کردیم. این توابع DAX پایه و اساس ایجاد ستون‌های محاسبه‌شده، اندازه‌گیری‌ها و محاسبات پیشرفته را فراهم می‌کنند و شما را قادر می‌سازند تا داده‌ها را ویرایش و جمع‌آوری کنید تا بینش‌های ارزشمندی به دست آورید. با تسلط بر این فرمول‌ها و توابع DAX، می‌توانید پتانسیل کامل Power BI را برای تجزیه و تحلیل و تجسم داده‌ها به طور موثر استفاده کنید.

سوالات متداول (FAQ)

۱. DAX چیست و در کجا استفاده می‌شود؟
DAX زبان فرمول‌نویسی مایکروسافت است که در Power BI، Excel Power Pivot و SSAS Tabular برای انجام محاسبات پیشرفته استفاده می‌شود.

۲. آیا DAX همان Excel Formula است؟
خیر، هرچند شباهت‌هایی در توابع وجود دارد، اما DAX قدرت پردازش داده در مدل‌های چندبعدی و ارتباطی را دارد.

۳. یادگیری DAX چقدر زمان می‌برد؟
بسته به سطح تجربه شما، از چند هفته برای مبانی تا چند ماه برای تسلط کامل متغیر است.

۴. بهترین منبع یادگیری DAX چیست؟
آموزش‌های عملی همراه با پروژه واقعی، مثل دوره‌های تخصصی شرکت لاندا، سریع‌ترین مسیر یادگیری است.

۵. آیا می‌توانم بدون دانش برنامه‌نویسی DAX یاد بگیرم؟
بله، اما داشتن درک از منطق داده و مدل‌سازی، روند یادگیری را بسیار آسان‌تر می‌کند.

چرا یادگیری DAX با لاندا؟

شرکت توسعه فناوری اطلاعات لاندا با تخصص در پیاده‌سازی راهکارهای هوش تجاری (BI)، داشبوردهای تحلیلی و مدل‌سازی داده، دوره‌های تخصصی و پروژه‌محور DAX را ارائه می‌دهد.
با تیم لاندا، شما فقط فرمول‌ها را حفظ نمی‌کنید، بلکه در پروژه‌های واقعی آن‌ها را پیاده‌سازی می‌کنید.

منابع و مقالات
تماس و مشاوره

اگر می‌خواهید گزارش‌ها و داشبوردهای Power BI خود را به سطح حرفه‌ای برسانید، همین حالا با تیم لاندا تماس  بگیرید.

  • برگزاری دوره‌های آموزشی DAX از مبتدی تا پیشرفته
  • مشاوره تخصصی در بهینه‌سازی مدل داده و فرمول‌ها
  • پیاده‌سازی پروژه‌های هوش تجاری

نظری داده نشده

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *