تفاوت زبان M و DAX در Power BI را با یک مثال ساده کشف کنید

تفاوت زبان M و DAX در Power BI را با یک مثال ساده کشف کنید

نوشته شده توسط: تیم فنی نیک آموز
تاریخ انتشار: ۲۷ تیر ۱۴۰۳
آخرین بروزرسانی: ۲۷ تیر ۱۴۰۳
زمان مطالعه: 17 دقیقه
۵
(۱)

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

دوره آموزش تخصصی DAX نیک آموز

نرم افزار Power BI چیست؟

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

کاربردهای Power BI در تحلیل داده‌ ها

Power BI شما را به یک معمار ماهر داده تبدیل می‌کند. با این ابزار می‌توانید:

  • داده‌هایتان را از هرکجا جمع‌آوری کنید

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

  • داده‌ها را به‌شکلی زیبا و قابل فهم ساماندهی کنید

Power BI با ابزارهای بصری فوق‌العاده، به شما کمک می‌کند تا داده‌ها را به‌صورت نمودار، داشبورد و گزارش‌های تعاملی جذاب درآورید.

  • به عمق داده‌ها نفوذ و الگوهای پنهان را کشف کنید

با استفاده از هوش مصنوعی و ابزارهای تحلیل قدرتمند Power BI می‌توانید فراتر از اعداد و ارقام بروید و دلایل مشکلات و چالش‌ها را پیدا کنید.

  • داستان داده‌هایتان را روایت کنید

داشبوردها و گزارش‌های خود را به‌راحتی با دیگران به اشتراک بگذارید تا همه اعضای تیم، از داستان سرایی داده بهره‌مند شوند.

زبان M چیست؟ بررسی کلیدی ترین ویژگی‌ ها

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

  • کوئری‌ها: M مثل یک آهنرباست که داده‌ها را از منابع مختلف مثل فایل‌های اکسل، پایگاه‌های داده و حتی وب‌سایت‌ها جذب می‌کند.
  • تبدیل داده‌ها: داده‌های خام معمولاً بهم‌ریخته هستند. این زبان به شما کمک می‌کند تا آن‌ها را مرتب و فیلتر کرده، دسته‌بندی کنید و هرکاری که برای تحلیل بهتر لازم است، انجام دهید.
  • انواع داده‌ها: زبان M با انواع مختلفی از داده‌ها مثل متن، اعداد، تاریخ و حتی لیست‌ها کار می‌کند.
  • متغیرها: متغیرها مثل جعبه‌هایی هستند که در آن‌ها می‌توانید اطلاعات ذخیره کنید و بعداً در هرکجای کارتان به آن‌ها نیاز داشتید، استفاده کنید.

موارد کاربردی زبان M در بررسی تفاوت زبان M و DAX در Power BI

Power Query، یا همان زبان M، حکم یک ابرقهرمان برای دنیای تجزیه‌وتحلیل داده‌ها بازی می‌کند. این ابزار قدرتمند به شما کمک کرده تا داده‌ها را از منابع مختلف (مثل پوشه‌های محلی، SharePoint، پایگاه‌داده، API، Azure و بسیاری دیگر) وارد و باهم ترکیب کرده و به‌روزرسانی کنید. چه بخواهید داده‌ها را استخراج کنید، سپس تغییر شکل دهید و بارگذاری کنید (ETL) و چه ابتدا استخراج و بارگذاری کرده و بعداً تغییر شکل دهید (ELT)، زبان M همراه شماست.

بعد از وارد کردن داده‌ها، نوبت به مرتب‌کردن و سازماندهی آن‌ها می‌رسد. Power Query (زبان M) این امکان را به شما می‌دهد که:

  • داده‌های تکراری را حذف کنید.
  • نام ستون‌ها را یکدست و خوانا کنید.
  • ستون‌های اضافی که نیازی به آن‌ها ندارید، حذف کنید.
  • داده‌ها را براساس معیارهای خاص مرتب و دسته‌بندی نمایید.
  • داده‌های اضافی که هرگز در تحلیل به‌کار نمی‌آیند، فیلتر کنید.

البته این قوانین همیشه صدق نمی‌کنند. گاهی اوقات محاسبات ساده‌ای وجود دارد که انجام آن‌ها در Power Query بسیار راحت‌تر است. همچنین، در مواجهه با حجم عظیمی از داده‌ها، انجام برخی جمع‌بندی‌ها (Aggregation) در Power Query، جلوی دردسرهای زیادی را می‌گیرد.

زبان DAX چیست؟ بررسی کلیدی ترین ویژگی‌ ها

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

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

  • محاسبات دقیق‌تر انجام دهید

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

  • تحلیل هوشمندانه داده

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

  • اتصال و تحلیل چند جدول

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

  • فرمول‌نویسی آسان

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

موارد کاربردی زبان DAX در بررسی تفاوت زبان M و DAX در Power BI

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

  • جمع‌بندی اطلاعات

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

  • فیلترکردن دقیق

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

  • ایجاد ارتباط بین جداول

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

  • بررسی روابط پیچیده

DAX با داشتن توابع خاص، به شما امکان می‌دهد ماهیت روابط بین داده‌ها را عمیق‌تر درک کنید. مثلاً می‌توانید تعداد رکوردهای مرتبط با یک رکورد خاص را به‌راحتی ببینید.

  • ایجاد ستون‌های ترکیبی

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

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

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

 

ویژگی زبان M زبان DAX
کاربرد
  • بارگیری، تبدیل و فرمت‌دهی داده
  • ترکیب داده‌ها از منابع مختلف
  • پاکسازی و آماده‌سازی داده‌ها برای تجزیه‌وتحلیل
  • محاسبات و تجزیه‌وتحلیل داده‌ها
  • ایجاد معیارها و شاخص‌های کلیدی عملکرد (KPI) ساخت فیلترها و گزارش‌های پویا
  • مدل‌سازی داده‌ها
نحوه استفاده
  • رابط کاربری بصری با دستورات “drag-and-drop” امکان نوشتن کد برای وظایف پیچیده‌تر
  • استفاده از فرمول‌ها شبیه به اکسل
  • توابع و امکانات متنوع برای تجزیه‌وتحلیل عمیق‌تر
مزایا
  • یادگیری آسان‌تر به‌دلیل رابط کاربری گرافیکی 
  • مناسب برای مبتدیان و کاربران بدون دانش برنامه‌نویسی
  • قدرتمند در تبدیل و فرمت‌دهی داده‌ها
  • انعطاف‌پذیری بالا برای محاسبات پیچیده
  • امکان ایجاد معیارها و گزارش‌های پویا
  • سرعت بالا در تجزیه‌وتحلیل حجم زیاد داده‌ها
معایب
  • قدرت محدودتر در تجزیه‌وتحلیل داده‌ها
  • عدم امکان ایجاد توابع و محاسبات سفارشی
  • نیاز به زمان بیشتر برای انجام برخی وظایف خاص
  • یادگیری کمی دشوارتر به‌دلیل استفاده از فرمول‌ها
  • رابط کاربری نه‌چندان بصری
مخاطب
  • کاربران مبتدی و بدون دانش برنامه‌نویسی
  • تحلیلگران داده که باید روی آماده‌سازی داده‌ها تمرکز کنند.
  • تحلیلگران داده باتجربه
  • کاربران علاقه‌مند به تجزیه‌وتحلیل عمیق‌تر داده

 

مقایسه کدهای M و DAX در یک مثال واقعی

در این بخش، تفاوت زبان M و DAX در Power BI را با یک مثال عینی بررسی می‌کنیم. ابتدا یک مجموعه نمونه داده وارد کرده تا از آن برای اجرای کوئری‌ M و DAX استفاده کنیم. برای این کار، مراحل زیر را دنبال کنید:

۱. دریافت داده

برای شروع، روی دکمه (Get Data) در منوی بالا کلیک کنید.

 

دریافت داده در Power BI

 

با کلیک روی این دکمه، پنجره‌ای باز می‌شود که لیست تمام اتصالات داده‌ای قابل دسترسی برای Power BI را نمایش می‌دهد.

