4.6/5 - (16 امتیاز)
بهتر است از پاور کوئری استفاده کنیم یا پاور پیوت؟ در تمام کلاس هاس Power Bi که برگزار میکنم این سوال از من پرسیده میشود. و افراد میخواهند بدانند از کدام یک از این دو ابزار می بایست استفاده کنند. پاور پیوت یا پاور کوئری ؟

نکته: این موضوع هم در زمینه اکسل و هم در زمینه Power BI Desktop صادق است، اگرچه در Power BI Desktop نام این ابزارها پاور کوئری یا پاور پیوت نیست و با نام های دیگری وجود دارند.

در این مورد شما میتوانید هم خدا را بخواهید هم خرما را . پاسخ سوال بالا مشخص است، شما می بایست از هر دو استفاده کنید.

با استفاده از پاور کوئری، داده های خود را پاکسازی کنید و به شکل دلخواه درآورید .

با استفاده از پاور پیوت داده های خود را مدل سازی کنید و محاسبات مختلف را تعریف کنید .

معرفی پاور کوئری و پاور پیوت

اما در این فیلم آموزشی قصد داریم به صورت مقدماتی شما را با دو ابزار پاور کوئری و پاور پیوت آشنا کنیم.

استفاده از پاور کوئری برای فراخوانی داده

در Power BI desktop شما حتی هیچ گزینه دیگری نیز در اختیار ندارید و فقط می بایست از “Get Data/Power Query” برای اتصال به داده های خود استفاده کنید. البته این موضوع از نظر من محدودیت تلقی نمیشود و حتی در اکسل نیز من ترجیح میدهم که برای اتصال به هر نوع داده ای از پاور کوئری استفاده کنم .

در صورتی که با ابزار قدرتمند پاور کوئری در اکسل آشنا نیستید، میتوانید به صفحه زیر مراجعه کنید و به صورت مرحله به مرحله و از ابتدا تا انتها با پاور کوئری آشنا شوید: دوره رایگان آموزش پاور کوئری در اکسل

برای اتصال به هر نوع داده ای از پاور کوئری استفاده کنید.

حتی اگر بتوان با استفاده از پاور پیوت به داده های مورد نظر متصل شد و نیاز به ایجاد هیچ تغییری نیز در منابع داده وجود نداشته باشد، من باز هم ترجیح میدهم از پاور کوئری استفاده کنم.

با اینحال، شرایطی وجود دارد که در آن استفاده از پاور پیوت نسبت به پاور کوئری برای اتصال به داده ها ترجیح داده میشود:

  • در اکسل 2010 که پاور کوئری قادر به ارسال مستقیم داده به مدل داده پاور پیوت نیست.
  • در مورد کاربرانی که میخواهند مدل اکسل خود را به SSAS (سرویس تجزیه و تحلیل Sql) ارسال کنند و سپس داده ها را در SSAS تازه سازی کنند. ( زیرا SSAS از تازه سازی پاور کوئری پشتیبانی نمیکند). که البته این این سناریو برای درصد کمی از افراد اتفاق می افتد.
  • و احتمالا شرایط دیگری نیز وجود دارد که اگر شما نیز با یکی از این سناریو ها برخوردید میتوانید ما را نیز در قسمت کامنت همین پست در جریان آن قرار دهید.

ولی عموما، در اکسل 2013، 2016 و PBI Desktop ، پاور کوئری بهترین راه اتصال به داده است.

استفاده از پاور پیوت برای مدل سازی داده

ارتباط (Relationship ): برای تبدیل داده های مسطح به یک جدول از پاور کوئری استفاده نکنید. بهتر است از پاور پیوت برای ایجاد ارتباط بین داده ها استفاده شود. در حقیقت، اگر مجموعه داده ای که به آن متصل شده اید، “مسطح” است از پاور کوئری برای “غیر مسطح” کردن آن استفاده کنید به این معنی که جداول داده و جداول جستجو را از هم تفکیک کنید و ایجاد ارتباط بین داده ها را به پاور پیوت واگذارید.

محاسبات (calculations): عموما، من محاسبات ریاضی را در پاور کوئری انجام نمیدهم . به اعتقاد من این محاسبات را می بایست با استفاده از فرمول های Dax در پاور پیوت انجام داد. البته انجام محاسبات موقتی در پاور کوئری مشکلی ایجاد نمیکند. برای مثال برای محدود کردن جدول محصولات، به تولیداتی که به فروش رسیده اند، میتوانید یک ستون برای هر محصول ایجاد کنید که مقدار فروش را برای آن محاسبه میکند. ولی پس از اینکه آماده سازی داده ها در پاور کوئری به پایان رسید، می بایست این ستون را حذف کنید.

