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

Power BI技术问题:如何创建不受日期筛选的按类别最早价格度量值

解决Power BI中获取每个类别最早价格(不受日期筛选影响)的DAX问题

正确度量值写法

以下两种写法均能实现需求,可根据你的数据情况选择:

方法1:变量+CALCULATE(支持多价格汇总)

最早价格 = 
VAR 类别最早日期 = 
    CALCULATE(
        MIN('Table'[Date]),
        ALLEXCEPT('Table', 'Table'[Category])
    )
RETURN
    CALCULATE(
        SUM('Table'[Price]), -- 若每个类别+日期仅一条价格,替换为MAX/MIN也可
        'Table'[Date] = 类别最早日期,
        ALLEXCEPT('Table', 'Table'[Category])
    )

方法2:LOOKUPVALUE(适用于单条价格记录场景)

最早价格 = 
VAR 类别最早日期 = 
    CALCULATE(
        MIN('Table'[Date]),
        ALLEXCEPT('Table', 'Table'[Category])
    )
RETURN
    LOOKUPVALUE(
        'Table'[Price],
        'Table'[Category], SELECTEDVALUE('Table'[Category]),
        'Table'[Date], 类别最早日期
    )

原代码问题分析

你提供的DAX代码无法正常运行的核心原因:

  • ALL('Table'[Date])清除了所有日期筛选,但MIN('Table'[Date])会返回整个表的最早日期,而非每个类别的最早日期,导致所有类别都取同一个日期的价格,不符合按类别统计的需求。
  • 未保留Category的筛选上下文,计算逻辑会忽略类别维度,无法实现分品类统计。

使用说明

  • ALLEXCEPT('Table', 'Table'[Category])的作用是保留Category的筛选条件,清除其他列(包括Date)的外部筛选,确保计算不受页面/视觉对象的日期筛选器影响。
  • 如果每个类别在最早日期有多条价格记录,方法1的SUM会汇总该日期下的所有价格;若只需取单条价格,可替换为MAX或MIN,或直接使用方法2。

内容的提问来源于stack exchange,提问作者br.nz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:08:13