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

DAX度量开发需求:基于日期切片器返回客户累计支付值

需求与解决方案

问题说明

现有某客户支付计划数据如下(leads_id为客户ID,transh为交易序号,Date为支付交易日期,Accumulated Value为支付金额):

leads_idtranshDateAccumulated Value
2447241872026-03-14 00:00:00257420000
2447241862025-09-14 00:00:00235968330
2447241852025-03-14 00:00:00214516664
2447241842024-09-14 00:00:00193064998
2447241832024-03-14 00:00:00171613332
2447241822023-09-14 00:00:00150161666
2447241812023-04-14 00:00:00128710000

需开发Power BI的DAX度量,实现:

  • 选择2023年4月/5-8月时,返回128710000
  • 选择2023年9月时,返回150161666
  • 以此类推,即返回所选时间范围内最后一笔已发生交易的累计金额

DAX度量代码

当前累计支付金额 = 
VAR SelectedMaxDate = 
    MAXX(
        ALLSELECTED('日期表'),
        DATEVALUE('日期表'[年份] & "-" & '日期表'[月份名称] & "-01")
    )
VAR LastValidTransaction = 
    MAXX(
        FILTER(
            '支付计划表',
            '支付计划表'[Date] <= SelectedMaxDate
        ),
        '支付计划表'[Date]
    )
RETURN
    LOOKUPVALUE(
        '支付计划表'[Accumulated Value],
        '支付计划表'[Date], LastValidTransaction,
        '支付计划表'[leads_id], SELECTEDVALUE('支付计划表'[leads_id])
    )

逻辑说明

  1. SelectedMaxDate:将切片器选中的年份+文本型月份转换为当月第一天的日期,提取所选范围的最大日期(如选2023年5-8月时,最大日期为2023-08-01)
  2. LastValidTransaction:筛选出支付计划表中所有早于等于SelectedMaxDate的交易,取其中最新的交易日期,即离所选时间最近的已完成交易
  3. LOOKUPVALUE:根据找到的最新交易日期和当前选中的客户ID,匹配对应累计支付金额

注意事项

  • 需确保仪表盘有单独的日期表,且年份、月份名称字段与切片器关联,同时将该表标记为Power BI的日期表
  • 多客户场景下,SELECTEDVALUE('支付计划表'[leads_id])会自动适配当前选中的客户;单客户固定场景可直接替换为24472418

内容的提问来源于stack exchange,提问作者домен

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:02:07