همه دسته بندی ها
Power Query Editor و زبان M - داده کاوی ویستا

Power Query Editor و زبان M

Power Query Editor و زبان M: قلب تپنده آماده‌سازی داده در Power BI و Excel

در دنیای هوش تجاری و تحلیل داده، مرحله آماده‌سازی و پاکسازی داده‌ها (Data Wrangling) اغلب زمان‌برترین بخش پروژه است. Power Query Editor مایکروسافت، همراه با زبان قدرتمند M (Mashup Query Language)، به عنوان راه‌حلی پیشگامانه برای ساده‌سازی و خودکارسازی این فرآیند ظاهر شده است. این مقاله به بررسی عمیق Power Query Editor، محیط کاری بصری آن، و زبان M، که موتور پشت این تبدیل‌ها است، می‌پردازد. ما نحوه استفاده از این ابزار برای اتصال به منابع داده متنوع، اعمال تبدیل‌های پیچیده، و در نهایت ایجاد مدل‌های داده تمیز و بهینه برای تحلیل را شرح خواهیم داد. تسلط بر Power Query Editor و زبان M، یک مهارت اساسی برای هر متخصص داده است.

 آشنایی با Power Query Editor: محیط کار انقلابی

Power Query Editor یک ابزار ETL (Extract, Transform, Load) سبک است که در محصولات مایکروسافت مانند Power BI Desktop و Excel ادغام شده است. هدف اصلی آن، فراهم کردن یک رابط کاربری بصری و کاربرپسند برای انجام عملیات پیچیده تبدیل داده‌ها بدون نیاز به کدنویسی دستی گسترده است.

چرا Power Query حیاتی است؟

  • ETL شخصی: به کاربران اجازه می‌دهد تا فرآیندهای استخراج (E)، تبدیل (T) و بارگذاری (L) داده‌ها را به صورت خودکار و قابل تکرار انجام دهند.

  • اتصال پذیری گسترده: Power Query Editor می‌تواند به صدها منبع داده، از فایل‌های محلی ساده (CSV، Excel) تا پایگاه‌های داده پیچیده (MySQL، SQL Server) و سرویس‌های ابری، متصل شود.

  • بازتولیدپذیری (Reproducibility): تمام مراحل تبدیل (Applied Steps) در Power Query Editor ثبت می‌شوند، به طوری که هر زمان داده‌های منبع به‌روزرسانی شوند، فرآیندها به‌صورت خودکار تکرار خواهند شد.

برای مشاهده ویدیوی آموزشی Append Tables in Power BI در یوتیوب لینک زیر را کلیک کنید

How to Append Tables in Power BI

ویدیوی آموزشی Append Tables در Power BI 

 

 

گشت و گذار در Power Query Editor: اجزای کلیدی

Power Query Editor با طراحی بصری خود، یک پل ارتباطی بین کاربر و کد پیچیده زبان M ایجاد می‌کند.

نوار ابزار (Ribbon)

نوار ابزار، دسترسی آسان به متداول‌ترین عملیات تبدیل داده را فراهم می‌کند، از جمله: گروه‌بندی (Group By)، ادغام کوئری‌ها (Merge Queries)، الحاق کوئری‌ها (Append Queries)، و Pivot/Unpivot کردن داده‌ها.

پنجره کوئری‌ها (Queries Pane)

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

بخش تنظیمات کوئری (Query Settings) و مراحل اعمال شده (Applied Steps)

  • Applied Steps: این مهم‌ترین بخش است. هر عملیات بصری که در Power Query Editor انجام می‌دهید (مانند حذف یک ستون یا تغییر نوع داده)، به عنوان یک مرحله جدید در این لیست ثبت می‌شود.

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

زبان M (Mashup Query Language): موتور قدرتمند پشت صحنه

زبان M یک زبان تابعی (Functional Language) و حساس به حروف (Case-Sensitive) است که به طور خاص برای ساخت کوئری‌های Power Query و تبدیل داده‌ها طراحی شده است.

سینتکس M: توابع و عبارات let

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

  • let: تعریف شروع بلوک کد و تعریف متغیرها (مراحل).

  • in: مشخص می‌کند که خروجی نهایی این بلوک کدام متغیر یا عبارت خواهد بود.

مثال ساده: دستورات Source، Navigation، و Changed Type که به صورت بصری در Power Query Editor ایجاد می‌شوند، در زبان M به عنوان متغیر تعریف می‌گردند.

Power Query Editor و زبان M - داده کاوی ویستا

توابع کلیدی و پیشرفته M

برای عملیات‌هایی که در رابط بصری Power Query Editor به سادگی قابل انجام نیستند، باید مستقیماً از ویرایشگر پیشرفته (Advanced Editor) استفاده کرد و با زبان M کار کرد.

  • Table.AddColumn: اضافه کردن ستون‌های سفارشی بر اساس منطق پیچیده.

  • List.Generate: ایجاد لیست‌های سفارشی و سری‌های داده.

  • Function.Invoke: فراخوانی یک تابع سفارشی M روی داده‌ها.

