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

求助:DAX计算列未正确计算两日期间工作日差值问题

计算DAX中排除非工作日与银行假日的日期差

你的代码问题在于:VAR DTE 已经算出了两个日期的总天数差,后续的CALCULATE仅筛选了DimDate的上下文,但并没有对DTE这个固定变量做任何统计调整,所以结果始终是总天数,不会排除非工作日和假日。

正确的思路应该是统计DimDate表中,位于反馈接收日期和确认日期之间(含边界,可按需调整)、同时满足工作日标记为1且银行假日标记为0的日期数量。以下是修正后的计算列代码:

Working Days to Ack = 
VAR StartDate = FactComplaints[Feedback receipt date]
VAR EndDate = FactComplaints[Acknowledgment Date]
RETURN
CALCULATE(
    COUNTROWS(DimDate),
    DimDate[Date] >= StartDate,
    DimDate[Date] <= EndDate,
    DimDate[WorkingDayFlag] = 1,
    DimDate[BankHolidayFlag] = 0
)

代码说明:

  • 定义StartDate和EndDate变量分别对应投诉表的两个日期字段,提升代码可读性。
  • 用COUNTROWS(DimDate)统计符合筛选条件的日期行数,也就是有效工作日的数量。
  • 通过日期范围筛选结合两个标记,精准锁定需要统计的工作日。

如果业务需求是排除开始或结束日期,只需将>=或<=改为>或<即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:56:03