چطور مشکل سرعت در داشبوردهای Power BI رو برطرف کنیم؟
یکی از چالش های اصلی در پیاده سازی داشبوردهای هوشتجاری با Power BI کاهش سرعت داشبوردها است. زمان که حجم دادهها بیشتر میشه و تعداد کابران داشبورد ها افزایش پیدا میکنن این مشکل جدی تر می شود و عملا استفاده از داشبورد ها غیر ممکن است. در ادامه برخی از نکات کلیدی جهت بهینهسازی و افزایش سرعت در Power BI را بررسی میکنیم.
- مدل را بصورت Star Schema طراحی کنید.
دیتا مدل رو بصورت ستاره ای (Star Schema) طراحی کنیم و تا حد امکان از مدل دانه برفی (Snowflake) یا جداول فلت استفاده نکنید. مدل ستارهای با سادهسازی روابط، کمترین پیچیدگی را در فرمول نویسی DAX دارد و زمان جستجو را کاهش میدهد. مدل ستاره ای تا ۳۰% داشبورد های ما را سریعتر می کند.
- حذف جداول و ستونها بدون استفاده
از جمله مواردی که باعث کاهش سرعت در داشبورد های Power BI می شود، جداول و ستون های متعددی است که هیچ وقت در داشبورد استفاده نشده است. با حذف جداول و ستون های استفاده نشده می توانیم تا ۲۰% سرعت مدل رو افزایش دهیم. در نظر داشته باشید شما در حال طراحی داشبورد هستید و نیازی به فیلدهای آدرس، ایمیل، تلفن، موبایل،…. ندارید.
- تا حد امکان ویژوال های غیرضروری، فیلترها و تصاویر رو کم کنید.
داشبوردهای ساده و در عین حال کاربردی محبوبیت بیشتری در بین کاربران دارند. تا حد امکان از ویژوال، فیلتر و تصاویر غیرضروری استفاده نکنیم. کاربران هم تمایلی به استفاده از داشبوردهای شلوغ و پیچیده ندارد. بجای طراحی یک پیج شلوغ و پیچیده، تعداد صفحات را بیشتر کنید و داشبوردها را موضوعی، پیاده سازی کنید.
- در Power Query ارتباطات Include رو حذف کنید(عدم فعال سازی گزینه Include In Relationship).
در هنگام واکشی اطلاعات از بانک اطلاعاتی حتما تیک گزینه Include relationship Column را بردارید تا هنگام واکشی یک جدول، تمام جداول ارتباطدار با آن جدول را واکشی نکند.
- از Measure به جای ستون های محاسباتی (Calculated Column) استفاده کنید.
از آنجا که فرمول نویسی برای ستون های محاسباتی ساده تر است و همچنین نتایج آن راحت تر قابل تفسیر است، کاربران به استفاده از آن ها تمایل زیادی دارند. لطفا به دام ستون های محاسباتی نیفتید. ایجاد بیش از حد این ستون ها مدل شما را با افت در عملکرد مواجه خواهد کرد. تا حد ممکن از مژر به جای ستون محاسباتی استفاده کنید. از ستون محاسباتی تنها زمانی استفاده کنید که قصد استفاده از نتایج آن در اسلایسر را دارید.
- تا حد امکان از ارتباطات دوطرفه استفاده نکنیم (Both Direction).
جهت یک رابطه نقش مهمی در نحوه عملکرد فیلترینگ در Power BI ایفا می کند. دو طرفه کردن روابط باعث کاهش افت عملکرد مدل شما خواهد شد. حتی اگر نیاز دارید که رابطه ای را دو طرفه کنید، این کار با استفاده از فرمول نویسی DAX و استفاده از تابع CROSSFILTER با کارایی بهتر قابل انجام است.
- با ابزار Performance Analyzer آشنا شوید و برای بهینه سازی از آن استفاده کنید.
برای مانیتور کردن کوئری ها و دستورات اجرا شده در Power BI می توانید از ابزار Performance Analyzer استفاده کنید. با این ابزار عملکرد ویژوالها و مژرهای خود را آنالیز کنید و در صورتی که عملکرد مناسبی نداشته باشند، آنها را اصلاح کنید.
موارد فوق بخش مهمی از راهکارهای افزایش سرعت داشبوردهای Power BI است، با استفاده از این تکنیک ها میتوانید عمده مشکلات خود را برطرف کنید. در نظر داشته باشید میزان تاثیر هریک از این موارد با توجه به مدل شما متفاوت است، با شناخت دقیق و بررسی جوانب نسبت به استفاده از تکنیک های افزایش سرعت اقدام کنید.
تا حد امکان داشبورد ها رو مفید و ساده طراحی کنید.
در مطالب آتی روش های پیاده سازی اصولی و مصورسازی داشبوردها را بررسی میکنیم.