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

如何在Main Table中创建按Color分组求和的计算列?

解决DAX计算列汇总关联表数据的问题

表结构与需求

Data Table

ColorAmount
Red5
Blue3
Red5
Blue6

Main Table(目标效果)

ColorCount
Red10
Blue9
Green0

需求:在Main Table中创建Count计算列,按Color分组汇总Data Table中对应颜色的Amount总和,已建立Main Table[Color]到Data Table[Color]的一对多关系。

原表达式错误原因

原DAX表达式错误使用RELATED函数:

Count = 
    CALCULATE(
        SUM(RELATED(DATA_TABLE[Amount])),
        MAIN_TABLE[Color] = RELATED(DATA_TABLE[Color])
    ) 

RELATED函数仅能在**关系的多端表(子表)**中使用,用于获取一端表(主表)的字段值。当前在一端的Main Table中编写计算列,用RELATED调用多端表的字段,违背了函数的使用规则,因此触发报错。

正确解决方案

方法1:利用关系自动筛选(最简写法)

由于已建立一对多关系,Main Table每行的Color上下文会自动过滤Data Table中对应行,直接使用SUM即可:

Count = SUM(Data Table[Amount])

若需要将无匹配颜色(如Green)的返回值从BLANK()转为0,用COALESCE处理:

Count = COALESCE(SUM(Data Table[Amount]), 0)

方法2:显式指定筛选逻辑(可选)

如果需要明确展示筛选逻辑,也可以用CALCULATE配合字段匹配(因已有关系,此写法属于冗余,但逻辑更直观):

Count = 
CALCULATE(
    SUM(Data Table[Amount]),
    Data Table[Color] = Main Table[Color]
)

同样,要返回0的话加上COALESCE:

Count = 
COALESCE(
    CALCULATE(
        SUM(Data Table[Amount]),
        Data Table[Color] = Main Table[Color]
    ),
    0
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:47:28