[英]Issue with aggregate power BI SUM
我正在嘗試在 PowerBI 上復制我的環境中存在的業務計算,但我沒有得到我期望的結果。
我有 2 張表作為示例,並復制了現實生活中的問題。
表銷售:
dateSold Sector Idsale NPS
01/12/2021 A 1 good
01/11/2021 A 2 bad
01/11/2021 A 3 good
01/11/2021 B 4 bad
01/10/2021 A 5 bad
01/10/2021 B 6 good
01/10/2021 B 7 good
01/09/2021 A 8 good
01/09/2021 A 9 good
01/09/2021 A 10 good
和重量表:
SECTOR Weight
A 0,7
B 0,3
我創建了一些字段來做我的數學,他們做我所期望的,但最后一個字段沒有。 我使用這種方法對字段 NPS 上的 GOOD 和 BAD 和總值進行了計數:
QuantityGOOD =
CALCULATE(
COUNTA(Sales[Idsale])
, DATESINPERIOD(Sales[dateSold], SELECTEDVALUE(Sales[dateSold]), -3, MONTH)
, Sales[NPS] == "good"
)
然后使用我的字段創建了一個帶有數學的字段:
NPSCalculated =
[QuantityGOOD] / [QuantityTotal] - [QuantityBad] / [QuantityTotal]
然后在最后一步中,我必須將此值乘以另一個表中的權重,然后我嘗試了這個:
FinalValue =
CALCULATE(
SUMX(
SUMMARIZE(Sales ,Sales[dateSold], weights[Sector]),
[NPSCalculated] *
CALCULATE(
AVERAGE(weights[weight]))))
但是這段代碼去掉了前幾個月存在的扇區 A 的值,並且在目標月份不存在。 它返回總和而不丟失部分。
SaleDate Sector bad good total NPS weight FinalValue
2021-12 A 2 2 4 0 0,7 0
2021-12 B 1 2 3 0,333 0,3 0,1
我需要得到上述列 FinalValue 的結果(僅在 2021-12 年在 excel 中完成),但我只得到 PBI 的第一行。 你們能幫幫我嗎?
CALCULATE(
SUMX(
CALCULATETABLE(
SUMMARIZE(Sales ,Sales[dateSold], weights[Sector])
,DATESINPERIOD(Sales[dateSold], SELECTEDVALUE(Sales[dateSold]), -3, MONTH)
)
,[NPSCalculated] *
CALCULATE(
AVERAGE(weights[weight])
)
)
)
確保數據集已完美加載。
在表格視覺中,將 [dateSold] 替換為 [Month],這將使表格視覺獲得 [month] 和 [SECTOR] 的笛卡爾積。
並更改測量 DATESINPERIOD() 中的參數。 將 dateSold 列替換為新的日期列。 DATESINPERIOD('Sales'[dateSold], MIN('Calendar'[Date]),-3,MONTH))期間的日期
我需要得到上述列 FinalValue 的結果(僅在 2021-12 年在 excel 中完成),但我只得到 PBI 的第一行。 你們能幫幫我嗎?
然后在最后一步,我必須將此值乘以另一個表中的權重,我嘗試了這個:
FinalValue = CALCULATE(SUMX(SUMMARIZE(Sales,Sales[dateSold], weights[Sector]), [NPSCalculated] * CALCULATE(AVERAGE(weights[weight]))))
如果我們使用這個代碼而不是這個,那么預期的 output 將顯示為結果 FinalValue = VAR _s = ADDCOLUMNS ( CROSSJOIN ( VALUES ( 'Calendar'[Month] ), 'Weight' ), "final", [Weight] * [NPSCalculated] ) RETURN SUMX ( _s, [final] )結果
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.