سلام دوستان عزیز وقتتون بخیر؛ آرزوی اوقات خوشی رو براتون داریم 🙂 در این جلسه از سری آموزش های پویش پایدار در خدمتتون هستیم برای تشریح زبان DAX (دکس) و نحوه فرمول نویسی در Power BI تا متوجه بشیم که زبان DAX (دکس) چیست؟ و چه ساختاری داره؟.

null

برو به جلسه بعدی

null

برو به جلسه قبلی

null

زمان ویدیو

12:43 دقیقه

مدرس دوره: سهیل فتحی

مدرس دوره

سهیل فتحی

null

زمان ویدیو

12:43 دقیقه

مدرس دوره: سهیل فتحی

مدرس دوره

سهیل فتحی

null

جلسه قبلی

زبان DAX در Power BI

اگر به تازگی با نرم افزار Power BI آشنا شدید، احتمالا بعد از ورود داده به نرم افزار و کمی کار مقدماتی با ویژوال های این نرم افزار متوجه شدید که برای کارهای پیشرفته، ساخت ستون های محاسباتی (Calculated Columns) و ساخت مژر (Measure)، این نرم افزار هم مانند نرم افزار اکسل نیازمند فرمول نویسی است. فرمول نویسی در پاور بی آی (Power BI) توسط زبان DAX انجام می شود.

معرفی زبان DAX

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

مایکروسافت DAX را برای تعامل با داده‌ها در انواع سیستم عامل‌های خود مانند پاور بی آی (Power BI)، پاور پیوت در اکسل (Excel Power Pivot) و SSAS Tabular ایجاد کرد.

در Power BI، زبان DAX را برای سه کار مورد استفاده قرار می دهیم:

  • ساخت مژر (Measure)
  • ساخت ستون محاسباتی
  • ساخت جدول محاسباتی

برای ایجاد هر یک از سه مورد فوق باید به تب Modeling رفته و روی گزینه مورد نظر در کادر قرمز رنگ کلیک کنید.

زبان DAX در تب Modeling بخش Calculation در Power BI کاربرد زیادی دارد

زبان DAX در تب Modeling بخش Calculation در Power BI کاربرد زیادی دارد

 

بدون یادگیری دکس نمی توان در پاور بی آی داشبورد ساخت؟

زمانیکه میخواهیم از داده هایمان داشبوردهای مدیریتی بسازیم، ابتدا داده ها را در پاورکوئری Transform (تبدیل و پاکسازی) می کنیم و با این کار قدم بزرگی در جهت ساخت داشبورد برداشته ایم و با چند drag & drop کردن ساده می توانیم از ویژوال های Power BI استفاده کرده و داشبورد مورد نظرمان را بسازیم. اما وقتی نیازهای ما در ساخت داشبوردها حرفه ای و پیچیده باشد، دیگر نمی توانیم تنها با drag & drop کردن داده ها به هدفمان برسیم.

برای مثال فرض کنید داده های مرتبی از فروش محصولات مختلف شرکت در شهرهای مختلف داریم و می خواهیم مجموع فروش یک محصول خاص در یک شهر خاص در بازه زمانی مشخصی را به دست آوریم و آن را داخل یک ویژوال در داشبوردمان قرار دهیم و با فیلتر شدن هر داده ای این ویژوال تغییر نکند. در این صورت ما نیازمند استفاده از زبان دکس و ساخت یک Measure برای این منظور هستیم.

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

توابع در زبان دکس

مشابه فرمول نویسی در اکسل، فرمول نویسی با استفاده از زبان DAX نیز بیشتر بر پایه استفاده از توابع است. زبان DAX حدود 375 تابع دارد که می توانید لیست این توابع را در رفرنس DAX مشاهده کنید. این توابع هر کدام نام، آرگومان (ورودی) و خروجی های مختص خود را دارند. برخی توابع بدون آرگومان هستند، برخی تک آرگومانی، برخی دو آرگومانی و … . برای مثال تابع NOW() بدون آرگومان است و با فراخوانی آن، تاریخ و زمان حال حاضر درج می شود. تابع SUM تک آرگومانی است و یک ستون از یک جدول را به عنوان ورودی می گیرد و اعداد داخل آن ستون را با هم جمع می کند و به عنوان خروجی برمیگرداند.

توابع زبان DAX در دسته بندی های زیر قرار دارند:

  • Date and Time
  • Time Intelligence
  • Information
  • Logical
  • Mathematical
  • Statistical
  • Text
  • Parent/Child
  • Other functions

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

بسیاری از توابع dax مشابه اکسل هستند اما فرمول نویسی با استفاده از توابع در دکس و اکسل تفاوت هایی به شرح زیر دارد:

  • در توابع اکسل می توان مستقیما یک سلول خاص (مثلاً A2) را در فرمول مورد استفاده و ارجاع قرار داد اما در دکس، ورودی توابع جداول یا ستون خاصی از جدول است. اگر می خواهید فقط از مقادیر خاصی از یک جدول یا ستون استفاده کنید، می توانید فیلترهایی را به فرمول اضافه کنید.
  • در اکسل زمانیکه بخواهیم محاسباتی را به صورت سطر به سطر انجام دهیم، باید از قابلیت اتوفیل استفاده کنیم. اگر بخواهیم محاسبات را به‌ صورت ردیف به ردیف انجام دهیم، DAX توابعی را ارائه می‌کند که به ما امکان می‌دهد از مقدار ردیف فعلی یا یک مقدار مرتبط به عنوان نوعی آرگومان برای انجام محاسبات بر اساس زمینه استفاده کنیم.

ساختار زبان DAX

برای تشریح ساختار فرمول نویسی در زبان دکس به مثال زیر توجه کنید:

فرض کنید جدولی به نام Sales داریم که در هر رکورد آن میزان فروش محصول در یک تاریخ مشخص درج شده است و یکی از ستون های این جدول SalesAmount است. در این ستون مقادیر فروش محصول مورد نظرمان قرار گرفته است. حال ما میخواهیم مجموع فروش محصول را به دست آوریم. همانطورکه در مقاله مربوط به Measure گفتیم، برای این منظور مژری به شرح زیر ایجاد می کنیم:

ساختار زبان DAX در Power BI

ساختار زبان DAX در Power BI

A: نام مژر

B: عملگر علامت مساوی (=) که شروع فرمول را نشان می دهد. وقتی محاسبه شد، نتیجه ای را برمی گرداند.

C: نام تابع (در اینجا SUM)

D: پرانتزهای ابتدایی و انتهایی تابع؛ پس از نام تابع بلافاصله یک پرانتز باز کرده و در انتها زمانیکه کارمان با تابع تمام شد، یک پرانتز میبندیم.

E: نام جدول مورد نظر (در اینجا Sales)

F: نام ستون مورد نظر (در اینجا SalesAmount)

نکته:

لازم به ذکر است که تابع SUM یک تابع تک آرگومانی است و در صورتی که برای فرمول نویسی نیازمند استفاده از توابع چند آرگومانی باشیم، با قرار دادن کاما پس از ورود آرگومان اول، آرگومان بعدی را درج میکنیم و به همین ترتیب تا آخرین آرگومان.

همانطورکه در این مثال دیدید، ورودی تابع SUM در زبان DAX یک ستون از یک جدول است. اما در اکسل ورودی تابع SUM میتواند یک سلول، چند سلول یا یک ستون از یک جدول باشد.

 

ممنون از توجه شما 🙂

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

مطالب زیر را حتما مطالعه کنید

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

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای مورد نیاز با * مشخص شده است

نوشتن دیدگاه