銷售表
客戶表
模型關(guān)系
目標(biāo)要求寫出每個客戶的平均折扣價的度量值
度量值書寫
平均折扣價:=AverageX ('客戶表',
AverageX (RelatedTable ( '銷售表' ),
Sumx ( RelatedTable ( '銷售表' ),
'銷售表'[金額] * '客戶表'[折扣]
)
)
)
解釋:
1. 求出客戶對應(yīng)折扣銷售金額
Sumx ( RelatedTable ( '銷售表' ),
'銷售表'[金額] * '客戶表'[折扣]
)
這里SumX里表達式里是2個不同表的數(shù)據(jù)东帅,所以通過關(guān)聯(lián)表压固,先把對應(yīng)客戶的銷售都篩選出來,例如A客戶
篩選出關(guān)聯(lián)表后靠闭,進行迭代計算帐我,用銷售表的金額*客戶表的折扣
2. 計算每個客戶的平均銷售金額
AverageX (RelatedTable ( '銷售表' ),折扣銷售金額合計)
通過關(guān)聯(lián)表可以計算出每個客戶對應(yīng)的平均折扣銷售金額
3. 轉(zhuǎn)換度量值書寫
AverageX ('客戶表',每個客戶平均折扣銷售金額)
通過AverageX函數(shù)再次把添加列的書寫方式轉(zhuǎn)換成度量值的書寫方式。
因為涉及到上下文愧膀,所以如果直接使用var變量賦值的話拦键,會有差異。
另外我們來看另一種寫法
AverageX('銷售表','銷售表'[金額]*Related('客戶表'[折扣]))
我們仔細看總計這一欄會有差異檩淋。這個差異是什么原因?qū)е碌哪兀?br> 折扣后總金額為924芬为。
第一種計算方法是以客戶表為基礎(chǔ)計算的平均價格,最終返回的是3個客戶的平均價格的平均值蟀悦,也就是390/3得到的結(jié)果是130媚朦。
第二種計算方法是以銷售表為基礎(chǔ)計算的平均價格,最終返回的是924除以銷售表的行數(shù)也就是7日戈,得到的結(jié)果是132询张;