案例:基準(zhǔn)比、均比、標(biāo)準(zhǔn)比
1、 計(jì)算平均值的陷阱
這種直接用average的寫(xiě)法來(lái)求,是錯(cuò)誤的,因?yàn)橹苯佑胊verage算出來(lái)的是主鍵的平均,對(duì)于商機(jī)記錄表來(lái)說(shuō),一條記錄代表一條商機(jī),這樣算出來(lái)的是每條商機(jī)的平均額,所以是錯(cuò)誤的。
所有城市總平均 = CALCULATE(average('商機(jī)記錄'[商機(jī)金額(M)]),all('商機(jī)相關(guān)企業(yè)信息'[城市]))
正確的寫(xiě)法應(yīng)該是:算出來(lái)商機(jī)金額的總額除以城市的個(gè)數(shù)
所有城市總平均 = CALCULATE( sum('商機(jī)記錄'[商機(jī)金額(M)]),all('商機(jī)相關(guān)企業(yè)信息'[城市]))/calculate(DISTINCTCOUNT('商機(jī)相關(guān)企業(yè)信息'[城市]),all('商機(jī)相關(guān)企業(yè)信息'[城市]))
注:
當(dāng)主鍵就是維度的時(shí)候,這種情況下可以直接用average直接求平均,其他情況都必須用合計(jì)值除以計(jì)數(shù)
distinctcount,不重復(fù)計(jì)數(shù)
2、rankx排名問(wèn)題
方式一:正確( 行上下文計(jì)算)
金額排名 = rankx(all('商機(jī)相關(guān)企業(yè)信息'[城市]),[1金額合計(jì)])
方式二:正確(用calcaulate將篩選上下文轉(zhuǎn)換為行上下文) 金額排名 =
rankx(all('商機(jī)相關(guān)企業(yè)信息'[城市]),CALCULATE(SUM('商機(jī)記錄'[商機(jī)金額(M)])))
方式三:錯(cuò)誤(直接引用聚合函數(shù)進(jìn)行行上下文匯總) 金額排名 =
rankx(all('商機(jī)相關(guān)企業(yè)信息'[城市]),SUM('商機(jī)記錄'[商機(jī)金額(M)]))
注:
直接在函數(shù)中嵌套使用已定義度量名的函數(shù),屬于行上下文篩選;
嵌套使用聚合函數(shù)時(shí),需先定義度量名,再引用度量名;
不能將聚合函數(shù)(sum、max、min、count、avg)直接放到另一個(gè)函數(shù)中使用;
在聚合函數(shù)外層加上calculate(聚合函數(shù)),可以把篩選上下文改成行上下文,這樣聚合函數(shù)就可以嵌套在函數(shù)中了
該函數(shù)以中國(guó)式排序進(jìn)行排名:1,2,3,3,5...








暫無(wú)數(shù)據(jù)