مقدمه ای بر زبان برنامه نویسی DAX در Power BI

بازدید: 30 بازدید

در زمینه تحلیل و تجزیه و تحلیل داده‌ها، Power BI به عنوان ابزاری قدرتمند شناخته می‌شود که به کاربران این امکان را می‌دهد تا از داده‌های خود بینش‌های ارزشمندی استخراج کنند. یکی از اجزای مرکزی عملکرد Power BI، DAX یا Data Analysis Expressions است.

می توانید مقاله ای با موضوع “مروری بر تفاوت‌های کدنویسی در Power BI و Tableau” را مطالعه کنید.

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

در این مقاله، به بررسی کامل Power BI DAX و ارائه مثال‌هایی از توابع DAX خواهیم پرداخت. با ما همراه باشید تا بیشتر بدانید.

DAX در Power BI چیست؟

در اصل، DAX (Data Analysis Expressions) یک زبان فرمول‌نویسی است که به کاربران اجازه می‌دهد محاسبات سفارشی در Power BI ایجاد کنند. این محاسبات می‌توانند از عملیات‌های عددی ساده تا تحلیل‌های آماری پیچیده متغیر باشند.

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

برنامه نویسی DAX

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

چگونه کد DAX را در Power BI بنویسیم؟

نوشتن کد DAX در Power BI یک فرآیند ساده است که شامل ایجاد فرمول‌ها برای انجام محاسبات بر روی داده‌ها می‌شود.

برای نوشتن کد DAX، کاربران می‌توانند از نوار فرمول در Power BI Desktop استفاده کنند یا مستقیماً عبارات را در ستون‌های محاسبه‌شده، اندازه‌گیری‌ها یا جداول محاسبه‌شده وارد کنند. درک نحو و ساختار DAX برای ایجاد و اشکال‌زدایی مؤثر فرمول‌ها در Power BI ضروری است.

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

علاوه بر این، DAX از استفاده از متغیرها برای ذخیره نتایج میانی و بهبود خوانایی عبارات پیچیده پشتیبانی می‌کند.

آیا DAX یک زبان برنامه‌نویسی است؟

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

DAX به عنوان یک زبان تخصصی برای تحلیل داده‌ها در زمینه Power BI در نظر گرفته می‌شود. تمرکز آن بر روی دستکاری و تحلیل داده‌ها آن را از زبان‌های برنامه‌نویسی عمومی متمایز می‌کند.

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

تفاوت بین Power BI Query و DAX چیست؟

Power BI از دو زبان اصلی برای دستکاری داده‌ها استفاده می‌کند: Power Query (M) و DAX.

Power Query مسئول تبدیل و شکل‌دهی داده‌ها است، در حالی که DAX برای محاسبات و تحلیل استفاده می‌شود. در حالی که هر دو زبان برای فرآیند مدل‌سازی داده‌ها در Power BI ضروری هستند، هر یک هدف‌های متمایزی دارند و معمولاً به‌طور همزمان برای ایجاد مدل‌های داده جامع استفاده می‌شوند.

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

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

توابع برنامه نویسی DAX

DAX عمدتاً برای محاسبه بر روی موارد زیر استفاده می‌شود:

  • ستون‌های محاسباتی
  • اندازه‌گیری‌های محاسباتی
  • اندازه‌گیری‌های سریع محاسباتی
  • جدول‌های محاسباتی

1) ستون‌های محاسباتی

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

دو روش برای ایجاد یک ستون محاسباتی وجود دارد:

  • انتخاب “ستون جدید” از نوار ابزار.
  • راست‌کلیک یا انتخاب (…) روی هر محتوایی در فیلد و انتخاب “ستون جدید” از منوی نمایشی.

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

2) معیارهای محاسباتی

می‌توانید معیارهایی را در فیلد جدول خود اضافه کنید که محتوای آن اندازه‌گیری با فرمول‌های DAX تعریف می‌شود. این معیارها عمدتاً برای توابع تجمیعی مانند SUM، AVG، MIN، MAX و غیره که برای محاسبه یک مقدار منفرد استفاده می‌شوند، به کار می‌رود.

دو روش برای محاسبه اندازه‌گیری جدید وجود دارد:

  • انتخاب “معیار جدید” از نوار ابزار.
  • راست‌کلیک یا انتخاب (…) روی هر محتوایی در فیلد و انتخاب “معیار جدید” از منوی نمایشی.

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

