تبدیل گزارش های Power BI Desktop به کامپوننت های آماده برای سازمان
Power BI Desktop یک جزء قدرتمند و حیاتی در اکوسیستم Power BI است که امکان دریافت، پاکسازی، تبدیل، مدلسازی برای تحلیل کسبوکار و نمایش در طیف وسیعی از انواع نمودارها را فراهم میکند. با این حال، این قدرت دارای معایبی است، از جمله اینکه کل خط لوله داده در یک فایل .pbix واحد مدیریت میشود و برای قابلیت استفاده مجدد بهینه نشده است. گزارش Power BI Desktop را میتوان در سرویس Power BI مستقر کرد و گزارشهای بیشتری از مدل داده ساخته شود، اما این تنها بخشی از فرآیند است.
چه اتفاقی میافتد وقتی سایر کاربران Power BI در سازمان گزارشهای مشابهی ایجاد میکنند؟ اتصال به همان منابع داده و انجام همان فرآیندهای پاکسازی و مدلسازی دادهها؟ تکرار، ناکارآمدی و پیچیدگی میتواند به هر محیط Power BI، هر چقدر هم بزرگ یا کوچک، نفوذ کند.
در این پست وبلاگ، مراحل تبدیل یک فایل Power BI Desktop به چندین جزء از جمله یک Dataflow واحد، یک Dataset واحد و 2 Thin Reports را بررسی خواهیم کرد. گزارش نمونه اولیه شامل ۲ صفحه گزارش برای فروش اینترنتی و فروش نمایندگی است، ما صفحات گزارش را به گزارشهای جداگانه تقسیم خواهیم کرد، اما همچنان از یک مجموعه داده و یک بار داده واحد (Dataflow) استفاده خواهیم کرد.
گردش کار تبدیل Power BI Desktop به اجزای جداگانه
نمودار زیر نشان میدهد که ۳ مرحله اصلی در Power BI Desktop به ۳ جزء در Power BI Service تقسیم میشوند.
- گردش داده: این Power Query Online است که میتواند برای اتصال به منابع داده و تبدیل/پاکسازی دادهها با استفاده از زبان M استفاده شود.
- مجموعه داده: این مدل داده شامل روابط جداول و معیارهای تجاری با استفاده از DAX است اما هیچ تجسم دادهای ندارد.
- گزارشهای “Thin”: این گزارشهایی هستند که به مجموعه داده متصل میشوند و خود شامل داده نیستند.
چرا باید اجزای جداگانه Power BI ایجاد کنیم؟
- کاهش بار روی منابع داده – با ایجاد Dataflows میتوانیم با متمرکز کردن فرآیند بارگذاری و تبدیل دادههای منبع، بار روی منابع داده را کاهش دهیم.
- کاهش تکرار منطق پاکسازی و تبدیل دادهها – با متمرکز کردن منطق تبدیل دادهها، میتوانیم منطق تکراری را از گزارشهای Power BI Desktop حذف کنیم. اگر منطق در چندین گزارش نیاز به تغییر داشته باشد، مدیریت و تضمین سازگاری میتواند دشوار باشد.
- کاهش پیچیدگی در صورت استفاده از چندین مجموعه داده – کاهش تعداد مجموعه دادههای تکراری که در سرویس Power BI استفاده میشوند، میتواند معماری کلی را ساده کرده و تجربه کاربری بهتری را هنگام جستجوی دادهها تضمین کند.
پیشنیازها و دانلود فایلها
شما باید با استفاده از Power BI Desktop و اتصال به دادهها با استفاده از Power Query آشنا باشید، اما هیچ پیشنیازی برای نوشتن کد M یا DAX وجود ندارد. مجوز Power BI Pro و یک مکان ذخیرهسازی مناسب برای فایلهای منبع. در این پست وبلاگ، ما از Azure Blob Storage استفاده خواهیم کرد. با این حال، اگر گزارش Power BI Desktop دارید که میخواهید آن را تبدیل کنید، لطفاً مراحل را دنبال کنید زیرا دادههای موجود در گزارش صرفاً برای اهداف نمایشی است.
گزارش Sales Analysis.pbix Power BI Desktop نمونه و فایلهای CSV منبع را از اینجا دانلود کنید. فایلهای CSV از پایگاه داده نمونه Microsoft AdventureWorksDW تولید شدهاند. برای استفاده از گزارش نمونه، باید یک حساب Azure Storage داشته باشید تا فایلها را در آن آپلود کرده و پارامتر AzurePath را در گزارش اصلاح کنید.
ایجاد فضاهای کاری در سرویس Power BI
برای نگهداری اجزای جداگانه، باید 4 فضای کاری در سرویس Power BI ایجاد شود.
- جریان دادههای سازمانی
- مجموعه دادههای سازمانی
- گزارشهای فروش اینترنتی سازمانی
- گزارشهای فروش نمایندگیهای سازمانی
ایجاد جریان داده از اسکریپتهای Power BI Desktop M
ما باید یک جریان داده خالی در سرویس Power BI ایجاد کنیم، سپس اشیاء Power Query “M” را از فایل Power BI Desktop به جریان داده جدید کپی کنیم.
Power BI Desktop
- گزارش Sales Analysis.pbix (یا گزارش خودتان) را در Power BI Desktop باز کنید.
- در نوار منوی اصلی، Home > Transform Data (Power Query) را انتخاب کنید. توجه داشته باشید که 10 شیء (9 جدول و 1 پارامتر) وجود دارد.
- برای کپی انبوه، باید پوشههایی برای گروهبندی کوئریها ایجاد کنیم، که صرف نظر از این، یک روش توصیه شده است.
- در پنل Queries در سمت چپ، در یک قسمت خالی کلیک راست کرده و New Group را انتخاب کنید و این Warehouse را نامگذاری کنید.
- یک گروه جدید دیگر ایجاد کنید و این Parameters را نامگذاری کنید.
- تمام جداول را انتخاب کنید (Ctrl-select) و به گروه Warehouse بکشید و رها کنید.
- پارامتر AzurePath را انتخاب کنید و به گروه Parameters بکشید و رها کنید.
- گزارش را ذخیره کنید و Power BI Desktop را باز نگه دارید.
Dataflow در سرویس Power BI
- یک مرورگر وب باز کنید و به سرویس Power BI در آدرس https://app.powerbi.com وارد شوید.
- فضای کاری جریان دادههای سازمانی را انتخاب کنید، New > Dataflow را انتخاب کنید.
- افزودن موجودیتهای جدید را انتخاب کنید.
- گزینه Blank query (other) را انتخاب کنید، سپس در صفحه بعد، روی Next (پایین سمت راست) کلیک کنید.
- روی Query تکی (ABC) در پنل Queries کلیک راست کرده و Delete را انتخاب کنید.
- به Power BI Desktop برگردید و در قسمت Transform Data (Power Query)، پوشههای Warehouse و Parameters را انتخاب کنید (Ctrl-select)
- کلیک راست کرده و Copy را انتخاب کنید.
- به مرورگر وب برگردید و در پنجره Dataflow Power Query، روی پنل Queries کلیک چپ کنید (برای فوکوس)، سپس باید Ctrl-V را برای چسباندن پوشهها فشار دهید. این کار تمام جداول و اشیاء پارامتر را در پنل Query کپی میکند.
- توجه داشته باشید که جداول ProductCategory و ProductSubCategory بارگذاریهای خود را غیرفعال کردهاند، ویژگیهای آنها در جدول Product گنجانده شده است.
- در این مثال، هنگام اتصال به Azure Storage، پیامی با عنوان «لطفاً نحوه اتصال را مشخص کنید» ظاهر میشود. گزینه «پیکربندی اتصال» را انتخاب کنید و جزئیات مناسب را وارد کنید، در این مورد «کلید حساب» است.
- پس از برقراری اتصال به فایل منبع، روی «ذخیره و بستن» در گوشه پایین سمت راست کلیک کنید.
- جریان داده را با نام «جریان داده تحلیل فروش» ذخیره کنید و در صورت درخواست، روی «بهروزرسانی» کلیک کنید.
اتصال مدل Power BI به جریان داده
پس از ایجاد و بهروزرسانی جریان داده در سرویس Power BI، باید از داخل Power BI Desktop به جریان داده متصل شویم.
- به فایل Power BI Desktop Sales Analysis.pbix برگردید.
- از داخل ناحیه Transform Data (Power Query) یک گروه جدید به نام Dataflow در پنل Queries ایجاد کنید.
- با انتخاب این پوشه جدید، در منوی Home، New Source > More > Power Platform > Power BI dataflows را انتخاب کنید.
- پوشههای Enterprise Data Flows > Sales Analysis Dataflow را باز کنید و 7 جدول موجود را انتخاب کنید و سپس روی OK کلیک کنید.
اکنون باید 7 جدول در پوشه Dataflow که همگی به دلیل نام موجود با (2) پیوست شدهاند، ظاهر شوند. اکنون باید کد M را از جداول Dataflow جدید با انجام مراحل زیر در جداول موجود کپی کنیم.
- روی اولین جدول (Business Measures) در پوشه Dataflows کلیک راست کرده و Advanced Editor را انتخاب کنید.
- تمام کد را انتخاب کرده و کپی کنید (کلیک راست > کپی یا Ctrl-C) سپس روی Done کلیک کنید.
- در جدول مربوطه در زیر پوشه Warehouse، کلیک راست کرده و Advanced Editor را انتخاب کرده و کد جدید را جایگذاری کنید (کد موجود را بازنویسی کنید).
- 3 مرحله بالا را برای هر یک از 6 جدول دیگر تکرار کنید.
- پس از رونویسی کد جداول موجود، پوشه Dataflows جدید را حذف کنید زیرا دیگر نیازی به آن نیست.
- پوشه Parameters را حذف کنید زیرا دیگر نیازی به آن نیست.
- جدولهای ProductCategory و ProductSubCategory را در پوشه Warehouse حذف کنید زیرا دیگر نیازی به آنها نیست.
- در منوی Home، روی Close & Apply کلیک کنید.
ایجاد و استقرار مجموعه دادههای مشترک
- گزارش Sales Analysis.pbix Power BI Desktop را ذخیره و ببندید.
- یک کپی از Sales Analysis.pbix ایجاد کنید و نام آن را به Sales Analysis Dataset.pbix تغییر دهید.
- فایل جدید Sales Analysis Dataset.pbix را در Power BI Desktop باز کنید.
- دو صفحه گزارش Internet Sales و Reseller Sales را حذف کنید.
- در منوی Home، Publish را انتخاب کنید و فضای کاری Enterprise Datasets را انتخاب کنید.
- یک مرورگر وب باز کنید و به https://app.powerbi.com وارد شوید و فضای کاری Enterprise Datasets را باز کنید.
- زبانه All را انتخاب کنید و توجه داشته باشید که دو شیء وجود دارد، یک گزارش و یک مجموعه داده. برای حذف گزارش (آیکون نمودار آبی) با نگه داشتن ماوس روی نام گزارش و انتخاب حذف در سمت راست، Delete را انتخاب کنید.
- ما میتوانیم با نگه داشتن ماوس روی نام مجموعه داده، انتخاب حذف و انتخاب تنظیمات، مجموعه داده را ارتقا دهیم.
- Endorsement را باز کنید و Promoted را انتخاب کنید.
- در کادر توضیحات، عبارت “Reseller Sales and Internet Sales Data Model” را وارد کنید. روی اعمال کلیک کنید.
اتصال گزارشهای دسکتاپ Power BI به مجموعه دادههای مشترک
اکنون که مجموعه دادهها به سرویس Power BI منتقل شدهاند، میتوانیم گزارشهای «نازک» ایجاد کنیم که از داخل Power BI Desktop به این مجموعه داده واحد متصل میشوند.
- فایل Sales Analysis Dataset.pbix را ببندید.
- دو کپی از فایل Sales Analysis.pbix با نامهای Internet Sales Analysis.pbix و Reseller Sales Analysis.pbix ایجاد کنید.
- فایل Internet Sales Analysis.pbix را در Power BI Desktop باز کنید و صفحه گزارش Reseller Sales را حذف کنید.
- در منوی Home، Transform Data (Power Query) را انتخاب کنید.
- پوشههای Warehouse و Parameters را حذف کنید که تمام اتصالات داده را از گزارش حذف میکند.
- Close و Apply را انتخاب کنید که پنجره Power Query را میبندد. توجه داشته باشید که تصاویر گزارش خطا نشان میدهند.
- در منوی Home، Get Data > More > Power Platform > Power BI Datasets را انتخاب کنید.
- در پنجره بازشو Select a dataset to create a report، Sales Analysis Dataset را جستجو کنید. توجه داشته باشید که در ستون Endorsement عبارت Promoted (تبلیغات) وجود دارد. مجموعه دادههای تحلیل فروش را انتخاب کرده و روی اتصال کلیک کنید.
- اکنون گزارش باید بدون خطا، تصاویر را نشان دهد، زیرا ما گزارش را به مجموعه دادههای ذخیره شده در سرویس Power BI متصل کردهایم.
- گزینه انتشار را انتخاب کرده و آن را در فضای کاری فروش اینترنتی گزارشهای سازمانی منتشر کنید.
فرآیند بالا را از مرحله سوم با استفاده از Reseller Sales Analysis.pbix تکرار کنید، اما صفحه گزارش فروش اینترنتی را حذف کرده و در فضای کاری Enterprise Report Reseller Sales مستقر کنید.
اکنون گزارش Power BI Desktop را به اجزایی تقسیم کردهایم که اکنون میتوانند دوباره استفاده شوند. به عنوان مثال، میتوان از Promoted Dataset برای ایجاد گزارشهای جدید و از Dataflow برای ایجاد یک Dataset جدید (و بنابراین مدل داده) استفاده کرد.
نتیجهگیری
در این پست وبلاگ، ما یک فایل Power BI Desktop را گرفته و 3 ناحیه اصلی را به اجزای جداگانه تبدیل کرده و در سرویس Power BI مستقر کردهایم. این تضمین میکند که ما در حال کاهش تکرار تلاش، کاهش فشار بر سیستمهای داده منبع و کارآمدتر بودن معماری کلی Power BI هستیم.
ملاحظات
Dataflowها را میتوان برای بهروزرسانی برنامهریزی کرد. یک Dataflow باید قبل از بهروزرسانی هر Dataset که از آن استفاده میکند، بهروزرسانی شود.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download