زبان M و ارزیابی تأخیری (Lazy Evaluation)

یکی از جنبه‌های کلیدی زبان M این است که تنها زمانی یک مرحله را محاسبه می‌کند که به آن نیاز باشد (ارزیابی تأخیری). این ویژگی باعث می‌شود که Power Query در مواجهه با داده‌های حجیم بسیار کارآمد باشد، زیرا تمام مجموعه داده را بلافاصله بارگیری نمی‌کند.

تکنیک‌های پیشرفته با Power Query Editor و M

تسلط بر تکنیک‌های زیر، کاربرد Power Query Editor را از یک ابزار ساده تبدیل به یک ابزار قدرتمند مهندسی داده ارتقا می‌دهد.

ادغام فایل‌ها از یک پوشه (Combining Files from a Folder)

این تکنیک یکی از پرکاربردترین قابلیت‌هاست. Power Query Editor به صورت خودکار یک تابع M می‌سازد تا ساختار داده‌ها را از یک نمونه فایل استخراج کرده و سپس آن تابع را بر روی تمام فایل‌های موجود در یک پوشه اعمال کند. این عملیات، فرآیند جمع‌آوری داده‌ها از فایل‌های متعدد (مانند گزارش‌های ماهیانه اکسل) را خودکار می‌کند.

پارامترها و توابع سفارشی (Custom Functions)

ایجاد پارامترها در Power Query Editor (به عنوان مثال، برای تعیین تاریخ شروع یا نام سرور) و سپس ساخت توابع M که از این پارامترها استفاده می‌کنند، امکان ساخت کوئری‌های بسیار انعطاف‌پذیر و قابل استفاده مجدد را فراهم می‌کند.

بهینه‌سازی و Query Folding

  • Query Folding: این یک مفهوم حیاتی برای عملکرد است. Power Query تلاش می‌کند تا عملیات تبدیل (که به زبان M نوشته شده‌اند) را به دستورات معادل SQL تبدیل کرده و آن را به منبع داده اصلی (مانند SQL Server) برگرداند. این فرآیند باعث می‌شود که پردازش داده‌ها در سمت سرور انجام شود (جایی که معمولاً سریع‌تر است) و نه در حافظه محلی کامپیوتر کاربر. تسلط بر Power Query Editor به معنی نوشتن کد M است که از Query Folding پشتیبانی کند.

منحنی یادگیری (Learning Curve) زبان M

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

از رابط کاربری تا کدنویسی

کاربران ابتدا تبدیل‌ها را به صورت بصری در Power Query Editor انجام می‌دهند و سپس به ویرایشگر پیشرفته می‌روند تا کد M تولید شده را تحلیل و بهینه‌سازی کنند. این دیدگاه دوگانه، فرآیند یادگیری M را تسهیل می‌کند.

تفاوت M با SQL و Python

بر خلاف SQL که زبانی اعلانی (Declarative) است، و Python که یک زبان دستوری (Imperative) است، M یک زبان تابعی است. درک این تفاوت، به ویژه در نحوه کار با توابع لیست (List Functions) و جدول (Table Functions) در M، برای تسلط کامل ضروری است.

تسلط بر Power Query، کلید موفقیت در BI

Power Query Editor و زبان M بیش از یک ابزار ساده تمیزکاری داده هستند؛ آن‌ها یک محیط کامل مهندسی داده را در دسترس تحلیلگران و متخصصان هوش تجاری قرار می‌دهند. تسلط بر Power Query Editor به معنی توانایی اتصال به هر منبع داده، خودکارسازی فرآیندهای پیچیده تبدیل و اطمینان از صحت و کارایی مدل داده نهایی است. با درک دقیق از نحوه عملکرد زبان M و به کارگیری تکنیک‌هایی مانند Query Folding، کاربران می‌توانند نه تنها در زمان صرفه‌جویی کنند، بلکه عملکرد گزارش‌ها و داشبوردهای خود را در Power BI و Excel به شدت افزایش دهند. Power Query و زبان M برای هر کسی که به طور جدی با داده‌ها سروکار دارد، یک مهارت حیاتی و غیرقابل جایگزین است.

 

امیدواریم از این پست لذت برده باشید

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

رسانه های اجتماعی ما را برای به روز رسانی نرم افزارهای، BI و AI دنبال کنید.

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

سپاسگذاریم از وقتی که برای خواندن این مقاله گذاشتید

.

برای خرید لایسنس پاور بی ای کلیک کنید

.

خرید دوره آموزشی پاور بی آی

 

امتیاز دهید

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سبد خرید
ورود

هنوز حساب کاربری ندارید؟

تلگرام تلگرام اینستاگرام اینستاگرام یوتیوب یوتیوب لینکدین لینکدین بله بله ایتا ایتا آپارات آپارات
خانه
0 محصول سبد خرید
0 علاقه مندی