Power Query
در صفحه power query فرآیند ETL را انجام می دهیم. از لحاظ ظاهری شبیه صفحه های اکسل می باشد. پاور کویری برای انجام عملیات ETL از زبان M استفاده می کند.
در پاور بی آی دو زبان M و DAX داریم. زبان DAX زبان تحلیل داده می باشد و به کمک آن می توانید تحلیل های مربوط به کسب و کاره را انجام دهید بعنوان مثال برای محاسبه مقادیر تجمعی باید از DAX استفاده کنید. ولی زبان M جهت دستکاری دیتاها می باشد.
برای دیدن زبان M در صفحه پاور کویری در تب Home گزینه Advanced Editor را بزنید و در صفحه باز شده کدهای M را نشان می دهد.
در شکل زیر محیط power query نشان داده شده است. برای وارد شدن به این صفحه باید به تب Home رفته و گزینه Edit Queries را بزنید. در نوار سمت چپ دیتای queryها و جداول و فایلهای خوانده شده نشان می دهد. حتی جداولی که خودمان enter data کرده ایم هم در اینجا نشان می دهد. در وسط صفحه یک preview از دیتا را نشان می دهد.
اگر بخواهید کل دیتاها را نشان دهد باید روی قسمت نشان داده شده در شکل کلیک کنید. و برای دیدن خطاهای ایجاد شده بسیار کاربردی می باشد
در صفحه پاور کوئری می توانید عملیات مختلفی روی دیتاها انجام دهید و بعد دیتا را به پاور بی آی ببرید. بنابراین پاور کوئری مابین منابع اطلاعاتی و پاور بی ای قرار دارد. بعنوان مثال می توانید در صفحه پاور کوئری ستونهایی که نمیخواهید حذف کنید و یا ردیفهایی که نمیخواهید را فیلتر کنید و بعد از این تغییرات دیتا را وارد پاور بی آی کنید. توجه کنید که با پاور کوئری و پاور بی آی هیچ تغییری نمیتوانید در منابع اطلاعاتی خود ایجاد کنید. در واقع تغییراتی که در پاور کوئری و پاور بی آی انجام می دهید در فایلهای اولیه اطلاعاتی خود تغییری ایجاد نمی شود.
در سمت راست صفحه قسمت Applied Steps وجود دارد که همه مراحل را نشان می دهد و هر کاری انجام دهید در این کادر ثبت می شود و برای لغو مرحله مورد نظر می توانید با کلیک روی علامت ضربدر کنار اون مرحله آن را لغو کنید. در واقع مانند undo عمل می کند. برای رفتن به صفحه پاور بی آی باید در بالای صفحه روی گزینه Close & Apply کلیک کنید. با این کار تغییراتی که داده اید ذخیره می شود و دیتاها مجدد خوانده می شود و وارد پاور بی آی می شود.
لازم به ذکر است که تا جایی که میتوانید اطلاعاتی که در گزارشات خود نیاز دارید را فقط بخوانید و دیتاهایی که نیاز ندارید را در پاور کوئری حذف کنید. با این کار performance بهتری خواهید داشت و سرعت کار را بالا می برد.
در صفحه پاور کوئری هر تغییراتی خواستید می توانید روی دیتاها انجام دهید از جمله transform ، filter ، delete و هر نوع تغییراتی که نیاز می باشد قبل از آوردن دیتا به پاور بی آی روی آنها انجام شود.
اگر خواستید در صفحه پاور کوئری یک فایل جدید را بخوانید باید در تب home گزینه new source را بزنید تا همان منوی get data باز شود.
در صفحه پاور کوئری اگر روی دکمه نشان داده شده در شکل زیر کلیک کنید منویی مطابق شکل باز می شود که می توانید روی کل جدول تغییرات را لحاظ کنید.
Copy entire table : همه سطر و ستونها را به اکسل برده و کپی می کند.
روی سرستون هر ستونی اگر دوبار کلیک کنید می توانید نام آن ستون را تغییر دهید. به هیج وجه نام ستونها را فارسی تایپ نکنید و حتما انگلیسی باشد. اگر بر روی علامتی که سمت چپ هر سرستون دارد کلیک کنید منوی زیر باز می شود که به شما امکان تغییر تایپ آن ستون را می دهد. خود پاور بی آی تایپ دیتاها را تعیین می کند ولی گاهی اشتباه می کند و باید دستی تغییرش بدهیم.
Decimal number : اعداد اعشاری
Fixed decimal number : اعداد با ۴ رقم اعشار که بیشتر در حوزه مالی کاربرد دارد.
Whole number : برای اعداد کاربرد دارد که در حوزه فروش برای اعداد بهتر است استفاده شود.
Percentage : در هنگام نمایش اعداد با علامت درصد نشان داده می شوند.
Date/time : تاریخ و زمان میلادی
Date : تاریخ میلادی
Time : زمان روز
Duration : برای مدت زمان کاربرد دارد مثلا مدت زمان اضافه کاری پرسنل را در یک ستون نشان می دهید.
Text : رشته ای یا متنی، کد ملی و شماره تلفن حتما باید text باشند.
True/false : برای فیلدهای دو حالته کاربرد دارد مثل تاهل و مجرد
اگر بر روی علامت سمت راست هر سرستون کلیک کنید پنجره زیر باز می شود:
Sort : برای مرتب کردن بصورت صعودی و یا نزولی
Remove empty : ردیف هایی که مقدار این ستون آنها خالی می باشد را پاک می کند. دقت کنید که کل ردیف را پاک می کند.
لازم به ذکر است بعضی جاها مثل فروش اگر به هر دلیلی کد محصول خالی بود و یا null بود حتما با یک عددی جایگزین کنید و در جدولتون برای این عدد جدید بنویسید که مربوط به محصولی بوده که کد نداشته مثلا بنویسد نامشخص. در اینصورت گزارشات فروش به مشکل نمی خورد.
Number filters : برای فیلتر کردن ردیفها با شرط مقدار عددی