如何在Power BI中实现Excel的TEXTJOIN数组公式功能?
在Power BI中实现Excel TEXTJOIN数组公式的效果
你需要实现的是按id分组,将同一id对应的likes值用/连接并忽略空值的效果,以下是两种可行的实现方式:
方法一:使用DAX创建计算列
在数据视图中,点击「新建列」,输入以下DAX公式(替换你的表名为实际表名称):
按ID合并点赞 = CONCATENATEX( FILTER('你的表名', '你的表名'[id] = EARLIER('你的表名'[id])), '你的表名'[likes], "/", '你的表名'[likes], ASC, TRUE() )
FILTER函数筛选出与当前行id相同的所有行,对应Excel公式中的IF([id]=[@[id]],...)逻辑CONCATENATEX遍历筛选结果,用/连接likes值- 最后一个参数
TRUE()用于忽略空值,与Excel中TEXTJOIN的第二个参数TRUE作用一致
方法二:使用Power Query分组合并
- 进入Power Query编辑器,选中目标数据表
- 切换到「转换」选项卡,点击「分组依据」
- 在分组配置窗口中:
- 分组依据选择
id列 - 新列名设为
合并的likes(可自定义) - 操作选择「所有行」,点击确定
- 分组依据选择
- 点击「添加列」→「自定义列」,输入以下M语言公式:
Text.Combine(List.RemoveNulls([所有行][likes]), "/") - 删除自动生成的「所有行」列,点击「关闭并应用」完成设置
List.RemoveNulls移除likes中的空值,对应TEXTJOIN的忽略空值逻辑Text.Combine用/连接剩余的likes值
内容的提问来源于stack exchange,提问作者Rhea
相关产品推荐
相关产品推荐

