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

请求协助:使用DAX创建按列分组取指定日期对应数量总和的度量值

DAX度量值实现分组取指定日期对应数量求和

实现思路

  1. 获取日期切片器所选范围的最大日期
  2. 对每个分组,筛选出该分组中小于上述最大日期的所有记录,取其中的最大日期
  3. 匹配每个分组对应日期的qty值,最后求和

度量值代码

假设你的数据模型包含:

  • 事实表(示例命名为Sales):包含分组列(示例为Group)、日期列Date、数量列qty
  • 日期表(示例命名为Date):与事实表的Date列建立关联,用于日期切片器
分组指定日期数量总和 = 
VAR MaxSelectedDate = MAX(ALLSELECTED('Date'[Date]))
VAR GroupLatestDates = 
    ADDCOLUMNS(
        VALUES(Sales[Group]),
        "@LatestDate", 
        CALCULATE(
            MAX(Sales[Date]),
            Sales[Date] < MaxSelectedDate
        )
    )
VAR GroupQtyValues = 
    ADDCOLUMNS(
        GroupLatestDates,
        "@Qty",
        CALCULATE(
            SUM(Sales[qty]),
            Sales[Date] = [@LatestDate]
        )
    )
RETURN
    SUMX(GroupQtyValues, [@Qty])

关键说明

  • 如果分组列来自独立维度表(而非事实表),只需将VALUES(Sales[Group])替换为对应维度表的分组列,比如VALUES(Dim_Group[Group])
  • 若同一分组在目标日期有多条记录,SUM(Sales[qty])会自动汇总该日期的所有数量;如果只需取单条记录的数量,可替换为MAX(Sales[qty])或MIN(Sales[qty]),根据实际业务调整
  • 确保日期表与事实表的关联关系正确,否则切片器的日期范围无法正确作用于事实表数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 14:01:30