在日常的工作中,我们往往需要对表格数据的拼接,用来生成一些复合数据列,如下图类似场景。
其实,在powerbi中,我们同样也可以对表格文本进行拼接。今天我们就介绍两个DAX函数,COMBINEVALUES(表函数,新建列)与 CONCATENATEX(度量值)。
示例数据表:
注释:将多个字符串连接为一个字符串
语法:COMBINEVALUES(分隔符,表达式1,表达式2,....)
参数:
第一参数:分隔符,必须是一个恒定的值
第二参数及之后的参数:可以是一个列,也可以是表达式
返回:值(连接之后的字符串)
示例:
复合信息列 = COMBINEVALUES(" | ",'业绩表'[销售团队],'业绩表'[销售人员],'业绩表'[销售业绩])
将业绩表里的销售团队,销售人员,销售业绩拼接,并以"|"分割他们。
复合信息列 = COMBINEVALUES(" | ",'业绩表'[销售团队],'业绩表'[销售人员],'业绩表'[销售业绩])
那么列值拼接呢?这里我们就可以使用度量值来解决问题了。
CONCATENATEX函数
注释:将表中的每一行按表达式连接在一起
语法:CONCATENATEX(表,表达式,分隔符)
参数:
第一参数:计算表达式的表
第二参数:为表的每一行计算的表达式
第三参数:分隔符
返回:值,连接的字符串
示例
复合信息行 = CONCATENATEX('业绩表','业绩表'[销售人员]," | ")
#将业绩表中的销售人员连接在一起,以" | ",分割。
复合信息行 = CONCATENATEX('业绩表','业绩表'[销售人员]," , ",[销售业绩],DESC)
将对应字段拉入表的字段选项中,大功告成。
这里其实也可以看到由于是度量值的形式存在,所以这个拼接列文本是可以受到筛选器筛选的,在某些场景下是相当实用的。
CONCATENATEX列向的文本拼接,COMBINEVALUES行向的文本拼接。
CONCATENATEX在其他场景下可以有更多的应用场景,例如智能文本框等视觉对象,下期会介绍智能文本框与CONCATENATEX的结合案例。
以上。我是simone,期待下次分享。