我
是小必,很高興在這裡遇見你,以Excel和Power BI會友。
本期內容主要講解DAX函式中的CONCATENATEX函式,一個非常有用的函式,相當於Excel工作表函式中的TEXTJOIN函式.
1
函式解釋
用途
:對錶的每一行計算表示式,然後將得到的結果串聯到一個字串中,由指定的分隔符分隔。
語法
:CONCATENATEX ( , , [], [], [], [], [] … )
CONCATENATEX是一個迭代函式,返回一個字串連線的標量值。
2
實際案例
如圖所示,以下是資料來源,本次內容我們在Excel Power Pivot中完成。當然內容也可以在Power BI中完成,都是一樣的函式的與做法。
下面我們寫一個度量值,將每個部分的等級進行連線,然後將評級按升級排列:
我們將結果放到資料透視表中來看一下:
這時,我們發現上面的內容中有重複項,我們需要使用到VALUES函式來去重;另一個問題同時也暴露出來了,就是總計行裡不是我們想到的結果,我們想讓總計行顯示空白。那麼我們可以使用HAXONEVALUE函式。所以度量值程式碼也可以寫成下面:
來看一下結果:
接下來我們再增加下難度,我們需要將每個部門的姓名與等級連線起來,然後再按部門分組,所以此時度量值程式碼就可以寫成:
在這裡,分隔符我們使用了“/”,如果要使用換行符,在Excel Power Pivot中,使用Shift+Enter在分隔符的位置敲一個即可,在Power BI中則可以使用UNICHAR(10),而在Excel Power Pviot則不支援該UNICHAR(10)。這一點作為一個小技巧來說明一下。這個函式在文字函式的時候非常有用,但是有記得配合HASONEVALUE函式來使用效果更佳哦。
END