۲. انتخاب منبع داده وب

عبارت (Web) را در قسمت جستجو وارد کنید. به محض تایپ کردن، یک نماد در لیست تمام گزینه‌های منبع داده ظاهر می‌شود. گزینه Web را انتخاب کنید و سپس روی دکمه (Connect) در پایین بزنید. 

 

اتصال به Web و انتخاب منبع داده وب در Power BI

 

۳. واردکردن URL مجموعه داده

حالا باید URL زیر را در فیلد با عنوان URL وارد کنید:

https://raw.githubusercontent.com/treselle-systems/customer_churn_analysis/master/WA_Fn-UseC_-Telco-Customer-Churn.csv

پس از وارد کردن URL، روی دکمه (OK) کلیک کنید.

 

واردکردن URL مجموعه داده در Power BI

 

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

۴. انتخاب ویرایشگر کوئری

پس از دانلود داده‌ها، دو گزینه دارید: 

  1. شما می‌توانید مستقیماً داده‌ها را در (Data/Report View) وارد کنید.
  2. ابتدا داده‌ها را در ویرایشگر کوئری (Query Editor) بارگذاری کنید. 

از آنجایی که زبان M در ویرایشگر کوئری کار می‌کند، ابتدا با کلیک‌کردن روی (Transform Data) داده‌ها را در کوئری ادیتور بارگذاری می‌کنیم. در کوئری ادیتور اطلاعاتی درمورد مشتری مانند جنسیت، سابقه، خدمات تلفن، خدمات اینترنت، وابستگان و… را مشاهده خواهید کرد.

 

انتخاب ویرایشگر کوئری در Power BI

 

پس از کلیک روی دکمه Transform، باید کوئری ادیتور را مشاهده کنید.

 

انتخاب ویرایشگر کوئری در Power BI

 

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

تا این مرحله، یک نمونه داده در اختیار داریم، اکنون نحوه استفاده از این داده‌ها را به هردو زبان بررسی می‌کنیم. اکنون می‌خواهیم با استفاده از زبان M، داده‌های موجود در بخش کوئری ادیتور را مدیریت کنیم. با کلیک روی گزینه Edit Queries از منوی بالا، ویرایشگر را باز کنید.

 

استفاده از زبان M برای مدیریت داده‌های موجود در بخش کوئری ادیتور در Power BI

 

در بخش Edit Queries فقط نام جدول شما در پنل سمت چپ صفحه نمایش داده می‌شود. روی جدول داده‌ای «WA_Fn-UseC_-Telco-Customer-Churn» از پنل سمت چپ کوئری ادیتور کلیک کنید:

 

استفاده از زبان M برای مدیریت داده‌های موجود در بخش کوئری ادیتور در Power BI

 

برای دیدن کوئری‌ها در M، هر ستونی را انتخاب کنید، مثلاً (Partner) و سپس روی دکمه Remove Columns از منوی بالا کلیک کنید. این کار، ستون Partner را از جدول حذف می‌کند؛ همانطورکه در زیر نشان می‌بینید:

 

دیدن کوئری‌ها در M در Power BI

 

با کلیک روی گزینه (View) از منوی بالا پیش بروید.

 

دیدن کوئری‌ها در M در Power BI

 

