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

Power BI中用DAX统计多列唯一值出现频率的方法求助

解决方法

可以使用ADDCOLUMNS函数给你的唯一值表添加计数列,通过计算每个值在Table1三列中的总出现次数来实现:

Table2 = 
ADDCOLUMNS(
    DISTINCT(
        UNION(
            DISTINCT('Table1'[Column1]),
            DISTINCT('Table1'[Column2]),
            DISTINCT('Table1'[Column3])
        )
    ),
    "出现次数",
    COUNTROWS(FILTER('Table1', 'Table1'[Column1] = [Value] || 'Table1'[Column2] = [Value] || 'Table1'[Column3] = [Value]))
)

代码说明

  • ADDCOLUMNS:给原有的唯一值表新增一列,命名为"出现次数"
  • 计数逻辑:用FILTER筛选出Table1中任意一列等于当前唯一值的行,再用COUNTROWS统计这些行的数量,即为该值在三列中的总出现次数

如果合并后的唯一值列默认名称不是Value,替换成实际列名即可(比如合并后列名为"Column1",就把[Value]改成[Column1])。

高效替代方案(适合大数据量)

先将三列数据转换为单列表,再分组统计:

Table2 = 
VAR UnpivotedTable = 
    UNION(
        SELECTCOLUMNS('Table1', "值", 'Table1'[Column1]),
        SELECTCOLUMNS('Table1', "值", 'Table1'[Column2]),
        SELECTCOLUMNS('Table1', "值", 'Table1'[Column3])
    )
RETURN
    SUMMARIZE(
        UnpivotedTable,
        [值],
        "出现次数", COUNTROWS(UnpivotedTable)
    )

替代方案说明

  • 用SELECTCOLUMNS和UNION把三列数据转换成单列表UnpivotedTable
  • 通过SUMMARIZE按"值"分组,统计每组行数得到出现次数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 23:12:37