راهنمای کد نویسی در Power Query با زبان M
در این مطلب قصد داریم کد نویسی در Power Query با زبان M را مورد بررسی قرار دهیم. پاورکوئری افزونه ای است که به کاربران Excel و Power BI کمک می کند تا داده ها را از منابع مختلفی جمع آوری کرده، به آسانی به دلخواه خود تغییر شکل داده و در مدل بارگذاری کنند.
M زبانی است که به وسیله آن می توان در Power Query کد نویسی کرد. M درواقع نام غیر رسمی زبان برنامه نویسی Power Query است. عده ای بر این باورند که M مخفف “Data Mash up” است و گروه دیگری بر این باورند که M مخفف عبارت “Data Modeling” می باشد.
هر زبان دارای یک ساختار و ترکیب مخصوص خود می باشد که در ابتدای امر یادگیری، افراد بایستی زمان خود را به یادگیری این قسمت مهم اختصاص دهند. درواقع اگر شما به زبان برنامه نویسی چندان مسلط نیستید هیچ جای نگرانی نیست که بلافاصله با استفاده از زبان M بتوانید شروع به کدنویسی کنید، اما قبل از شروع به یادگیری Power Query لازم و ضروری است که با ترکیب و ساختار این زبان قدرتمند آشنا شوید.
ترکیب ساختار زبان فرمول نویسی M
این فرمول ها همیشه دارای دو قسمت let و in در ساختار خود می باشند. ترکیب و ساختار این زبان در زیر آورده شده است:
در قسمت let تمامی متغیرها، عبارات و مقادیر تعریف می شوند. درواقع در این قسمت کدهایی که قصد اجرای آن را دارید (ورودی) نوشته می شود. هرچیزی که در قسمت in قرار گیرد خروجی کوئری شما خواهد بود. متغیرها را در زبان M می توان به دو صورت مختلف نام گذاری کرد:
⦁ به شکل کلمه یا کلماتی بدون فاصله. برای مثال Variable یا MyVariable.
⦁ اگر شما علاقه مند به گذاشتن فاصله در نام گذاری متغیرها هستید کافی است نام متغیر را در (” “) گذاشته و یک علامت # به ابتدای نام متغیر اضافه نمایید. مثال: “My Variable”#
برای درک بهتر مطلب مثال زیر را با هم مرور می کنیم:
در قسمت let یک متغیر به نام X داریم که مقدار عددی 3 به آن اختصاص داده شده است. در قسمت in ،X به عنوان خروجی کوئری مقدار 3 را برمی گرداند.
فراخوانی دیتا در پاور کوئری
برای فراگیری هرچه بهتر مطالب قبل، مثالی را با هم دنبال می کنیم: جدولی به نام Fruits.xlsx در اکسل ایجاد کرده ایم که شامل اسامی میوه های مختلف به همراه شهر و قیمت آنهاست. درواقع فایل ما شامل سه ستون با سرستونهای “Fruit”، “City”، “Price” می باشد. هدف از این مثال تبدیل فرمت دادههای ستون Price از Number به Currency می باشد.
بعد از ذخیره کردن فایل اکسل بر روی دسکتاپ، فایل جدیدی به نام Fruit Data.xlsx ایجاد کرده تا دادههای فایل قبل را در این فایل فراخوانی کنیم. در قسمت Toolbar در تب Data بر روی Get Data کلیک کرده و از قسمت From File> From Workbook را انتخاب می کنیم.
فایل اکسل به نام Fruits را که در قسمت قبل بر روی دسکتاب سیستم خود ذخیره کرده بودیم انتخاب کرده و بر روی import کلیک می کنیم.
سپس جدول Fruits را انتخاب می کنیم، سپس بر روی Transform Data کلیک می کنیم، در این لحظه وارد Power Query Editor می شویم.
محیط Power Query را در تصویر زیر مشاهده می کنید. با باز شدن صفحه Power Query Editor در تب Home، گزینه Advance را انتخاب نمایید.
در این لحظه وارد Power Query script شده که به زبان M نوشته شده است.
محتوای اسکریپت نویسی
در این قسمت ساختار زبان M را به شکلLet/in مشاهده می کنید. در قسمت let، چند خط کد مشاهده می شود که در واقع تغییرات اعمالی بر روی کدها در این قسمت صورت می گیرد و در قسمت in شما می توانید تغییرات حاصل و درواقع خروجی کدها را مشاهده نمایید.
کدهای نوشته شده را با یکدیگر بررسی می کنیم.
کد با یک دستور Let شروع می شود. اولین کاری که در پاور کوئری صورت می گیرد فراخوانی فایل در قسمتی به نام source است که مسیر فایل انتخابی ما که به نام Fruits بر روی دسکتاب ذخیره شده بود را نشان می دهد. هر جمله به وسیله “کاما” تمام می شود و دستور نوشته شده در خط بعد را می خواند.
پاور کوئری فایل اکسل Fruits را خوانده و آن را در متغیری به نام Fruit_ Sheet ذخیره می کند. در خط سوم با استفاده از تابع Table.PromoteHeaders عنوان های ستونی را که ما در اکسل استفاده کردیم خوانده و آن ها را وارد پاور کوئری می کند.
خط چهارم که با # شروع می شود نشان دهنده نوع یاType داده های هر ستون می باشد. در اینجا ستون “Fruit” از نوع متن ، ستون “City” نیز از نوع متن و ستون “Price” از نوع عدد می باشد. در این قسمت می توان نوع داده های هر ستون را تغییر داد.
در آخر دستور in قرار می گیرد که نشان دهنده خروجی پاور کوئری یا تغییراتی که در قسمت تغییر نوع داده ها صورت می گیرد، خواهد بود.
تغییر در کوئری
هدف از مرور کدهای نوشته شده از ابتدا این بود که نوع داده های ستون Price را از نوع Number به Currency تغییر دهیم. به خط نشان داده شده در شکل زیر توجه نمایید.
در این قسمت نوع ستون “Price” را از Number به Currency تغییر دهید و سپس بر روی Done کلیک نمایید.
نماد نوع داده در ستون “Price” اکنون به صورت $ نشان داده شده است بدین معنی که نوع داده از Number به Currency تغییر یافته است.
در این مطلب کد نویسی در Power Query با زبان M را مورد بررسی قرار دادیم. شما نیز این مطلب را مطالعه نموده و با نظرات خود ما را در بهبود مطالب یاری نمایید.
درباره مهشید زارعیان
دانش آموخته MBA دانشگاه الزهرا، فعال در حوزه HR Analytics
نوشته های بیشتر از مهشید زارعیان