PowerBI中逗号分隔地址双列配对拼接的DAX实现问询
DAX配对拼接多地址计算列实现方案
直接在表中新建以下DAX计算列即可实现需求,无需新增额外字段,兼容任意数量的多地址场景:
配对拼接地址 = VAR 分隔符 = ", " // 将原分隔符替换为PATH函数兼容的|分隔符 VAR 街道号列表 = SUBSTITUTE([街道号], 分隔符, "|") VAR 街道号数量 = PATHLENGTH(街道号列表) VAR 街道名列表 = SUBSTITUTE([街道名], 分隔符, "|") VAR 街道名数量 = PATHLENGTH(街道名列表) // 按索引逐位配对两个字段的内容 VAR 配对地址集合 = GENERATE( GENERATESERIES(1, MAX(街道号数量, 街道名数量)), VAR 当前索引 = [Value] VAR 对应门牌号 = IF(当前索引 <= 街道号数量, PATHITEM(街道号列表, 当前索引), "") VAR 对应街道名 = IF(当前索引 <= 街道名数量, PATHITEM(街道名列表, 当前索引), "") ROW("单条地址", TRIM(对应门牌号 & " " & 对应街道名)) ) // 合并所有配对完成的地址 RETURN CONCATENATEX(配对地址集合, [单条地址], 分隔符)
适配说明
- 若实际数据的多地址分隔符不是
,(逗号加空格),修改第一行VAR 分隔符 =后的内容即可 - 代码自动兼容街道号、街道名数量不一致的异常情况,缺失对应项的位置会自动跳过空值
- 所有计算逻辑都在单个计算列内完成,不会额外增加表的字段数量
内容的提问来源于stack exchange,提问作者Bri
相关产品推荐
相关产品推荐

