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

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

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

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

مشاهده و خرید کامل‌ترین دوره Power bi از نیک آموز

نرم افزار 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 با انواع مختلفی از داده‌ها مثل متن، اعداد، تاریخ و حتی لیست‌ها کار می‌کند.
  • متغیرها: متغیرها مثل جعبه‌هایی هستند که در آنها می‌توانید اطلاعات ذخیره کنید و بعداً در هر کجای کارتان به آنها نیاز داشتید، استفاده کنید.

دوره آموزش تخصصی DAX نیک آموزموارد کاربردی زبان 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 عملاً مجموع مقادیر موجود در ستون‌های Total Charges و Monthly Charges را نشان می‌دهد.

اضافه کردن ستون به جدول در 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 بسیار شبیه به توابع اکسل در مایکروسافت هستند.

سخن پایانی

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

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

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

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

اولین نفر باش

گوش به زنگ یلدا
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
401 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
title sign
معرفی محصول
دوره آموزش تخصصی DAX
حمیدرضا حداد

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

1.190.000 تومان 714.000 تومان
title sign
دیدگاه کاربران

  دوره حضوری و غیرحضوری  

هوش تجاری
Enterprise BI

Data Warehouse - ETL - OLAP
با تدریس: مسعود طاهری
مشاهده سرفصل دوره
close-link