如何在Power BI中利用用户筛选日期驱动账龄计算?
Sage 50数据Power BI应付账款账龄报告解决方案
DAX完全可以引用用户筛选的日期,用度量值就能实现账龄区间的动态计算——这正是你需要的解决方案,因为度量值会实时响应筛选上下文的变化。
核心步骤:
获取筛选的报告期末日期
先创建一个度量值来捕获用户筛选的最后日期(如果用户选了日期范围,取最大值;如果没选,默认用当前日期):Report Date = SELECTEDVALUE('Date'[Date], TODAY())注:如果没有单独的日期表,也可以直接用Audit_Split的Date字段:
Report Date = MAX(Audit_Split[Date]),但建议用独立日期表关联,避免筛选逻辑混乱。创建各账龄区间的度量值
基于上面的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
相关产品推荐
相关产品推荐

