将多个值连接到一起,以文本的形式输出。
CONCATENATEX
CONCATENATEX ( <Table>, <Expression>, [<Delimiter>], [<OrderBy_Expression>], [<Order>], ... )
对<Table>的每一行计值表达式<Expression>,将所有结果连接到一起返回单个字符串,并使用指定的分隔符<Delimiter>分隔。
参数 | 属性 | 描述 |
---|---|---|
Table | 用于表达式每行计值的表 | |
Expression | 用于逐行计值的表达式 | |
Delimiter | 可选 | 连接表达式结果的连接符 |
OrderBy_Expression | 可选 可重复 |
排序使用的表达式 |
Order | 可选 可重复 |
排序逻辑. 0/FALSE/DESC – 降序; 1/TRUE/ASC – 升序(默认) |
CONCATENATEX 是迭代函数,它迭代由第一参数提供的表,对于表的每一行,计值第二参数提供的表达式,所有表达式的结果都使用第三个参数提供的分隔符连接起来。
CONCATENATEX 的结果可以显示到报告或透视表的值区域,比如
Purchasing Customers:= CONCATENATEX( VALUES(Sales[Customer]), Sales[Customer], "," )
对结果排序
CONCATENATEX 可以对返回的结果排序,以指定的逻辑组合到一起,以下面的模型为例,当你需要在计算列中显示每位客户的所有下单日期,并按从小到大的顺序排列时,可以使用 CONCATENATEX。
Order Dates = CONCATENATEX ( RELATEDTABLE ( Orders ), FORMAT ( Orders[OrderDate], "yyyy/mm/dd" ), ", ", Orders[OrderDate] )
CONCATENATEX 第五参数默认使用升序,你可以自行修改排序规则
请问为什么我的结果是全部的类型,而不是对应的类型
文中应该是values(product)吧?
你好,我对这个函数是很惊喜的,解决了在数据透视表中文本只能计数不能统计具体内容的情况,使用values和all也能去重,不过仍有一个地方不明白,就是这些文本最后串起来统一呈现,那先后顺序可以按照升序或者降序排列吗?在powerquery中可以使用list.sort和list.distinct解决,但是在dax里面好像我自己就没办法了,麻烦老师解答一下吧!
如何去重,比如A分组,有拼接值a1,a1,a2,a3,a4,a1,如何实现a1,a2,a3,a4