You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DAX中不拆分列实现逗号分隔字符串列的出现次数统计与分组

DAX实现逗号分隔列值统计(不修改原表结构)

你可以直接新建DAX计算表实现需求,全程不需要修改原表的Data列结构:

方法1:适用新版Power BI/SSAS(支持STRING_SPLIT函数)

统计结果 = 
VAR AllSplitValues =
    SELECTCOLUMNS (
        GENERATE (
            '你的原表名称',
            STRING_SPLIT ( '你的原表名称'[Data], "," )
        ),
        "Data", [Value]
    )
RETURN
    GROUPBY (
        AllSplitValues,
        [Data],
        "Count", COUNTX ( CURRENTGROUP(), [Data] )
    )

方法2:兼容旧版DAX环境(无STRING_SPLIT也可使用)

统计结果_兼容版 = 
// 先计算单条字符串最多包含多少个独立值
VAR MaxValueCount = MAXX('你的原表名称', LEN([Data]) - LEN(SUBSTITUTE([Data], ",", "")) + 1)
// 生成序号序列用于遍历取值
VAR SerialNumbers = GENERATESERIES(1, MaxValueCount, 1)
// 逐行拆分所有字符串为独立值
VAR AllSplit =
    SELECTCOLUMNS(
        GENERATE(
            '你的原表名称',
            SerialNumbers
        ),
        "Data", TRIM(PATHITEM(SUBSTITUTE('你的原表名称'[Data], ",", "|"), [Value]))
    )
// 过滤空值
VAR FilterValid = FILTER(AllSplit, [Data] <> BLANK())
RETURN
// 分组统计次数
    GROUPBY(
        FilterValid,
        [Data],
        "Count", COUNTX(CURRENTGROUP(), [Data])
    )
  • 使用时只需将代码中的你的原表名称替换为实际表名即可
  • 两种方案均不会修改原表结构,也不需要在原表新增任何计算列

内容的提问来源于stack exchange,提问作者Alan Cradler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 07:15:03