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

求助:使用DAX实现多列中RC值的跨列统计计数

原始表结构

Data表

订单RC1RC2RC3
1000100164100
1001134100null
1002164null134

RC表

RC描述
100苹果
134香蕉
164椰子

解决方案

方法一:Power Query预处理(推荐,模型更简洁)

  1. 打开Power Query编辑器,导入Data表
  2. 选中订单列,右键选择「逆透视其他列」,将RC1/RC2/RC3转换为行数据,得到结构如下:
    订单属性值
    1000RC1100
    1000RC2164
    1000RC3100
    1001RC1134
    1001RC2100
    1002RC1164
    1002RC3134
  3. 过滤掉「值」列为null的行,将「值」列重命名为RC,关闭并上载回模型
  4. 在数据模型中建立RC表的RC列与处理后Data表的RC列的一对一关系
  5. 在RC表中添加计算列或度量值统计:
    计数 = COUNTROWS(RELATEDTABLE(Data))
    

方法二:直接编写DAX度量值(无需修改原始模型)

如果不想调整表结构,可在RC表中创建如下度量值,直接统计当前RC在Data表三列中的总出现次数:

RC计数 = 
VAR 当前RC = SELECTEDVALUE(RC[RC])
RETURN
SUMX(
    Data,
    (Data[RC1] = 当前RC) + (Data[RC2] = 当前RC) + (Data[RC3] = 当前RC)
)

原理说明:

  • SELECTEDVALUE(RC[RC])获取当前行的RC编码
  • SUMX遍历Data表每一行,每行中匹配当前RC的列返回1(布尔值True对应1),不匹配返回0,累加所有行的结果即为总次数

也可以用多个CALCULATE组合的写法,效果一致:

RC计数 = 
CALCULATE(COUNTROWS(Data), Data[RC1] = SELECTEDVALUE(RC[RC])) +
CALCULATE(COUNTROWS(Data), Data[RC2] = SELECTEDVALUE(RC[RC])) +
CALCULATE(COUNTROWS(Data), Data[RC3] = SELECTEDVALUE(RC[RC]))

预期输出

RC描述计数
100苹果3
134香蕉2
164椰子2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 02:57:25