DAX (Data Analysis Expressions) یک زبان برنامهنویسی است که مخصوصاً برای کار با دادهها و تحلیل آنها در Power BI، SQL Server Analysis Services و Power Pivot طراحی شده است. این زبان از توابع و قواعد خاصی برای نوشتن عبارات و فرمولها استفاده میکند که درک صحیح این قواعد برای کاربران بسیار اهمیت دارد. در این مقاله، به بررسی قواعد نحوی مهم در نوشتن عبارات DAX خواهیم پرداخت.
1. ساختار کلی عبارات DAX
عبارات DAX معمولاً به شکل توابع تشکیل میشوند. هر تابع باید با نام خود شروع شود و درون آن مقادیر ورودی (آرگومانها) قرار میگیرد. ساختار کلی یک تابع DAX به شکل زیر است:
مثال:
در این مثال، تابع SUM مقادیر موجود در ستون SalesAmount
جدول Sales
را جمع میکند.
2. استفاده از توابع
DAX شامل توابع بسیاری است که به دستههای مختلفی تقسیم میشوند، از جمله توابع محاسباتی، توابع تاریخ و زمان، و توابع منطقی. هر تابع DAX معمولاً نیاز به آرگومانهایی دارد که باید به درستی مشخص شوند.
2.1 توابع محاسباتی
این توابع برای انجام محاسبات ریاضی بر روی دادهها استفاده میشوند. مانند:
- SUM: جمع مقادیر یک ستون
- AVERAGE: محاسبه میانگین
- COUNT: شمارش تعداد رکوردها
مثال:
2.2 توابع تاریخ و زمان
توابع تاریخ و زمان به کاربران این امکان را میدهند تا عملکردهای مختلفی را بر اساس تاریخها انجام دهند. به عنوان مثال:
- TODAY: تاریخ امروز
- YEAR: استخراج سال از تاریخ
مثال:
2.3 توابع منطقی
این توابع برای انجام عملیات شرطی در DAX استفاده میشوند. مانند:
- IF: ارزیابی یک شرط و بازگشت نتایج مختلف بر اساس آن
- SWITCH: انتخاب بین چندین گزینه بر اساس مقدار.
مثال:
3. استفاده از جدولها و ستونها
در عبارات DAX، باید به جدولها و ستونها به درستی ارجاع داد. ساختار ارجاع یک ستون به صورت زیر است:
مثال:
با استفاده از این ساختار، میتوان به راحتی به مقادیر موجود در ستونها یا جدولها دسترسی پیدا کرد.
4. متغیرها
DAX این امکان را به کاربران میدهد که از متغیرها برای ذخیره نتایج موقت استفاده کنند. استفاده از متغیرها میتواند به بهبود خوانایی عبارات و عملکرد کلی آنها کمک کند. برای تعریف یک متغیر، از کلیدواژه VAR استفاده میشود:
ساختار متغیر:
مثال:
در این مثال، ابتدا مجموع فروش در متغیر TotalSales
ذخیره میشود و سپس در نهایت این مقدار بازگردانده میشود.
5. فیلترها و ارتباطات
DAX این امکان را دارد که چندین فیلتر را به صورت همزمان روی دادهها اعمال کند. برای این کار میتوان از توابعی مانند FILTER و CALCULATE استفاده کرد. تابع CALCULATE به شما امکان میدهد تا محاسبات را با توجه به شرایط خاص و فیلترها انجام دهید.
مثال:
در این مثال، جمع فروش فقط برای منطقه “North” محاسبه میشود.
5.1 فیلترگذاری
استفاده از فیلترها در DAX، امکان انجام تحلیلهای دقیقتری را فراهم میکند. با استفاده از توابع FILTER و ALL، میتوان دادهها را فیلتر کرد یا فیلترهای موجود را نادیده گرفت.
مثال:
در اینجا، فقط رکوردهایی که میزان فروش آنها بیشتر از 1000 است، برگردانده میشود.
6. مدیریت خطا
در نوشتن عبارات DAX، ممکن است با خطاهایی مواجه شوید. برای جلوگیری از بروز خطاها و مدیریت آنها، میتوان از توابع خاصی استفاده کرد:
6.1 تابع IFERROR
این تابع به کاربران این امکان را میدهد تا در صورت بروز خطا، نتیجهای متفاوت ارائه دهند. ساختار این تابع به شکل زیر است:
مثال:
در این مثال، اگر تقسیم بر صفر انجام شود، عدد 0 برگردانده میشود.
7. ترتیب ارزیابی
DAX از ترتیب خاصی برای ارزیابی عبارات و توابع استفاده میکند. این ترتیب به شکل زیر است:
- محاسبات داخلی
- فیلترها
- توابع
- عملیات نهایی
با درک این ترتیب، میتوان به درستی توابع و محاسبات را برای دستیابی به نتایج دقیقتر نوشت.
8. توابع تجمیع و گروهبندی
توابع تجمیع در DAX به کاربران این امکان را میدهد تا دادهها را بر اساس یک یا چند ستون گروهبندی کنند و محاسباتی بر روی این گروهها انجام دهند. برای گروهبندی، معمولاً از توابع مانند SUMMARIZE و GROUPBY استفاده میشود.
مثال:
در این مثال، مجموع فروش بر اساس هر منطقه محاسبه میشود.
9. استفاده از نامهای مستعار
DAX به کاربران این امکان را میدهد تا برای ستونها و محاسبات خود نامهای مستعار (Alias) تعریف کنند. این کار میتواند به بهبود خوانایی و سازماندهی عبارات کمک کند.
مثال:
در این مثال، نام مستعار “Total Sales Amount” برای نتیجه محاسبه شده تعیین شده است.
10. نکات نهایی
- خوانایی و نظم: عبارات DAX باید به گونهای نوشته شوند که خوانایی آنها ساده باشد. از فرمتبندی و فاصلهها استفاده کنید تا کد شما قابل فهم باشد.
- تست عبارات: حتماً عبارات خود را بررسی کرده و مطمئن شوید که تمام توابع به درستی کار میکنند.
- استفاده از مستندات: برای اطمینان از درک صحیح توابع و قابلیتهای DAX، به مستندات رسمی مراجعه کنید.
نتیجهگیری
در این مقاله، قواعد نحوی مهم در نوشتن عبارات DAX بررسی شد. آشنایی با ساختار توابع، استفاده از متغیرها، فیلترگذاری، مدیریت خطا و دیگر جنبههای DAX به کاربران این امکان را میدهد که تحلیلهای دقیقی بر روی دادهها انجام دهند. با توجه به قدرت و انعطافپذیری DAX، درک صحیح این قواعد برای هر کاربری که با Power BI یا ابزارهای تحلیلی مشابه کار میکند، ضروری است. با تمرین و استفاده از این قواعد، میتوان به تحلیلگرانی ماهر تبدیل شد که قادر به استخراج اطلاعات ارزشمند از دادهها هستند.
بدون دیدگاه