زبان DAX چیست؟
DAX یا Data Analysis Expressions یک زبان فرمولنویسی قدرتمند است که در ابزارهای تحلیل داده مایکروسافت مانند Power BI، Excel Power Pivot و SQL Server Analysis Services (SSAS) استفاده میشود. با DAX میتوان دادههای پیچیده را مدلسازی، تحلیل و در قالب گزارشهای تعاملی و داشبوردهای حرفهای ارائه کرد.
تاریخچه زبان DAX
این زبان در سال ۲۰۱۰ توسط مایکروسافت معرفی شد و نخستین بار در Power Pivot اکسل به کار گرفته شد. هدف آن، ایجاد یک زبان محاسباتی ساده ولی قدرتمند برای تحلیلگران داده بود تا بتوانند بدون نیاز به برنامهنویسی پیچیده، تحلیلهای پیشرفته انجام دهند.
ساختار و اجزای اصلی DAX
مجموعهای از توابع (Functions) و عملگرها (Operators) است که در چهار دسته کلی استفاده میشوند:
- توابع ریاضی:
SUM
،AVERAGE
،MIN
،MAX
- توابع تاریخ و زمان:
TODAY
،DATE
،YEAR
،MONTH
- توابع متنی:
CONCATENATE
،LEFT
،RIGHT
- توابع منطقی:
IF
،AND
،OR
کاربردهای مهم DAX در تحلیل داده
- محاسبات سفارشی: ایجاد ستونهای محاسباتی (Calculated Columns) و معیارها (Measures) برای گزارشها.
- تحلیل زمانی پیشرفته: مقایسه دادهها در بازههای مختلف، محاسبه رشد، مجموع تجمعی و تحلیل روندها.
- مدلسازی دادهها: ایجاد روابط بین جداول و ساخت مدلهای پیچیده.
- جستجو و بازیابی داده: استفاده از توابعی مانند
LOOKUPVALUE
وRELATED
.
نمونه فرمولهای
محاسبه مجموع فروش:
Sales Total = SUM(Sales[SalesAmount])
میانگین فروش ماهانه:
Monthly Sales Average = AVERAGE(Sales[SalesAmount])
تعداد روزهای کاری در ماه:
Workdays in Month =
COUNTROWS(
FILTER(
CALENDAR(MIN(Sales[Date]), MAX(Sales[Date])),
WEEKDAY([Date], 2) <= 5
)
)
مفاهیم کلیدی در DAX
- ستون محاسباتی (Calculated Column): محاسبه و ذخیره داده در زمان بارگذاری.
- معیار (Measure): محاسبه دینامیک بر اساس زمینه (Context).
- زمینه (Context): شامل زمینه ردیف و زمینه فیلتر که بر نحوه محاسبه نتایج تأثیر میگذارند.
توابع پیشرفته DAX
- تحلیل زمانی:
Sales YTD = TOTALYTD(SUM(Sales[SalesAmount]), Dates[Date])
Sales LY = CALCULATE(SUM(Sales[SalesAmount]), SAMEPERIODLASTYEAR(Dates[Date]))
- توابع جستجو:
Product Category = LOOKUPVALUE(Categories[CategoryName], Categories[CategoryID], Products[CategoryID])
Product Price = RELATED(Products[Price])
نکات بهینهسازی
- حذف دادههای غیرضروری برای کاهش حجم مدل.
- استفاده از توابع تجمعی برای افزایش سرعت پردازش.
- مدیریت صحیح زمینه برای جلوگیری از محاسبات نادرست.
- بهینهسازی مدل داده با ایجاد روابط کلید اصلی و کلید خارجی.
FAQ – سوالات متداول
۱. آیا برای یادگیری DAX باید برنامهنویسی بلد باشم؟
خیر، DAX بر پایه منطق فرمولنویسی اکسل است و برای یادگیری آن نیازی به دانش برنامهنویسی پیشرفته ندارید.
۲. DAX در چه نرمافزارهایی استفاده میشود؟
در Power BI، Excel Power Pivot و SQL Server Analysis Services.
۳. تفاوت ستون محاسباتی و معیار در DAX چیست؟
ستون محاسباتی در زمان بارگذاری داده محاسبه و ذخیره میشود ولی معیارها بهصورت لحظهای بر اساس زمینه گزارش محاسبه میشوند.
۴. آیا DAX فقط برای محاسبات عددی است؟
خیر، شامل توابع متنی، تاریخ و زمان، منطقی و جستجو نیز هست.
منابع و مقالات
برای اطلاعات بیشتر و مطالعه تخصصی میتوانید به منابع زیر مراجعه کنید:
- کتاب “Definitive Guide to DAX” نوشته Marco Russo و Alberto Ferrari
- مرجع زبان DAX افزونه کوئری نویسی در اکسل و POWER BI
- مرجع زبان فرمول نویسی M در پاور کوئری
- طراحی داشبوردهای مدیریتی در Microsoft Power BI
تماس و مشاوره
اگر به دنبال تحلیل دادههای دقیق، ساخت داشبوردهای حرفهای و افزایش سرعت تصمیمگیری در سازمان خود هستید،
شرکت توسعه فناوری اطلاعات لاندا با تیمی آماده ارائه آموزش، مشاوره و اجرای پروژههای BI برای شماست.
نظری داده نشده