DAX技术问题:如何在SWITCH函数中用DATESBETWEEN区分冬夏令时计算SLA
解决Power BI中带冬夏令时差异的SLA计算问题
你可以通过动态判断日期所属季节替换原公式中的固定时长阈值,以下是整合后的DAX公式:
SLA = VAR 当前基准日期 = [咨询提交日期] -- 替换为你实际用于判断季节的日期列(如咨询创建日) VAR 处于夏令时 = AND( DATE(YEAR(当前基准日期), 5, 15) <= 当前基准日期, 当前基准日期 <= DATE(YEAR(当前基准日期), 9, 15) ) VAR 单日工作时长 = IF(处于夏令时, 7, 7.75) -- 夏令时7小时,冬季7小时45分钟=7.75小时 VAR 双日工作时长 = 单日工作时长 * 2 RETURN SWITCH( TRUE(), [Response time in hours] > 双日工作时长, "Over to arbeidsdager", [Response time in hours] > 单日工作时长, "Innen to arbeidsdager", [Response time in hours] <= 单日工作时长, "Innen en arbeidsdag" )
关键逻辑说明:
- 夏令时自动适配:通过
DATE(YEAR(当前基准日期), 5, 15)生成当年的5月15日,同理生成9月15日,确保每年自动匹配夏令时区间,无需手动更新年份。 - 动态阈值替换:根据日期是否在夏令时区间,自动切换单日/双日的时长阈值,替代原公式中固定的7.5/15小时。
- 字段灵活替换:如果SLA判断基准不是咨询提交日期,只需把
[咨询提交日期]替换为对应的日期字段(如响应开始日期)即可。
内容的提问来源于stack exchange,提问作者Neri Kim Thoresen
相关产品推荐
相关产品推荐

