如何用最简DAX函数为Calendar表添加“最近7天”标记计算列
简便实现最近7天标记计算列的DAX写法
嘿,这个需求其实用一行简洁的DAX就能轻松搞定,完全不用复杂的嵌套逻辑!
直接用下面的表达式创建计算列就行:
Is Last 7 Days = INT( DayMarker >= TODAY() - 6 && DayMarker <= TODAY() )
关键逻辑解释:
TODAY()会返回当前系统日期,TODAY()-6得到的是6天前的日期,这样就能覆盖包含今天在内的整整7天范围(比如今天是10月10日,那范围就是10月4日到10月10日,刚好7天)- 逻辑判断
DayMarker >= ... && DayMarker <= ...会返回布尔值TRUE或FALSE,用INT()函数可以直接把布尔值转换成1(TRUE)或0(FALSE),一步完成类型转换
特殊情况处理(如果DayMarker是带时间的datetime类型):
如果你的DayMarker列包含具体时间(比如2024-10-10 14:30:00),可以用DATEVALUE()提取纯日期部分再做判断,避免时间部分干扰:
Is Last 7 Days = INT( DATEVALUE(DayMarker) >= TODAY() - 6 && DATEVALUE(DayMarker) <= TODAY() )
这个写法不仅简洁,可读性也极强,别人看一眼就能明白你的逻辑~
内容的提问来源于stack exchange,提问作者whytheq
相关产品推荐
相关产品推荐

