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

如何在Power BI中利用用户筛选日期驱动账龄计算?

Sage 50数据Power BI应付账款账龄报告解决方案

DAX完全可以引用用户筛选的日期,用度量值就能实现账龄区间的动态计算——这正是你需要的解决方案,因为度量值会实时响应筛选上下文的变化。

核心步骤:

  1. 获取筛选的报告期末日期
    先创建一个度量值来捕获用户筛选的最后日期(如果用户选了日期范围,取最大值;如果没选,默认用当前日期):

    Report Date = SELECTEDVALUE('Date'[Date], TODAY())
    

    注:如果没有单独的日期表,也可以直接用Audit_Split的Date字段:Report Date = MAX(Audit_Split[Date]),但建议用独立日期表关联,避免筛选逻辑混乱。

  2. 创建各账龄区间的度量值
    基于上面的Report Date,分别计算不同账龄区间的应付余额:

    • 当期(0-30天)

      Aged 0-30 = 
      VAR ReportEndDate = [Report Date]
      RETURN
      CALCULATE(
          SUM(Audit_Split[Gross_Amount]),
          DATEDIFF(Audit_Split[Date], ReportEndDate, DAY) BETWEEN 0 AND 30
      )
      
    • 31-60天

      Aged 31-60 = 
      VAR ReportEndDate = [Report Date]
      RETURN
      CALCULATE(
          SUM(Audit_Split[Gross_Amount]),
          DATEDIFF(Audit_Split[Date], ReportEndDate, DAY) BETWEEN 31 AND 60
      )
      
    • 61-90天

      Aged 61-90 = 
      VAR ReportEndDate = [Report Date]
      RETURN
      CALCULATE(
          SUM(Audit_Split[Gross_Amount]),
          DATEDIFF(Audit_Split[Date], ReportEndDate, DAY) BETWEEN 61 AND 90
      )
      
    • 90天以上

      Aged Over 90 = 
      VAR ReportEndDate = [Report Date]
      RETURN
      CALCULATE(
          SUM(Audit_Split[Gross_Amount]),
          DATEDIFF(Audit_Split[Date], ReportEndDate, DAY) > 90
      )
      

注意事项:

  • 如果你的Gross_Amount字段中,应付账款以负数表示(比如借方为正、贷方为负),可以在SUM后添加*-1或者用ABS()函数调整为正数显示,比如SUM(Audit_Split[Gross_Amount])*-1。
  • 确保Audit_Split表中的Date字段是日期类型,避免DATEDIFF计算出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 07:05:04