如何在DAX生成的日期范围内仅显示周日、周一、周三和周四?
筛选日期表中的指定星期几
你可以通过FILTER函数结合WEEKDAY函数实现需求,直接在原有CALENDAR生成的日期范围上添加筛选逻辑即可:
方案一(周日为一周第一天)
这是DAXWEEKDAY函数的默认规则,对应星期数:周日=1、周一=2、周三=4、周四=5
Data = FILTER( CALENDAR(DATE(2018, 4, 1), DATE(2021, 4, 30)), WEEKDAY([Date], 1) IN {1, 2, 4, 5} )
方案二(周一为一周第一天)
如果你的报表习惯以周一作为一周起始,对应星期数:周一=1、周三=3、周四=4、周日=7
Data = FILTER( CALENDAR(DATE(2018, 4, 1), DATE(2021, 4, 30)), WEEKDAY([Date], 2) IN {1, 3, 4, 7} )
逻辑说明
FILTER函数会遍历CALENDAR生成的所有日期,仅保留满足条件的记录WEEKDAY([Date], <模式>)用于返回日期对应的星期序号,第二个参数控制一周的起始日IN {<数值列表>}用来匹配目标星期数,精准筛选出你需要的周日、周一、周三和周四
内容的提问来源于stack exchange,提问作者Ahmed K.
相关产品推荐
相关产品推荐