حالا کادر (Formula Bar) را علامت بزنید. اکنون باید یک کوئری در Formula Bar ببینید. کوئری در اینجا «= Table.RemoveColumns(#”Changed Type”,{“Partner”})» است. کوئری به زبان M که برای حذف ستون Partner از جدول استفاده می‌شود. همانطور که می‌بینید، کوئری بیشتر شبیه به یک دستور SQL یا LINQ (زبان یکپارچه با کوئری) در سی شارپ است.

 

حذف کوئری‌ها در M در Power BI

 

برای دیدن تمام کوئری‌های M که قبلاً در مجموعه داده خود اجرا کردید، روی (View) – (Advanced Editor) کلیک کنید.

 

دیدن کوئری‌ها در M در Power BI

 

با کلیک روی گزینه Advanced Editor از منوی بالا، باید پنجره ویرایشگر پیشرفته را مشاهده کنید. این پنجره حاوی تمام کوئری زبان M است که تاکنون در سشن اخیر اجرا کردید.

 

دیدن کوئری‌ها در M در Power BI

 

می‌بینید که آخرین کوئری، همانی است که ستون Partner را از جدول حذف کرده است. کوئری (Change Type) برای اختصاص‌دادن انواع داده به ستون‌های مختلف در مجموعه داده قبل از آخرین کوئری استفاده می‌شود. پیش از آن، کوئری (Promoted Headers) برای تنظیم ستون‌های سربرگ مورد استفاده قرار می‌گیرد. اگر کوئری دیگری اجرا کنید، آن کوئری نیز در انتهای لیست کوئری در Advanced Editor نمایش داده می‌شود.

اکنون می‌خواهیم یک ستون ساده به جدول کتاب‌ها اضافه کنیم و کوئری M مربوط به آن را ببینیم. روی گزینه (Add Column) -> (Custom Column) در منوی بالای پنجره کلیک کنید.

 

اضافه کردن ستون به جدول در M در Power BI

 

در این مرحله از تفاوت زبان M و DAX در Power BI ، باید پنجره زیر را ببینید. روی ستون‌های (TotalCharges) و (MonthlyCharges) به ترتیب کلیک کنید. سپس روی دکمه (Insert) بزنید تا آن‌ها را در پنجره ویرایشگر کوئری وارد کنید. در این پنجره، علامت «+» را بین دو نام ستون اضافه کنید و روی دکمه (OK) بزنید.

 

اضافه کردن ستون به جدول در M در Power BI

 

اکنون باید یک ستون جدید به نام (Monthly-Total) به جدول اضافه شده باشد. در نوار فرمول، همچنین می‌توانید کوئری M ایجاد شده برای ساختن ستون را ببینید. ستون Monthly-Total عملاً مجموع مقادیر موجود در ستون‌های TotalCharges و MonthlyCharges را نشان می‌دهد.

 

اضافه کردن ستون به جدول در M در Power BI

 

اگر دوباره پنجره Advanced Editor را باز کنید، کوئری استفاده‌شده برای اضافه‌کردن ستون Monthly-Total را در انتهای کوئری Advanced Editor خواهید دید.

 

دیدن کوئری‌ها در M در Power BI

 

ایجاد ستون Monthly-Total با DAX

در ادامه بررسی تفاوت زبان M و DAX در Power BI ، می‌خواهیم ستون Monthly-Total 2 را با استفاده از DAX ایجاد کنیم. برای این کار، مراحل زیر را انجام خواهیم داد:

  1. ازطریق Close & Apply، به بخش Data بروید.
  2. پروی جدول “WA_Fn-UseC_-Telco-Customer-Churn” کلیک کنید.

 

ایجاد ستون به جدول با DAX در Power BI

 

  1. از منوی “Modeling”، روی “New Column” کلیک کنید.

 

ایجاد ستون به جدول با DAX در Power BI

 

  1. در پنجره “New Measure”، نام معیار را “Monthly-Total 2” و فرمول را به‌صورت زیر وارد کنید:

 

[Monthly-Total 2] = [TotalCharges] + [MonthlyCharges]

 

در این فرمول، [TotalCharges] و [MonthlyCharges] به ترتیب به ستون‌های “کل هزینه‌ها” و “هزینه‌های ماهانه” اشاره می‌کنند. علامت “+” برای جمع کردن مقادیر این دو ستون استفاده می‌شود.

 

ایجاد ستون به جدول با DAX در Power BI

 

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

جمع بندی: تفاوت زبان M و DAX در Power BI

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

چه رتبه ای می‌دهید؟

میانگین ۵ / ۵. از مجموع ۱

اولین نفر باش

title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
317 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
معرفی محصول
title sign
دیدگاه کاربران

ثبت‌نام دوره‌های آنلاین تابستانه نیک‌آموز شروع شد 🏄
مشاهده سرفصل و رزرو رایگان
close-image