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

PowerBI DAX需求:按SortOrder分组计算各ItemID最新值的平均值

DAX解决方案实现PowerBI需求

核心逻辑说明

要实现按SortOrder分组,保留每个ItemID的最新日期记录,再计算平均值和去重ItemID数量,我们可以通过三个DAX度量分步完成:


1. 获取每个ItemID的最新日期

Latest Date per Item = 
CALCULATE(
    MAX('Table'[Date]),
    ALLEXCEPT('Table', 'Table'[ItemID])
)

这个度量会忽略除ItemID外的其他筛选条件,计算每个ItemID对应的最大(最新)日期。


2. 计算每组的Value平均值

Average of Value (Latest) = 
VAR LatestRecords = 
    FILTER(
        'Table',
        'Table'[Date] = [Latest Date per Item]
    )
RETURN
    AVERAGEX(
        GROUPBY(
            LatestRecords,
            'Table'[SortOrder],
            'Table'[ItemID],
            "@LatestValue", MAXX(CURRENTGROUP(), 'Table'[Value])
        ),
        [@LatestValue]
    )
  • 先通过FILTER筛选出所有属于最新日期的记录
  • 再按SortOrder和ItemID分组,提取每个组对应的Value
  • 最后用AVERAGEX对分组后的Value计算平均值

3. 统计每组的去重ItemID数量

Number Of Items = 
VAR LatestRecords = 
    FILTER(
        'Table',
        'Table'[Date] = [Latest Date per Item]
    )
RETURN
    COUNTROWS(
        DISTINCT(
            SELECTCOLUMNS(
                LatestRecords,
                "SortOrder", 'Table'[SortOrder],
                "ItemID", 'Table'[ItemID]
            )
        )
    )
  • 基于最新记录的筛选结果,提取SortOrder和ItemID的唯一组合
  • 用COUNTROWS统计这些唯一组合的数量,得到每组的去重ItemID数

验证结果

将SortOrder字段与上述两个度量放入表格/矩阵可视化中,即可得到目标结果:

SortOrderAverage of Value (Latest)Number Of Items
11.771
212.1352
319.0152
430.713
51.771

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:33:29