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

DAX中如何对SUMMARIZECOLUMNS结果按Name汇总Max Points?

解决DAX中按Name汇总Max Points总和的问题

你之前的写法错误在于两点:

  • SUM是DAX聚合函数,必须用括号包裹目标列,即SUM([Max Points])而非SUM[Max Points]
  • SUMMARIZE的聚合列需要指定列名,格式为"新列名", <聚合表达式>

基于已有变量的正确写法

VAR DistinctValueTable =
    SUMMARIZECOLUMNS(
        'MyTable'[Name],
        'MyTable'[Year],
        "Max Points", MAX('MyTable'[Points])
    )
VAR FinalResult =
    SUMMARIZE(
        DistinctValueTable,
        [Name],
        "Total Max Points", SUM([Max Points])
    )
RETURN FinalResult

用SUMX替代的写法

如果觉得SUMMARIZE的逻辑不够直观,也可以用SUMX结合筛选来实现:

VAR DistinctValueTable =
    SUMMARIZECOLUMNS(
        'MyTable'[Name],
        'MyTable'[Year],
        "Max Points", MAX('MyTable'[Points])
    )
VAR FinalResult =
    ADDCOLUMNS(
        VALUES(DistinctValueTable[Name]),
        "Total Max Points", SUMX(FILTER(DistinctValueTable, [Name] = EARLIER([Name])), [Max Points])
    )
RETURN FinalResult

一步到位的嵌套写法

如果不需要保留中间表变量,可以直接嵌套SUMMARIZECOLUMNS,减少代码层级:

SUMMARIZECOLUMNS(
    'MyTable'[Name],
    "Total Max Points",
    SUMX(
        SUMMARIZECOLUMNS('MyTable'[Year], "Yearly Max", MAX('MyTable'[Points])),
        [Yearly Max]
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 06:49:51