DAX (Data Analysis Expressions) یک زبان برنامه‌نویسی است که مخصوصاً برای کار با داده‌ها و تحلیل آنها در Power BI، SQL Server Analysis Services و Power Pivot طراحی شده است. این زبان از توابع و قواعد خاصی برای نوشتن عبارات و فرمول‌ها استفاده می‌کند که درک صحیح این قواعد برای کاربران بسیار اهمیت دارد. در این مقاله، به بررسی قواعد نحوی مهم در نوشتن عبارات DAX خواهیم پرداخت.

1. ساختار کلی عبارات DAX

عبارات DAX معمولاً به شکل توابع تشکیل می‌شوند. هر تابع باید با نام خود شروع شود و درون آن مقادیر ورودی (آرگومان‌ها) قرار می‌گیرد. ساختار کلی یک تابع DAX به شکل زیر است:

عبارات DAX
عبارات DAX
نام_تابع (آرگومان1, آرگومان2, ...)

مثال:

عبارات DAX
عبارات DAX
SUM(Sales[SalesAmount])

در این مثال، تابع SUM مقادیر موجود در ستون SalesAmount جدول Sales را جمع می‌کند.

2. استفاده از توابع

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

2.1 توابع محاسباتی

این توابع برای انجام محاسبات ریاضی بر روی داده‌ها استفاده می‌شوند. مانند:

  • SUM: جمع مقادیر یک ستون
  • AVERAGE: محاسبه میانگین
  • COUNT: شمارش تعداد رکوردها

مثال:

عبارات DAX
عبارات DAX
AVERAGE(Sales[SalesAmount])

2.2 توابع تاریخ و زمان

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

  • TODAY: تاریخ امروز
  • YEAR: استخراج سال از تاریخ

مثال:

عبارات DAX
عبارات DAX
YEAR(TODAY())

2.3 توابع منطقی

این توابع برای انجام عملیات شرطی در DAX استفاده می‌شوند. مانند:

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

مثال:

عبارات DAX
عبارات DAX
IF(Sales[SalesAmount] > 1000, "High", "Low")

3. استفاده از جدول‌ها و ستون‌ها

در عبارات DAX، باید به جدول‌ها و ستون‌ها به درستی ارجاع داد. ساختار ارجاع یک ستون به صورت زیر است:

عبارات DAX
عبارات DAX
جدول[ستون]

مثال:

عبارات DAX
عبارات DAX
Sales[SalesAmount]

با استفاده از این ساختار، می‌توان به راحتی به مقادیر موجود در ستون‌ها یا جدول‌ها دسترسی پیدا کرد.

4. متغیرها

DAX این امکان را به کاربران می‌دهد که از متغیرها برای ذخیره نتایج موقت استفاده کنند. استفاده از متغیرها می‌تواند به بهبود خوانایی عبارات و عملکرد کلی آن‌ها کمک کند. برای تعریف یک متغیر، از کلیدواژه VAR استفاده می‌شود:

ساختار متغیر:

عبارات DAX
عبارات DAX
VAR متغیر = عبارت
RETURN عبارت نهایی

مثال:

عبارات DAX
عبارات DAX
EVALUATE
VAR TotalSales = SUM(Sales[SalesAmount])
RETURN TotalSales

در این مثال، ابتدا مجموع فروش در متغیر TotalSales ذخیره می‌شود و سپس در نهایت این مقدار بازگردانده می‌شود.

5. فیلترها و ارتباطات

DAX این امکان را دارد که چندین فیلتر را به صورت همزمان روی داده‌ها اعمال کند. برای این کار می‌توان از توابعی مانند FILTER و CALCULATE استفاده کرد. تابع CALCULATE به شما امکان می‌دهد تا محاسبات را با توجه به شرایط خاص و فیلترها انجام دهید.

مثال:

عبارات DAX
عبارات DAX
CALCULATE(SUM(Sales[SalesAmount]), Sales[Region] = "North")

 

در این مثال، جمع فروش فقط برای منطقه “North” محاسبه می‌شود.

5.1 فیلترگذاری

استفاده از فیلترها در DAX، امکان انجام تحلیل‌های دقیق‌تری را فراهم می‌کند. با استفاده از توابع FILTER و ALL، می‌توان داده‌ها را فیلتر کرد یا فیلترهای موجود را نادیده گرفت.

مثال:

عبارات DAX
عبارات DAX
FILTER(Sales, Sales[SalesAmount] > 1000)

 

در اینجا، فقط رکوردهایی که میزان فروش آنها بیشتر از 1000 است، برگردانده می‌شود.

6. مدیریت خطا

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

6.1 تابع IFERROR

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

عبارات DAX
عبارات DAX
IFERROR(عبارت, نتیجه اگر خطا)

مثال:

عبارات DAX
عبارات DAX
IFERROR(Sales[SalesAmount] / Sales[UnitsSold], 0)

 

در این مثال، اگر تقسیم بر صفر انجام شود، عدد 0 برگردانده می‌شود.

7. ترتیب ارزیابی

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

  1. محاسبات داخلی
  2. فیلترها
  3. توابع
  4. عملیات نهایی

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

8. توابع تجمیع و گروه‌بندی

توابع تجمیع در DAX به کاربران این امکان را می‌دهد تا داده‌ها را بر اساس یک یا چند ستون گروه‌بندی کنند و محاسباتی بر روی این گروه‌ها انجام دهند. برای گروه‌بندی، معمولاً از توابع مانند SUMMARIZE و GROUPBY استفاده می‌شود.

مثال:

عبارات DAX
عبارات DAX
SUMMARIZE(Sales, Sales[Region], "Total Sales", SUM(Sales[SalesAmount]))

 

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

9. استفاده از نام‌های مستعار

DAX به کاربران این امکان را می‌دهد تا برای ستون‌ها و محاسبات خود نام‌های مستعار (Alias) تعریف کنند. این کار می‌تواند به بهبود خوانایی و سازمان‌دهی عبارات کمک کند.

مثال:

عبارات DAX
عبارات DAX
EVALUATE
VAR TotalSales = SUM(Sales[SalesAmount])
RETURN TotalSales AS "Total Sales Amount"

 

در این مثال، نام مستعار “Total Sales Amount” برای نتیجه محاسبه شده تعیین شده است.

10. نکات نهایی

  • خوانایی و نظم: عبارات DAX باید به گونه‌ای نوشته شوند که خوانایی آنها ساده باشد. از فرمت‌بندی و فاصله‌ها استفاده کنید تا کد شما قابل فهم باشد.
  • تست عبارات: حتماً عبارات خود را بررسی کرده و مطمئن شوید که تمام توابع به درستی کار می‌کنند.
  • استفاده از مستندات: برای اطمینان از درک صحیح توابع و قابلیت‌های DAX، به مستندات رسمی مراجعه کنید.

نتیجه‌گیری

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

 

بدون دیدگاه

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