چند اشتباه اصلی که باید هنگام تهیه گزارشهای Power BI از آنها اجتناب کنید.
Power BI یک پلتفرم راحت و ساده برای ساخت داشبوردهای مدیریتی است و شروع کار با آن نیاز به یادگیری گسترده و عمیق ندارد.
در نتیجه برخی از اقدامات و تصمیمات بد در اجرای گزارشات Power BI مشاهده میشود. در این بلاگ، پنج اشتباه بزرگ و رایج در ساخت گزارشات Power BI را توضیح داده و اکیداً توصیه میکنیم از آنها اجتناب کنید.
۱) از دو طرفه تعریف کردن تمام روابط خودداری کنید.
معمولا مشاهده میشود در مدلهای مختلف روابط بسیاری به صورت دو طرفه تعریف میشوند. این اقدام اشتباه به دو طریق برای مدل دادهی شما ایجاد مشکل خواهد کرد.
الف) ایجاد مشکل در عملکرد (عمدتا کند شدن پاسخدهی گزارش)
ب) ایجاد ابهام در مدل و رابطه
تعریف یک رابطه Power BI معمولا برای زمانی است که میخواهیم یک جدول، جدول دیگری را با انتخاب آیتم در نمودار آن فیلتر کنیم. این فیلتر کردن در جهت رابطه اتفاق میافتد، برای مثال اگر dim event یک رابطه یک به چند با fact event داشته باشد و جهت ارتباط از dim event به fact event یک طرفه باشد، تنها dim event می تواند fact event را فیلتر کند و نه برعکس.
از مواردی که در مدل های Power BI زیاد مشاهده میشود این است که توسعه دهنده رابطه را دو طرفه تعریف میکند تا هر یک از جداول بتواند جدول دیگر را فیلتر کند. این ویژگی خوب به نظر می رسد، اما هزینه زیادی دارد.
معمولا یکی از دلایل اصلی تعریف روابط دو طرفه، مشکلات در طراحی جدولها میباشد، طرح ستارهای (Star- Schema) که در آن جدول موجودیت (fact tables) بر روی جدول ارتباطات (dimension table) فیلتر اعمال کند، برتری خواهد داشت.
برای حل این مشکل میتوانید از روابط یک طرفه استفاده کنید، یک مدل ستارهای (Star- Schema) مناسب بسازید و از Visual Filters و DAX برای سناریوهایی که نیاز به فیلتر در جهت متفاوت دارید استفاده کنید.
۲) دادهها را بدون تبدیل بارگذاری نکنید.
این اشتباه اغلب به این دلیل اتفاق میافتد که Power BI توسعهدهندگان را قادر می سازد به بسیاری از منابع داده مختلف متصل شوند. این بدان معناست که یک توسعه دهنده گزارش Power BI می تواند به جای انبار داده به طور مستقیم به سیستمهای OLTP متصل شود.
به عنوان مثال با اتصال مستقیم به سیستم مدیریت ارتباط با مشتریان CRM (Customer Relation Management) جدولهای تراکنشی این سیستم را وارد گزارش خود کند. در این حالت بارگذاری دادهها بدون تبدیل، عملکرد را مختل کرده و مشکلات دیگری در مدل داده را به همراه خواهد داشت.
گاهی مدلهایی با بیش از ۵۰ جدول داده با بسیاری روابط دو طرفه مشاهده میشود که در Power BI بارگذاری شدهاند. هنگامی که جداول داده را بدون تغییری بارگذاری میکنید، به روابط بیشتری نیاز خواهید داشت، در نتیجه مدل پیچیدهتر میشود. اگر دادهها را از یک سیستم عملیاتی دریافت میکنید، باید آنها را تغییر دهید، جدولهای جدیدی ایجاد کنید و طراحی جدولها را تغییر دهید. به این فرآیند مدلسازی ابعادی می گویند.
بدون یک مدل ابعادی مناسب، یک مدل پیچیده با صدها جدول خواهید داشت. همچنین ممکن است استفاده از روابط دو طرفه لازم شود که خود عملکرد را مشکل میکند. نگهداری از این مدل زمانبر خواهد بود و نوشتن محاسبات روی آن دشوارتر. راه حل: مدل داده را تغییر دهید. جداول واقعیت و ابعاد را در یک مدل طرحواره ستارهای تعریف کنید، برخی از جداول را برای ایجاد جدولهای ابعادی مسطح کنید و از جدولهای بعد به جداول واقعی روابط یک به چند ایجاد کنید.
۳) از تبدیل به جای محاسبات استفاده کنید.
در محیط Power BI، محاسبات راحتتر از تبدیلها قابل مشاهده هستند. هنگامی که در محیط Power BI Desktop هستید، می توانید به راحتی امکان ایجاد یک محاسبه جدید را پیدا کنید، اما پیدا کردن مکان تبدیل دادهها مشکلتر است. به همین دلیل بسیاری از کاربران Power BI تمایل به ایجاد محاسبات به جای تبدیل دارند.
این را می توان با یک مثال به شکل بهتری توضیح داد. اگر جدول بودجه مانند زیر داشته باشیم؛
پس از وارد کردن جدول به Power BI، باید محاسبات زیادی مانند زیر ایجاد کنید:
• Budget of Year = Mth1 + Mth2 + …. + Mth12
• Budget of Quarter 1 = Mth1 + Mth2 + Mth3
• Budget of Quarter 2 = Mth4 + Mth5 + Mth6
• Budget of Quarter 3
• Budget of Quarter 4
• Budget of Half Year 1 = Mth1 + …. + Mth6
• Budget of Half Year 2
• ….
فقط به این دلیل که داده ها به درستی طراحی نشدهاند، باید محاسبات بالا و شاید برخی محاسبات دیگر را ایجاد کنید.
رویکرد بهتر تغییر این دادهها خواهد بود. در این مورد میتوان با استفاده از تبدیل Unpivot، همان طور که در شکل زیر نشان داده شده است تعداد ستونهای محاسباتی (calculated columns) غیر ضروری را کاهش داد.
اکنون می توان این جدول را به بعد زمان و تاریخ متصل کنید و به راحتی توسط ویژگیها (ستون های) بعد زمان از جمله سال، نیم سال، فصل و غیره برش داد و ریزتر کرد.
راه حل: از Transformations برای شکل دادن مجدد به دادهها استفاده کنید و فقط پس از آن، از محاسبات برای گسترش تجزیه و تحلیل استفاده کنید.
۴) از DAX بیش از اندازه استفاده نکنید.
معیارهایی (Measures) که با DAX ایجاد میکنید، عالی هستند. آنها پویا هستند و گزارش شما را واضحتر میکنند. با تمام مزیتهایی که گفته شد، اگر صدها مورد از این معیارها را در یک صفحه گزارش برای مثال در یک جدول یا ماتریس نشان دهید، عملکرد کاهش مییابد، و زمان اجرا طولانیتر خواهد شد.
برخی از محاسبات را می توان با استفاده از یک ستون در Power Query، یا در پایگاه داده از قبل محاسبه کرد. اگر بتوانید محاسبات را تا جایی که ممکن است از پیش انجام دهید، عملکرد اندازه گیریها و زمان اجرا به طور قابل توجهی بهبود می یابد. همچنین میتوانید از جدولهای محاسباتی (calculated table) برای اهداف مشابه استفاده کنید.
راه حل: بخش هایی از محاسبات را به عنوان پیش محاسبات در Power Query یا پایگاه داده پیادهسازی کنید.
۵) به جای دوباره نوشتن یا کپی کردن، مجدد استفاده کنید.
در ابتدای توسعه گزارشهای Power BI، ممکن است یک نمونه از هر موجودیت، شی، تابع، محاسبات و غیره داشته باشید. با این حال، با گذشت زمان، متوجه خواهید شد که ممکن است به نمونههای دیگری از جدول یا محاسبه نیاز داشته باشید. اشتباه بزرگی است که به جای استفاده مجدد از آنچه قبلاً توسعه داده اید، آن را دوباره بنویسید یا کپی کنید.
نمونه ای از این ابعاد زمان است. بعد تاریخ از یک جدول تقویم در بسیاری از گزارشات Power BI مورد نیاز است. اگر یک بار آن را توسعه داده اید، پس ایجاد مجدد آن ممکن است دقیقاً شبیه آنچه قبلاً انجام دادهاید نباشد. کپی کردن آن نیز به این معنی است که اگر در آینده نیاز به عوض کردن آن باشد، باید در هر دو نقطه این تغییر را اعمال کنید. شما باید راهی برای استفاده مجدد از آن پیدا کنید.
به این ترتیب کپیکردن یا دوباره ایجاد کردن آن باعث افزایش هزینههای زیادی برای نگهداری و توسعههای آتی خواهد شد. روش های خاصی در Power BI برای استفاده مجدد از این معیارها و محاسبات وجود دارد. به عنوان مثال، جدولی که در بیش از یک فایل Power BI مورد نیاز است را می توان در dataflow ایجاد کرد. و سپس جدول را می توان مجدداً در چندین فایل به عنوان یک نسخه واحد استفاده کرد. یک محاسبه ایجاد شده در یک مدل را می توان با استفاده از اتصال آن به مجموعه داده یا مدل های ترکیبی با Direct Query به پایگاه داده Power BI در چندین گزارش استفاده کرد. اگر تنظیمی در تصویری اعمال شود، میتوان آن را بهعنوان یک تم پیادهسازی کرد تا بتوان آن را به راحتی روی تصویرهای بیشتری اعمال کرد.
راه حل: از کار خود با استفاده از Dataflows و مجموعه داده های مشترک، تمها، قالبها و سایر مؤلفه ها استفاده کنید.
بر روی ستون های رشته ای sum , average 6) استفاده از توابعی مانند
این دو تابع فقط بر روی ستون های اعدادی قابل اعمال هستند بنابراین استفاده از ستون ها عددی در این توابع با خطا همراه خواهد بود.
(could not find file) powerbi 7) خطا عوض شدن مسیر منبع داده ها در
این خطا زمانی رخ می دهد که محل و مسیر فایل منبع اطلاعات تغییر کرده باشد. برای برطرف کردن این خطا باید از منو file گزینه option and setting و سپس گزینه data source setting را بزنید. در صفحه جدیدی که ظاهر می شود مسیر درست فایل منبع اطلاعات را انتخاب نمایید تا خطا برطرف شود.
خلاصه
موارد بالا برخی از رایج ترین اشتباهاتی است که کاربران هنگام توسعه برنامه های Power BI مرتکب میشوند. البته اشتباهات بسیار بیشتری وجود دارد و اگر بخواهیم همه ی آنها را فهرست کنیم به احتمال زیاد یک کتاب خواهد شد.
آیا تاکنون با این چالش ها مواجه شده بودید؟ بزرگترین اشتباهاتی که مرتکب شدهاید چه بوده است؟