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

如何在DAX中按多条件汇总表格并分类型统计计数

问题描述

现有如下数据表格:

namecountIncludetype
abc1true1
abc2true1
abc3true2
abc1true2
abc1false2
def1true1
def1false1

当前已使用以下DAX代码生成Include为true时,按name汇总count的表:

SummaryTable = CALCULATETABLE (
    SUMMARIZE (
        'Table',
        'Table'[name], "count", sum('Table'[count])
), 'Table'[Include] = TRUE)

需要进一步按不同type分别求和,生成包含type 1 count和type 2 count字段的汇总表,但不清楚如何在SUM/SUMX中添加筛选条件。

解决方案

你可以通过两种简洁的方式实现按type筛选求和:

方法1:使用CALCULATE嵌套SUM(推荐)

在SUMMARIZE的上下文里,CALCULATE可以临时添加筛选条件,配合SUM快速实现目标:

SummaryTable = CALCULATETABLE (
    SUMMARIZE (
        'Table',
        'Table'[name],
        "type 1 count", CALCULATE(SUM('Table'[count]), 'Table'[type] = 1),
        "type 2 count", CALCULATE(SUM('Table'[count]), 'Table'[type] = 2)
    ),
    'Table'[Include] = TRUE
)

方法2:使用SUMX配合筛选

SUMX是迭代函数,可以通过FILTER指定筛选范围,仅对符合type条件的行累加count:

SummaryTable = CALCULATETABLE (
    SUMMARIZE (
        'Table',
        'Table'[name],
        "type 1 count", SUMX(
            FILTER('Table', 'Table'[type] = 1),
            'Table'[count]
        ),
        "type 2 count", SUMX(
            FILTER('Table', 'Table'[type] = 2),
            'Table'[count]
        )
    ),
    'Table'[Include] = TRUE
)

最终结果

两种方法都会生成如下汇总表:

nametype 1 counttype 2 count
abc34
def10

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:15:41