3) معیارهای سریع محاسباتی

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

سه روش برای ایجاد معیارهای سریع وجود دارد:

  • انتخاب “معیار سریع جدید” از نوار ابزار.
  • راست‌کلیک یا انتخاب (…) روی هر محتوایی در فیلد و انتخاب “معیار سریع جدید” از منوی نمایشی.
  • راست‌کلیک یا انتخاب فلش کشویی روی هر مقداری در مقادیر آن ویژوال و انتخاب “معیار سریع جدید” از منوی نمایشی.

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

4) جدول‌های محاسباتی

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

نحوۀ فرمول نویسی DAX

DAX یک زبان مبتنی بر فرمول است.

  • A = نام اندازه‌گیری یا ستون
  • B = عملگر، آغاز فرمول DAX
  • C = تابع DAX
  • D = پرانتز برای توابع
  • E = نام جدول
  • F = نام ستون

توابع برنامه نویسی DAX

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

برخی از پرکاربردترین انواع توابع DAX عبارتند از:

  • توابع تجمیعی: DAX دارای تعدادی تابع تجمیعی مانند MIN، MAX، AVERAGE، SUM، SUMX است.
  • توابع شمارش: DAX دارای توابع شمارش مانند DISTINCT COUNT، COUNT، COUNTA، COUNTROWS، COUNTBLANK است.
  • توابع منطقی: DAX دارای توابع منطقی مانند AND، OR، NOT، IF، IFERROR است.
  • توابع متنی: REPLACE، SEARCH، UPPER، FIXED، CONCATENATE.
  • توابع تاریخ: DAX دارای توابع تاریخ مانند DATE، HOUR، WEEKDAY، NOW، EOMONTH است.اگر نیاز به توابع تبدیل تاریخ مسلادی به شمسی دارید کلیک کنید.
  • توابع اطلاعاتی: DAX دارای توابع اطلاعاتی مانند ISBLANK، ISNUMBER، ISTEXT، ISNONTEXT، ISERROR است.

مثال‌هایی از توابع و فرمول‌های DAX

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

برخی از توابع DAX رایج شامل:

  • SUM
  • AVERAGE
  • CALCULATE
  • RELATED

علاوه بر این، DAX توابع قدرتمند هوش زمانی را برای تحلیل روندها و الگوها در طول زمان ارائه می‌دهد، مانند:

  • DATEADD
  • TOTALYTD
  • SAMEPERIODLASTYEAR

برای نشان دادن کاربرد عملی توابع DAX، بیایید سناریویی را بررسی کنیم که در آن نیاز به تحلیل داده‌های فروش برای محاسبه ارقام فروش سال به تاریخ (YTD) داریم.

ما می‌توانیم از تابع TOTALYTD در DAX برای محاسبه فروش تجمعی از ابتدای سال تا تاریخ فعلی استفاده کنیم، با در نظر گرفتن هر فیلتر اعمال شده به داده.

Total Sales YTD = TOTALYTD(SUM(Sales[Amount]), 'Date'[Date])

در این مثال، Sales[Amount] به ستون مبلغ فروش در جدول Sales اشاره دارد و 'Date'[Date] به ستون تاریخ در جدول Date اشاره می‌کند.

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

چرا به برنامه نویسی DAX نیاز داریم؟

  • با استفاده از DAX، می‌توانید داشبوردهای مناسب خود را ایجاد کنید.
  • از ستون‌های محاسباتی DAX زمانی استفاده کنید که نتوانید محاسبات را در Power Query پیاده‌سازی کنید.
  • روش تفکر در مورد نحوه مدیریت داده‌ها به طور مؤثر را بهبود می‌بخشد.
  • استفاده از آن بسیار ساده است.
  • به حل مشکلات کسب‌وکار کمک می‌کند.

نتیجه‌گیری

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

با ادامه افزایش وابستگی سازمان‌ها به تصمیم‌گیری مبتنی بر داده، تسلط بر DAX برای حرفه‌ای‌های داده که به دنبال پیشرفت در زمینه تحلیل هستند، به طور فزاینده‌ای ارزشمند می‌شود.

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

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

منبع1 و منبع2

مطالعه بیشتر