CONCATENATEX常常用来连接字符,语法如下图所示,该函数在Power BI或者Excel 2016以上版本支持。
摘自https://dax.guide/concatenatex/
写个基础度量值,使用分号将店铺名称串联起来,放到表格或者矩阵中,展示效果如下:
文本连接 =
CONCATENATEX ( '店铺资料', '店铺资料'[店铺名称], ";" )
这样看上去比较凌乱,将连接符号替换为换行符更美观,效果如下:
文本连接 =
CONCATENATEX ( '店铺资料', '店铺资料'[店铺名称], UNICHAR(10) )
连接的文本能不能指定排序,比方按业绩?效果如下:
文本连接 =
CONCATENATEX ( '店铺资料', '店铺资料'[店铺名称], UNICHAR ( 10 ), [M.销售业绩], DESC )
能不能把文本排序加上条形图,这样更美丽。效果如下:
文本连接 =
VAR MaxValue =
MAXX ( ALL ( '店铺资料' ), [M.销售业绩] )
RETURN
CONCATENATEX (
'店铺资料',
'店铺资料'[店铺名称]
& REPT ( "◼", ROUND ( 10 * [M.销售业绩] / MaxValue, 0 ) ),
UNICHAR ( 10 ),
[M.销售业绩], DESC
)
好像没有对齐,怎么办?按照店铺名称最长的字符数补齐空格,既可以看到区域排行,也可以看到总排行。
文本连接 =
VAR MaxValue =
MAXX ( ALL ( '店铺资料' ), [M.销售业绩] )
VAR MaxLen =
MAXX ( ALL ( '店铺资料' ), LEN ( '店铺资料'[店铺名称] ) )
RETURN
CONCATENATEX (
'店铺资料',
'店铺资料'[店铺名称]
& REPT ( UNICHAR ( 12288 ), MaxLen - LEN ( '店铺资料'[店铺名称] ) )
& REPT ( "◼", ROUND ( 10 * [M.销售业绩] / MaxValue, 0 ) ),
UNICHAR ( 10 ),
[M.销售业绩], DESC
)
店铺名称不想左对齐,怎么右对齐?
文本连接 =
VAR MaxValue =
MAXX ( ALL ( '店铺资料' ), [M.销售业绩] )
VAR MaxLen =
MAXX ( ALL ( '店铺资料' ), LEN ( '店铺资料'[店铺名称] ) )
RETURN
CONCATENATEX (
'店铺资料',
REPT ( UNICHAR ( 12288 ), MaxLen - LEN ( '店铺资料'[店铺名称] ) ) &
'店铺资料'[店铺名称] &
REPT ( "◼", ROUND ( 10 * [M.销售业绩] / MaxValue, 0 ) ),
UNICHAR ( 10 ),
[M.销售业绩], DESC
)
条形图标想换怎么办?REPT函数里面自己替换。