超強悍的DAX函數系列:CALCULATE()


超強悍的DAX函數系列:CALCULATE()


這一篇我們開始介紹DAX函數(DataAnalysis Expression:數據分析表達式)。它的作用可以理解為Excel中的函數。DAX函數中,有很多函數在名稱與作用上與Excel函數相同,但還有很多Excel沒有的而功能十分強大的函數。這一篇文章先為大家開始介紹一個基礎但重要的函數——CALCULATE函數,之後還會有系列DAX函數的文章出來。

作用:計算符合條件的數據源中某字段的數據,可以實現對數據源中任意兩個數據子集之間的計算和比較。

公式計算字段名:=CALCULATE(彙總公式,篩選條件1,篩選條件2,…)

在上面的式子中,第一個參數可以是彙總公式或條件表達式。

特點:計算字段受數據透視表佈局的行、列標籤篩選,可隨著數據透視表的佈局改變而改變;除此之外,還受公式中的篩選條件的篩選

,這是不會隨著數據透視表的佈局改變而改變的。

即,除了保持當前彙總單元格位置所處對應的列標題和行標題所確定的篩選條件外,再加上自定義篩選條件。


依舊沿用之前銷售的例子,此時老闆想要看看,作為金牌銷售的小李在總銷售量中佔比的情況。

Excel方案

如果在Excel透視表是沒有辦法簡潔地完成這個工作的。我們要完成以下操作:

創建一個透視表,行標籤選擇[銷售日期],更改為按季度分組;列標籤選擇[區域經理];值選擇[數量]。得到下表:

超強悍的DAX函數系列:CALCULATE()


然後我們在點擊值字段選擇[值字段設置],在[值顯示方式]中選擇為[行彙總的百分比],將區域經理的銷售數據更改為百分比。得到下圖:

超強悍的DAX函數系列:CALCULATE()

由上我們可知小李在各個季度總銷售量的佔比,我們可以僅篩選小李的數據。但是如果想在上圖中知道總銷量是多少,Excel透視表就無法辦到了。


PowerPivot方案:

在PowerPivot中使用CALCULATE函數就簡單得多了。在PowerPivot窗口中建立一個計算字段:

小李銷售情況:=CALCULATE([銷售數量],'銷售記錄'[區域經理]="小李")

創建一個PowerPivot透視表,行標籤選擇[銷售日期],更改為按季度分組;值選擇[數量]和[小李銷售情況],得到下表:

超強悍的DAX函數系列:CALCULATE()

如果要看小李銷售量佔總銷量的比值,只需要改動一下公式:

小李銷售情況:=FORMAT(CALCULATE([銷售數量],'銷售記錄'[區域經理]="小李")/[銷售數量],"0.0%")

即把小李的銷售量除以總體銷量,再使用FORMAT函數來規定格式,可得到下表:

超強悍的DAX函數系列:CALCULATE()

觀察到與Excel透視表得到的數值是一致的。但我們在這個表不僅可以瞭解到金牌銷售小李的銷售情況,還可以同時看到總體銷量,會對整體情況有更全面的瞭解。且不含除小李外其他區域經理的數據,表格簡潔實用。

本次的分享就到這裡,小夥伴們下次見。

大家覺得文章有用的話可以點個好看或者分享出去,幫助更多想學習分析技能的朋友!





分享到:


相關文章: