美國(guó)留學(xué)選擇什么專業(yè)好?留學(xué)美國(guó)熱門專業(yè)推薦
2019-06-26
更新時(shí)間:2024-03-12 05:20作者:小樂
今天我們繼續(xù)講解表操作函數(shù)SUMMARIZE。順便說一下,我們還要講兩個(gè)只能在SUMMARIZE 中使用的輔助函數(shù)。通常,表操作函數(shù)用作測(cè)量值的一部分。將測(cè)量值生成一個(gè)表格,然后對(duì)表格進(jìn)行計(jì)算,最終得到可用的測(cè)量值。 SUMMARIZE的主要功能是一樣的,但是通過實(shí)際看生成表的效果,有助于我們理解表操作函數(shù)及其含義,所以我會(huì)在單獨(dú)的文章中介紹這個(gè)函數(shù)。
SUMMARIZE 函數(shù)類似于Excel 中的數(shù)據(jù)透視表,或者更類似于SQL 中的GROUP BY。它匯總表的指定字段并返回匯總表。
我們先看SUMMARIZE函數(shù)的一個(gè)比較實(shí)用的功能,它通過明細(xì)表生成維度表。意思是將訂單明細(xì)表中的維度字段聚合起來,并使其唯一,這樣就可以作為維度表,并且可以隨著明細(xì)表的增減而自動(dòng)變化。我們的訂單詳情如下
我們老師創(chuàng)建了最簡(jiǎn)單的產(chǎn)品ID和品牌維度表。 DAX報(bào)表及結(jié)果如下
產(chǎn)品維度表=SUMMARIZE('銷售數(shù)據(jù)','銷售數(shù)據(jù)'[產(chǎn)品id],'銷售數(shù)據(jù)'[品牌])
我們先看一下函數(shù)的語(yǔ)法。第一個(gè)參數(shù)是一個(gè)表,后面可以跟一個(gè)或多個(gè)聚合列。最后,可以添加一列或多列的合計(jì)值。每組聚合值列由列名和列參數(shù)組成。
總結(jié)(, [, ]…[, ]…)
我們的語(yǔ)句只使用了兩個(gè)聚合列,因此只有維度值,沒有實(shí)際的指標(biāo)值。結(jié)果如下
我們生成了一個(gè)根據(jù)訂單詳情而變化的類別維度表。我們還可以添加一列類別維度。 DAX報(bào)表及結(jié)果如下
產(chǎn)品維度表=SUMMARIZE('銷售數(shù)據(jù)', '銷售數(shù)據(jù)' [產(chǎn)品id], '銷售數(shù)據(jù)' [類別], '銷售數(shù)據(jù)' [品牌])
聚合指標(biāo)參數(shù)添加在下面,類似于數(shù)據(jù)透視表。我們這里添加了三個(gè)指標(biāo)數(shù)據(jù),銷售額、訂單數(shù)和買家數(shù)。書寫方法非常簡(jiǎn)單。 DAX報(bào)表及結(jié)果如下
產(chǎn)品匯總表=SUMMARIZE('銷售數(shù)據(jù)','銷售數(shù)據(jù)'[類別],'銷售數(shù)據(jù)'[品牌],'銷售金額(元)',SUM('銷售數(shù)據(jù)'[總金額]),'數(shù)量order ',COUNTA('銷售數(shù)據(jù)'[產(chǎn)品id]), '買家數(shù)量',DISTINCTCOUNT('銷售數(shù)據(jù)'[用戶id]))
接下來我們要講的是只能在SUMMARIZE中使用的兩個(gè)ROLLUP函數(shù)和ROLLUPGROUP函數(shù)。這兩個(gè)函數(shù)的主要功能是為我們的聚合匯總指標(biāo)添加總價(jià)值。我們先來看看ROLLUP函數(shù)。語(yǔ)法如下。結(jié)合SUMMARIZE的語(yǔ)法就一目了然了。這只是SUMMARIZE功能的一部分
卷起([,[,…]])
示范一下你就明白了。我們對(duì)剛才提到的三個(gè)指標(biāo)做一個(gè)總結(jié)。 DAX報(bào)表如下
產(chǎn)品匯總表=SUMMARIZE('銷售數(shù)據(jù)', ROLLUP('銷售數(shù)據(jù)'[品類],'銷售數(shù)據(jù)'[品牌]),'銷售金額(元)', SUM('銷售數(shù)據(jù)'[總金額]), '訂單數(shù)量',COUNTA('銷售數(shù)據(jù)'[產(chǎn)品id]), '買家數(shù)量',DISTINCTCOUNT('銷售數(shù)據(jù)'[用戶id]))
從結(jié)果中可以清楚地看到,我們的結(jié)果多了四類匯總數(shù)據(jù)和一類匯總數(shù)據(jù),效果一目了然。
我們也可以將數(shù)據(jù)直接放入報(bào)表的表格中。效果如下,還是比較直觀的。最上面是總的匯總數(shù)據(jù),然后還有每個(gè)類別的類別匯總數(shù)據(jù),應(yīng)該用在一些特殊的小場(chǎng)景下
如果我們只需要顯示總的匯總數(shù)據(jù),而不需要顯示各個(gè)類別的匯總數(shù)據(jù),那么只需要在ROLLUP函數(shù)中再嵌套一個(gè)ROLLUPGROUP函數(shù)即可。 DAX報(bào)表及結(jié)果如下
產(chǎn)品匯總表=SUMMARIZE('銷售數(shù)據(jù)', ROLLUP(ROLLUPGROUP('銷售數(shù)據(jù)'[類別], '銷售數(shù)據(jù)'[品牌])), '銷售金額(元)', SUM('銷售數(shù)據(jù)'[總金額]), '訂單數(shù)量',COUNTA('銷售數(shù)據(jù)'[產(chǎn)品id]), '買家數(shù)量',DISTINCTCOUNT('銷售數(shù)據(jù)'[用戶id]))
結(jié)尾