我試圖計算最近6個月的STDEVX.P(不包括當前月份;所以在2017年5月,我想STDEVX.P對於2016年11月至2017年4月期間),以便進一步計算銷售訂單的差異。Power BI:計算6個月期間的STDEVX.P
銷售數據由日常交易組成,因此它包含交易日期:iContractsChargebacks[TransactionDate]
和銷售單位:iContractsChargebacks[ChargebackUnits]
,但如果在給定期間內沒有銷售,那麼該月不會有任何數據。
因此,例如,在7月1日,銷售爲過去6個月有以下幾條:
Jan 100
Feb 125
Apr 140
May 125
Jun 130
三月丟失,因爲沒有銷售。所以,當我計算數據集上的STDEVX.P時,它計算了5個週期,實際上有6個,只有一個恰好爲零。
在一天結束時,我需要計算當前六個月期間的STDEVX.P。如果拉動月度銷售數字時,它只會返回3個時期(月),那麼它需要假設其他3個時期的值爲零。
我想到了手工計算標準差,而不是使用DAX STDEVX.P公式,發現這2個鏈接就如何做一個參考,第一個是最接近我的需要:
https://community.powerbi.com/t5/Desktop/Problem-with-STDEV/td-p/19731
Calculating the standard deviation from columns of values and frequencies in Power BI ...
我試圖讓它去,但仍然沒有得到正確的計算。我的代碼是:
STDEVX2 =
var Averageprice=[6M Sales]
var months=6
return
SQRT(
DIVIDE(SUMX(
FILTER(ALL(DimDate),
DimDate[Month ID]<=(MAX(DimDate[Month ID])-1) &&
DimDate[Month ID]>=(MAX(DimDate[Month ID])-6)
),
(iContractsChargebacks[SumOfOrderQuantity]-Averageprice)^2),
months
)
)
*注:除了在代碼中使用日期參數,我創建的日期表中計算列給出了每月一個唯一的ID,讓我更容易。
謝謝Lenard,但我在計算本身有問題。是否可以創建一個表格來計算過濾器已識別的6個月中每個SKU的銷售額總和,並且如果其中一個期間沒有銷售額,那麼它應該爲0? – Epicleo
DimDate表如上所述。 Sales表是日常交易,它包含交易日期:iContractsChargebacks [TransactionDate],特定的SKU:iContractsChargebacks [SKU]以及爲該SKU銷售的單位:iContractsChargebacks [ChargebackUnits] 我想創建一個表,將iContractsChargebacks [ ChargebackUnits]由SKU和月份。如果在特定的月份,某SKU沒有任何銷售,那麼我希望該月的數據爲0,即iContractsChargebacks [ChargebackUnits] 然後,我可以在計算STDEV.P的新表中創建度量 – Epicleo
也許嘗試不使用SKU,並查看是否可以使其工作(因爲我沒有在我的答案中說明SKU)。我想你可以很容易地將SKU添加到SUMMARIZE語句中,但我首先會看到是否可以在沒有SKU的情況下使用SKU。一旦你有了這個,然後嘗試添加SKU。 – Leonard