Power BI中DAX日期公式问题:日期差计算及空值处理
Power BI计算日期差新列解决方案
你的原公式问题出在误用了SUM聚合函数——计算每行的日期差不需要对日期求和,直接逐行处理日期字段即可,日期类型本身可以直接做减法得到天数差。结合你需要的空值替换逻辑,正确的DAX公式如下:
两种可行写法
写法1:用IF实现空值判断
天数差 = IF( ISBLANK('table 1'[PLR Job No.Date]), TODAY() - 'table 1'[Booked in Date], 'table 1'[PLR Job No.Date] - 'table 1'[Booked in Date] )
写法2:用COALESCE简化逻辑(推荐)
COALESCE会自动返回第一个非空值,代码更简洁:
天数差 = COALESCE('table 1'[PLR Job No.Date], TODAY()) - 'table 1'[Booked in Date]
注意事项
- 确认
Booked in Date是日期类型,如果是文本格式,需要用DATEVALUE('table 1'[Booked in Date])转换后再计算 - 要是结果出现负数(说明
Booked in Date晚于对比日期),可以套个ABS()函数取绝对值:ABS(COALESCE('table 1'[PLR Job No.Date], TODAY()) - 'table 1'[Booked in Date])
内容的提问来源于stack exchange,提问作者user24837314
相关产品推荐
相关产品推荐

