نحوه استفاده از تحلیل حساسیت در Power BI

نحوه استفاده از تحلیل حساسیت در Microsoft Power BI

تحلیل حساسیت یا تحلیل چه میشود اگر (What-if)، یک تکنیک برای تعیین چگونگی تاثیرپذیری متغیرهای خروجی (متغیرهای وابسته) از متغیرهای ورودی (متغیرهای مستقل) در یک سیستم یا کسب و کار میباشد.

قابلیت تجزیه و تحلیل حساسیت از ویژگی های مهم هر ابزار هوش تجاری است. در این مقاله قصد داریم با یک مثال، نحوه تنظیم تحلیل حساسیت در پاور بی آی را باهم بررسی کنیم.

 

لینک ابزار:  نسخه Power BI دسکتاپ اکتبر ۲۰۲۰

فایل اکسل: SaleFile

 

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

در این فایل، شیت FactSale مربوط به فروش های انجام شده است.

  • فیلد DistributionCenter_DWId : مرکز پخش (فروشنده)
  • فیلد Customer_DWId : مشتری
  • فیلد SaleDate_DWId : تاریخ فروش
  • فیلد Product_DWId : محصول
  • فیلد Number : تعداد
  • فیلد UnitPrice : قیمت فروش
  • فیلد ReturnNumber : تعداد برگشت از فروش
عرفی فیلذهای جدول FactSale

تصویر شماره یک – معرفی فیلذهای جدول FactSale

دو Measure تحت عنوان EndPrice_ و EndQTY_ ایجاد میکنیم که به ترتیب مجموع مبلغ فروش و مجموع تعداد فروش (تعداد فروش منهای تهداد برگشت از فروش) را نگهداری میکنند.

_EndPrice = 

SUMX(FactSale, (FactSale[Number] - FactSale[ReturnNumber]) * FactSale[UnitPrice])
_EndQTY = 

SUMX(FactSale, FactSale[Number] - FactSale[ReturnNumber])

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

برای این منظور از طریق تب Modeling، آیتم New Parameter دو پارامتر برای این دو متغیر مستقل تعریف میکنیم.

تعریف پارامتر در Power BI

تصویر شماره دو – تعریف پارامتر در Power BI

و یا با استفاده از قطعه کد زیر این دو پارامتر را تعریف میکنیم، که از صفر تا ۲۰ درصد افزایش تعداد تقاضا و افزایش قیمت فروش را شامل میشوند.

QTYChangeParam = GENERATESERIES(0, 0.21, 0.01)
PriceChangeParam = GENERATESERIES(0, 0.21, 0.01)

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

_SelectedQTYChangeParam = 
if(ISFILTERED(QTYChangeParam[Value]) = FALSE(), 0, MINX(QTYChangeParam, QTYChangeParam[Value]))
_SelectedPriceChangeParam = 
if(ISFILTERED(PriceChangeParam[Value]) = FALSE(), 0, MINX(PriceChangeParam, PriceChangeParam[Value]))

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

در این کد، مجموع تعداد فروش واقعی را ضربدر درصد افزایش تعداد تقاضا (SelectedQTYChangeParam_) میکنیم  و سپس منهای تعداد برگشت از فروش واقعی میکنیم. مقدار حاصل همان تعداد تقاضای پیش بینی شده براساس پارامتر درصد تغییر تعداد تقاضا میباشد.

_EndQTY With Price Change Param = 

Var SelectedQTYChangeParam = [_SelectedQTYChangeParam]

return
    
    SUMX(FactSale, (FactSale[Number] * (1 + SelectedQTYChangeParam) - FactSale[ReturnNumber]))

همچنین برای بررسی تاثیر دو پارامتر QTYChangeParam_ و PriceChangeParam_  بر روی مبلغ پیش بینی فروش، از قطعه کد زیر استفاده میکنیم.

_EndPrice With Price Change Param = 

Var SelectedPriceChangeParam = [_SelectedPriceChangeParam]
Var SelectedQTYChangeParam = [_SelectedQTYChangeParam]

return

    SUMX(FactSale, 
            (((FactSale[Number] * (1 + SelectedQTYChangeParam)) - 
               FactSale[ReturnNumber]) * (FactSale[UnitPrice] * (1 + SelectedPriceChangeParam))))

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

 

0 پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.