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

请求协助:Power BI中无需新建表通过Measure统计多值列唯一值数量

统计含逗号分隔多值列的唯一值数量(无需修改数据集/新建表)

需求:在Power BI的卡片可视化中,统计数据集里Supplier列的不同值总数。该列支持逗号分隔的多值,且不能新建表或修改现有数据集。

示例数据:

Supplier
54
Null 
216,549
992,97,769,1125,1127
823
96
Null
823
93

预期结果:11

我尝试了以下步骤但未成功:

  1. 创建仅包含Supplier列不同值的表变量:
Variable Table_Column1
54
216,549
992,97,769,1125,1127
823
96
93
  1. 将新表中每行的多值拆分为单独行(考虑用Generateseries?):
Variable Table_Column1
54
216
549
992
97
769
1125
1127
823
96
93
  1. 统计拆分后列的Distinctcount,结果应为11。

现在困惑的是如何在Distinctcount中使用新表变量的列,求解决方法。


解决方案

可以通过编写DAX度量值实现,核心逻辑在度量值内完成,无需修改模型:

Unique Supplier Count = 
VAR DistinctSuppliers = 
    // 获取Supplier列非空的唯一值
    SELECTCOLUMNS(
        DISTINCT(
            FILTER('你的表名', NOT ISBLANK('你的表名'[Supplier]))
        ),
        "OriginalValue", '你的表名'[Supplier]
    )
VAR SplitSuppliers = 
    // 拆分每行的逗号分隔值为单独行
    GENERATE(
        DistinctSuppliers,
        VAR ValueList = PATHITEMSPLIT([OriginalValue], ",")
        RETURN SELECTCOLUMNS(ValueList, "SplitValue", [Value])
    )
RETURN
    // 统计拆分后的唯一值数量
    COUNTROWS(DISTINCT(SplitSuppliers[SplitValue]))

说明:

  • 将'你的表名'替换为实际的数据集表名
  • PATHITEMSPLIT函数可直接按逗号拆分文本为列表,比手动用Generateseries更简洁
  • 所有逻辑封装在度量值中,无需新建表或修改原始数据集

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 20:05:10