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

基于另一表日期区间计算表B数值总和的DAX实现求助

DAX解决方案:多表区间求和问题

步骤1:为Table A添加「上一日期」计算列

在Table A中创建计算列,获取每条记录对应的上一个Date_A值:

Previous_Date_A = 
VAR CurrentDate = TableA[Date_A]
RETURN
MAXX(
    FILTER(TableA, TableA[Date_A] < CurrentDate),
    TableA[Date_A]
)

步骤2:计算Number_B的区间总和

在Table A中创建第二个计算列,统计Table B中符合日期范围的Number_B总和:

Number_B_Sum = 
VAR CurrentDate = TableA[Date_A]
VAR PreviousDate = TableA[Previous_Date_A]
VAR LatestDateA = MAXX(TableA, TableA[Date_A])
RETURN
SUMX(
    FILTER(
        TableB,
        TableB[Date_B] >= IF(ISBLANK(PreviousDate), DATE(1900,1,1), PreviousDate) &&
        TableB[Date_B] <= CurrentDate &&
        TableB[Date_B] <= LatestDateA
    ),
    TableB[Number_B]
)

最终结果

完成后Table A将生成预期结果:

Date_ANumber_ANumber_B_Sum
1/12-202211
5/12-202213

核心逻辑说明

  • MAXX(FILTER(...)) 筛选当前日期之前的最大Date_A,确定区间起始点
  • SUMX(FILTER(...)) 遍历Table B中符合「上一Date_A到当前Date_A」区间的记录,累加Number_B
  • 通过TableB[Date_B] <= LatestDateA排除Table B中晚于Table A最新日期的记录

内容的提问来源于stack exchange,提问作者Glen Højer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 17:52:50