编写DAX表达式标记超期记录并展示具体超期天数
DAX表达式实现超期标记需求
需求说明
需要在Flag列中标记符合以下所有条件的记录为「超期X天」:
- Overrun值大于0
- Final Complete Date为空
- Planned Finish Date已过期(早于当前日期)
实现DAX表达式(计算列)
Flag = VAR CurrentDate = TODAY() VAR DaysOverdue = DATEDIFF('表名'[Planned Finish Date], CurrentDate, DAY) RETURN IF( AND( '表名'[Overrun] > 0, ISBLANK('表名'[Final Complete Date]), '表名'[Planned Finish Date] < CurrentDate ), "超期" & DaysOverdue & "天", BLANK() )
公式说明
- CurrentDate:获取当前系统日期,作为判断计划完成日期是否过期的基准
- DaysOverdue:计算计划完成日期到当前日期的天数差,即超期天数
- 条件判断:同时满足三个预设条件时,拼接生成「超期X天」的文本;不满足时返回空值(可根据需求修改为其他默认内容,比如"正常")
注意事项
- 请将公式中的
'表名'替换为你实际使用的表名称 - 若需要使用固定日期而非当前日期,可将
TODAY()替换为具体日期,例如DATE(2024, 10, 15) - 如果
Planned Finish Date存在空白值,这类记录会自动被排除(因为Planned Finish Date < CurrentDate条件不成立)
内容的提问来源于stack exchange,提问作者mal991010
相关产品推荐
相关产品推荐

