5/5 - (3 امتیاز)

برخی مواقع سازمان­ها در حین اجرای گزارشات نیاز پیدا می­کنند که مشکلات عملکردی ایجاد شده را شناسایی کنند. به همین دلیل پاور بی آی Performance Analyzer را ارائه کرده است تا بمنظور رفع مشکلات و ساده ­سازی پروسه مورد استفاده قرار بگیرد.

اگر حجم دیتای شما کم است یا کوئری های پیچیده بر روی دیتا اعمال نمی کنید می توانید از این مطلب عبور کنید و مطالب بعدی را مطالعه کنید. (رفع خطاهای مربوط به وارد کردن دیتا به پاور بی آی)

وضعیتی را در نظر بگیرید که شما مسئول تهیه گزارش برای تیم فروش سازمان هستید. همچنین شما از طریق ایجاد یک ارتباط داده ­ای با دیتابیس از طریق DirectQuery دیتای خودتان (که شامل جداول مربوط به دیتابیس SQL تیم فروش می­باشد) را وارد می­ کنید. زمانی که شما تصاویر و فیلترهای اولیه را ایجاد می­کنید، متوجه می­شوید که برخی از جدول­ها زودتر جستجو می­شوند و انجام شدن برخی از فیلترها بیشتر از سایر فیلترها طول می­کشد.

برای دیدن تمام آموزش های پاور بی آی به لینک زیر مراجعه کنید:

دوره رایگان و فیلم آموزش پاور بی آی (power BI)

 

بهینه­ سازی عملکرد در پاور کوئری (Power Query)

عملکرد موجود در Power Query بستگی به عملکرد موجود در سطح منبع داده­ای دارد. تنوع منابع دیتایی که در Power Query وجود دارد بسیار گسترده می­باشد و تکنیک­های تنظیم عملکرد برای هر منبعی دارای گستردگی یکسانی می­باشد. برای مثال در صورتیکه شما دیتای خودتان را از Microsoft SQL Server استخراج کنید، باید راهنماهای مربوط به تنظیم عملکرد آن را دنبال کنید. یک سری از تکنیک­های منابع تنظیم عملکرد SQL Server شامل ایجاد فهرست، ارتقاء سخت افزار، تنظیم برنامه اجرایی و ترکیب کردن دیتا می­باشد. این موضوعات خارج از حوصله این مقاله می­باشد و در اینجا صرفا یک مثال بمنظور آشنایی شما با منبع داده­ای و مزایای استفاده از پاور بی آی و Power Query ارائه شده است.

Power Query بدلیل استفاده از یک تکنیکی که Query Folding  یا چین زدن کوئری نام دارد، در منبع داده ای دارای عملکرد مناسب و قابل قبولی است.

Query Folding

Query Folding موجود در Power Query Editor به شما کمک می­کند تا کارایی گزارشات پاور بی آی خودتان را افزایش دهید. Query Folding عبارت از فرآیندی می­باشد که باعث می­شود تبدیل­ها، ویرایش­ها و تغییرات صورت گرفته در Power Query Editor بصورت آنی به عنوان کوئری­های بومی یا جمله­های Select مربوط به SQL نشانه گذاری شود. هدف از اینکار عبارت از مطمئن شدن در مورد اعمال این تغییرات در داده­های اصلی و تحت تأثیر قرار نگرفتن منابع محاسباتی پاور بی آی می­باشد.

Power Query می­تواند به منظور بارگزاری دیتا در پاور بی آی مورد استفاده قرار بگیرد. بعد از این مرحله با استفاده از این ویژگی می توانید تغییرات مد نظرتان را در دیتا اعمال کنید. این تغییرات می­تواند شامل موارد زیر باشد:

  • حذف کردن یا تغییر عناوین ستونها،
  • اضافه کردن،
  • تجزیه کردن،
  • فیلتر کردن
  • و یا گروه بندی

