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

PowerBI DAX需求:按月和地点分组取最大Total关联数据计算

问题背景

数据源

IDMonthPlaceFemale StudentsMale StudentsTotal
1JanuaryPlace_125010260
2JanuaryPlace_25050100
3FebruaryPlace_110050150
4FebruaryPlace_117525200
5FebruaryPlace_2100100200
6FebruaryPlace_220050250
7MarchPlace_120050250
8MarchPlace_110190200
9MarchPlace_2100200300
10MarchPlace_2300100400

已实现的度量值

已完成按Month和Place分组取最大Total的求和,DAX代码如下:

Sum of Total Max = 
SUMX (
    SUMMARIZE ( 'Table', 'Table'[Month], 'Table'[Place], "Max Total", MAX('Table'[Total] )),
    [Max Total]
)

待解决问题

  1. 编写DAX度量值,计算每个(Month,Place)分组中Total为最大值的行对应的Female Students总和(对应ID:1、2、4、6、7、10);
  2. 获取每个(Month,Place)分组中Total为最大值的ID列表。

原尝试代码问题分析

你之前的Total Female Students Max度量值未达预期,核心问题是MaxTotal变量计算的是全局所有(Month,Place)分组中的最大Total值,而非当前上下文每个分组的最大值,导致过滤逻辑错误。


解决方案

问题1:分组最大Total对应的Female Students总和

以下两种写法均可实现需求:

写法一:结合SUMMARIZE分组计算

Sum Female Students at Max Total = 
SUMX (
    SUMMARIZE (
        'Table',
        'Table'[Month],
        'Table'[Place],
        "Group Max Total", MAX('Table'[Total]),
        "Sum Female", CALCULATE(
            SUM('Table'[Female Students]),
            'Table'[Total] = MAX('Table'[Total])
        )
    ),
    [Sum Female]
)

写法二:嵌套SUMX处理上下文

Sum Female Students at Max Total = 
SUMX (
    VALUES('Table'[Month]),
    SUMX (
        VALUES('Table'[Place]),
        VAR CurrentMaxTotal = CALCULATE(MAX('Table'[Total]))
        RETURN CALCULATE(
            SUM('Table'[Female Students]),
            'Table'[Total] = CurrentMaxTotal
        )
    )
)

最终计算结果为:250+50+175+200+200+300=1175


问题2:分组最大Total对应的ID列表

使用CONCATENATEX函数将符合条件的ID拼接为字符串,可在卡片或表格中展示:

IDs at Max Total = 
CONCATENATEX (
    FILTER (
        'Table',
        'Table'[Total] = CALCULATE(MAX('Table'[Total]), ALLEXCEPT('Table', 'Table'[Month], 'Table'[Place]))
    ),
    'Table'[ID],
    ", "
)

代码说明

  • ALLEXCEPT('Table', 'Table'[Month], 'Table'[Place]):保留当前Month和Place的上下文,计算该分组的最大Total;
  • FILTER:筛选出当前分组中Total等于最大值的行;
  • CONCATENATEX:将这些行的ID用逗号连接成字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:36:24