چند حالت دیگر وجود دارد که در آن انجام محاسبات در پاور کوئری منطقی به نظر می رسد. برای مثال محاسبات واقعا دشوار را میتوان با استفاده از یک ستون محاسباتی در پاور کوئری انجام داد.  ولی بعنوان یک قانون کلی، بهتر است برای هر محاسبه ریاضی از فرمول های dax استفاده کنید.

با وجود تمام توضیحاتی که داده شد، ولی این دو ابزار از این قابلیت برخوردار هستند که به جای یکدیگر مورد استفاده قرار گیرند. در موارد بسیاری من نیز از خودم این سوال را پرسیده ام که یک مسئله را با استفاده از پاور کوئری تجزیه و تحلیل کنم یا پاور پیوت ؟

در زیر چند مثال آورده ایم که در هرکدام می بایست این تصمیم گرفته شود که از کدام یک از این دو ابزار استفاده شود.

الف. استخراج داده های فیلتر شده با استفاده از پاور کوئری یا استفاده از شاخص های ( measure) پاور پیوت همراه با فیلترهای محاسباتی

فرض کنید داده های فروش مربوط به تمام انواع و مدل های خودرو را در اختیار داریم و یک مشتری فقط به “هوندا” علامند است. شما می توانید با استفاده از پاور کوئری داده ها را به نحوی فیلتر کنید که فقط هوندا را نمایش دهد و ردیف های مربوط به این نوع خودرو را در مدل داده قرار دهد.

یا، میتوانید کل مجموعه داده را وارد مدل پاور پیوت کنید ولی با استفاده از شاخص، فقط اطلاعات مربوط به هوندا را محاسبه کنید. برای مثال:

CarsSold = CALCULATE( SUM(CarSales[Units]), CarSales[Make] = “Honda” )

من، شیوه دوم را ترجیح میدهم. چرا؟ زیرا با شناختی که من از مشتریان دارم ، آنها ممکن است امروز هوندا را ترجیح دهند، فردا به تویوتا علاقه مند باشند و … . به همین دلیل من ترجیح میدهم از مدل داده ای استفاده کنم که نه تنها نیاز امروز مشتریان بلکه نیازهای آینده آنان را نیز پاسخ گوید.

ب. تجزیه و تحلیل زمان: مقایسه سال به سال،YTD (از ابتدای سال تاکنون) و …

هر بار که می بینم افراد با استفاده از پاور کوئری تجزیه و تحلیل زمانی انجام می دهند، ناراحت میشوم. پاور کوئری بسیار انعطاف پذیر است و به شما امکان میدهد ستون هایی اضافه کنید که مجموع ytd را محاسبه می کند یا مقدار مربوط به سال قبل را نمایش میدهد. ولی این روش، غیر منعطف است و موثر نیست. پاور پیوت در تجزیه و تحلیل زمان بسیار قدرتمند است. من به شخصه شمارش نکرده ام ولی گفته شده که تعداد توابع مربوط به زمان از تمام انواع دیگر توابع DAX بیشتر است.

ج. تجزیه ردیف های داده

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

چه کسانی و در کجا از پاور کوئری و پاور استفاده می کنند؟

شاید این سوال برای شما هم پیش آماده باشد که موارد استفاده پاور کوئری و پاور پیوت چیست؟ چه کسانی از پاور کوئری و پاور پیوت استفاده می کنند؟ پاور کوئری و پاور پیوت چه کاربردهایی دارند؟ در این فیلم آموزشی ببینید.

نتیجه گیری

با استفاده از ابزار صحیح برای کار صحیح، مدل هایی به دست خواهد آمد که موثر وکارامد هستند. همانطور که مشاهده کردید، برای انجام هر کاری، یکی از این دو ابزار ترجیح داده میشود. هر چند میتوان از هر کدام از این دو به جای دیگری استفاده کرد

مشترک شدن
Notify of
guest

2 نظرات
نظردهی درون متنی
مشاهده همه نظرات
جواد

با سلام و احترام
منظور شما از داده های مسطح چی بوده؟
با تشکر

امیر دایی

سلام
داده های مسطح یعنی از جداول دیتابیس چند جدول رو با هم ادغام کردید. به این جدول جدید، یک جدول مسطح گفته میشه.