فرض کنید که شما عناوین برخی از ستون­های موجود در دیتای فروش را تغییر داده باشید و ستون شهر و ایالت را در یک ستونی با فرم “شهر ایالت” ادغام کرده باشید. در حین انجام این کار ویژگی چین زدن کوئری این تغییرات را در کوئری های بومی نشانه گذاری خواهد کرد. بعد از آن و در حین بارگزاری دیتا این تغییرات به صورت مستقل در منبع اصلی صورت خواهند گرفت؛ این مورد منجر به حصول اطمینان در خصوص بهینه بودن عملکرد در پاور بی آی می­شود. به عبارت دیگر ایجاد ستون جدید در پاور کوئری انجام نمی شود و ایجاد یک ستون جدید در موتور دیتابیس محاسبه و توسط پاور بی آی فراخوانی می شود.

برخی از مزیت­های چین زدن کوئری (Query Folding)

  • کارایی بیشتر در بازیابی داده­ها و بازیابی­های افزایشی. زمانیکه شما با استفاده از query folding دیتا وارد می­کنید، پاور بی آی به دلیل عدم اجرای هر یک از تبدیلها به صورت محلی، توانایی بیشتری بمنظور تخصیص منابع و بازیابی سریعتر داده­ها خواهد داشت.
  • سازگاری اتوماتیک وار با حالت­های ذخیره DirectQuery و Dual. تمامی منابع داده­ای حالت ذخیره DirectQuery و Dual دارند که بمنظور ایجاد یک ارتباط مستقیم باید دارای قابلیت پردازش سرور پشتیبانی باشند؛ در واقع چین زدن کوئری یک قابلیت اتوماتیک­وار می­باشد که می­توانید مورد استفاده قرار دهید. در صورتیکه تمامی تبدیل­ها به یک جمله Select کاهش یابند، چین زدن کوئری می­تواند اتفاق بیافتد.

سناریو چین زدن کوئری

سناریوی پایین چین زدن کوئری را به صورت عملی نشان می­دهد. در این سناریو شما یک سری از کوئری­ها را در جداول چندگانه اعمال می­کنید. بعد از اضافه کردن منبع داده­ای جدید با استفاده از Power Query و هدایت شدن به Power Query Editor وارد صفحه Query Settings ­شوید و همانند شکل زیر راست کلیک کنید.ور query floding در پاور بی آی

در صورتیکه گزینه View Native Query در دسترس نباشد (به صورت بُلد نشان داده نشود)، قابلیت چین زدن کوئری برای این مرحله وجود نخواهد داشت و تا زماینکه View Native Query در دسترس قرار بگیرد (به صورت بُلد نمایش داده شود)، باید در بخش Applied Steps بمانید. به عبارت دیگر تغییرات اعمال شده در این مراحل توسط پاور کوئری انجام می شود و برای انجام به محاسبات دیتابیس نیازی نیست. در صورتی که برای تبدیل دیتاست از مرحله ای استفاده کرده باشید، در آن مرحله کوئری بومی نمایش داده خواهد شد (مثل ادغام کردن دو ستون در یک ستون). برای مثال در زیر مشاهده می کنید در صورتی که سه ستون نام، نام میانی و نام خانوادگی را با هم ادغام کنید، این فرایند به صورت یک کوئری به سمت دیتابیس ارسال خواهد شد. در این حالت دیگر ستون های نام، نام میانی و نام خانوادگی به مدل داده منتقل نخواهد شد و حجم فایل کاهش می یابد.

کوئری های بومی برای تبدیل­های زیر امکانپذیر نمی­باشند:

  • اضافه کردن یک ستون index
  • ادغام یا ضمیمه کردن ستون های مربوط به جداول مختلف که دارای دو منبع متفاوت می­باشند. (به دلیل مختلف بودن منابع نمی توان از یک کوئری برای فراخوانی داده ها استفاده نمود.)
  • تغییر نوع دیتای مربوط به یک ستون
  • اجرای توابع DAX پیچیده

موردی که همواره باید به یاد داشته باشید این است که در صورت امکانپذیر بودن ترجمه یک تبدیل به عبارت Select SQL (که شامل عملیات ها و بندهایی همانند GROUP BY، SORT BY، WHERE، UNION ALL و JOIN می باشد)، می­توانید از چین زدن کوئری استفاده نمایید.

همچنین بمنظور بهینه سازی عملکرد در حین بازیابی، وارد کردن و آماده سازی دیتا علاوه بر چین زدن کوئری میتوانید از گزینه عیب یابی کوئری (Query diagnostics) هم استفاده نمایید.

عیب یابی کوئری

یک ابزار دیگری که برای مطالعه عملکرد کوئری وجود دارد، عبارت از عیب یابی کوئری یا query diagnostics می باشد. این ویژگی باعث می­شود که نواقص موجود (در صورت وجود داشتن نقص) را در حین بارگزاری و تبدیل دیتا، بازیابی دیتا در Power Query، اجرای عبارتهای SQL در Query Editor و سایر موارد شناسایی کنید.

به منظور استفاده از عیب یابی کوئری Power Query Editor باید به بخش Tools در زبانه Home بروید. در زمانیکه می­خواهید دیتای خودتان را تبدیل کنید یا یک سری ویرایش­ها و تغییرات دیگری را در Power Query Editor انجام دهید، باید Start Diagnostics را در زبانه Session Diagnostics انتخاب کنید. بعد از اینکه مرحله شما به پایان رسید، باید Stop Diagnostics را انتخاب نمایید.

تشخیص های کوئری

همانطور که در شکل زیر هم نشان داده شده است، با انتخاب Diagnose Step مدت زمان مربوط به اجرای این مرحله نشان داده می­شود. این انتخاب طولانی­تر بودن تکمیل این مرحله نسبت به مراحل دیگر را نشان می­دهد و می تواند به عنوان نقطه شروعی برای بررسی بعدی مورد استفاده قرار گیرد.

تشخییص های کوئری عکس دوم

این ابزار برای مواقعی کاربرد دارد که بخواهیم عملکرد Power Query را در حین بارگزاری مجموعه دیتاها، اجرای به روز رسانی دیتا یا اجرای سایر وظایف تبدیلی مورد بررسی قرار دهیم.

سایر روش ­های مربوط به بهینه ­سازی عملکرد

سایر روش­هایی که به منظور بهینه­ سازی عملکرد کوئری در  پاور بی آی وجود دارند عبارتند از:

  • پردازش مقداری از دیتا که در منبع دیتای اصلی امکانپذیر است. Power Query و Power Query Editor این امکان را به شما می­دهد تا دیتا را پردازش کنید؛ با این وجود قدرت پردازشی که برای انجام این کار مورد نیاز است، ممکن است در سایر بخش­های گزارش شما عملکرد ضعیف تری داشته باشد. معمولاً بهترین روش موجود عبارت از پردازش در منبع دیتای بومی تا حد ممکن می­باشد. مثلا در صورتی که نیاز دارید نام و نام خانوادگی در یک ستون موجود باشد، در صورتی که حجم دیتا شما زیاد است، بهتر است در انبار داده خود این ستون را ایجاد کنید و در هر بار به روز رسانی کوئری ها، نیاز به ساخت این ستون نباشد.
  • استفاده از کوئری­ های SQL بومی. در حین استفاده از DirectQuery برای دیتابیس­های SQL (همانند مورد مطرح شده در سناریوی بالا) اطلاعات شما به هیچ وجه نباید از رویه های ذخیره شده (stored procedures) یا عبارات جدول عام (CTEs یا Common table expressions) باشد.
  • در صورت ترکیب شدن زمان و تاریخ، آنها را جدا کنید. در صورتیکه ستونهای جدول شما به صورت ترکیبی از زمان و تاریخ باشد، قبل از وارد کردن دیتا به پاور بی آی باید آنها را در ستونهای مجزا قرار دهید. این مورد منجر به افزایش توانایی مقایسه­ ای خواهد شد.

ممنون که این مطلب رو مطالعه کردید. در قسمت بعد رفع خطاهای مربوط به وارد کردن دیتا را خواهیم آموخت.

مشترک شدن
Notify of
guest

0 نظرات
نظردهی درون متنی
مشاهده همه نظرات