如何實(shí)現(xiàn) DAX 按指定順序拼接字符串
小伙伴問(wèn),他拼接的字符串是隨機(jī)順序,如何實(shí)現(xiàn)特定順序拼接,如:按銷售額大小。本文來(lái)幫你解答。
先來(lái)看一個(gè)拼接字符串的效果,如下:

可以看出:
第一個(gè),只是簡(jiǎn)單的文本。
第二個(gè),帶有銷售額,但元素未按銷售額排序。
第三個(gè),帶有銷售額,且元素按照銷售額排序。
我們需要的正是第三種效果。
實(shí)現(xiàn)方法
實(shí)現(xiàn)方法如下:
Text.內(nèi)容+銷售額.按順序 =
VAR vList = ADDCOLUMNS( VALUES('Product'[Subcategory] ) , "@KPI" , INT( [Start:KPI] ) )
VAR vListRanded = ADDCOLUMNS( vList , "@Rank" , RANKX( vList , [@KPI] ) )
RETURN
CONCATENATEX(
GENERATESERIES( 1 , COUNTROWS( vList ) ) ,
VAR vRow = FILTER( vListRanded , [@Rank] = [Value] )
RETURN SELECTCOLUMNS( vRow , "Item" , [Subcategory] ) & " (" & SELECTCOLUMNS( vRow , "KPI" , [@KPI] ) & ") " , "," )如果你正在學(xué)習(xí) DAX,那么這又是一個(gè)非常好的案例可以幫助你理解 DAX 很多妙處。
這里的妙處在于:
CONCATENATEX?是無(wú)法合并多項(xiàng)內(nèi)容的,而同時(shí)需要一個(gè)被排序的內(nèi)容,這里使用迭代的思想(已經(jīng)在 BI 真經(jīng)中講解過(guò)),構(gòu)建一個(gè)用來(lái)迭代的順序表即可,在迭代時(shí)帶入需要的數(shù)據(jù)并進(jìn)行顯示即可。
總結(jié)
巧妙利用不同的 DAX 函數(shù),不是僅僅需要技巧和記憶,有固定的思維模式和套路可以遵循。在《BI 真經(jīng)》課程給出了這些套路的統(tǒng)一思想,希望你看懂一個(gè)案例,駕馭各種多變的需求。
在訂閱了BI佐羅講授的《BI真經(jīng)》之《BI進(jìn)行時(shí)》課程區(qū),除了可以下載本文案例,還可以觀看視頻講解。

Power BI 終極系列課程《BI真經(jīng)》

BI真經(jīng) - 讓數(shù)據(jù)真正成為你的力量
掃碼與精英一起討論 Power BI,驗(yàn)證碼:data2021
點(diǎn)擊“閱讀原文”進(jìn)入學(xué)習(xí)中心
↙
