You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Power BI DAX基于现有日期列计算当月最后一个周五

在DAX中计算当月最后一个周五

你可以通过以下DAX计算列实现需求,基于你已有的Date列:

当月最后一个周五 = 
VAR 月末日期 = EOMONTH([Date], 0)
VAR 月末星期序号 = WEEKDAY(月末日期, 2) // 参数2:周一=1,周日=7,周五对应固定序号5
RETURN
月末日期 - MOD(月末星期序号 - 5 + 7, 7)

公式拆解:

  • EOMONTH([Date], 0):获取当前日期所在月份的最后一天,这是你已经掌握的步骤。
  • WEEKDAY(月末日期, 2):将月末日期转换为星期序号,参数2确保周一到周日对应1到7,让周五的序号固定为5,简化后续计算。
  • MOD(月末星期序号 - 5 + 7, 7):计算从月末日期往前回溯的天数,自动适配所有情况:
    • 月末是周五时,结果为0,直接返回月末日期;
    • 月末是周六/周日时,分别往前推1/2天得到周五;
    • 月末是周一到周四时,往前推对应天数(比如周四推6天),得到当月最后一个周五。

更直观的等价写法:

如果觉得MOD函数不好理解,也可以用条件判断实现相同逻辑:

当月最后一个周五 = 
VAR 月末日期 = EOMONTH([Date], 0)
VAR 月末星期序号 = WEEKDAY(月末日期, 2)
RETURN
月末日期 - 
    IF(月末星期序号 >= 5, 
        月末星期序号 - 5, 
        月末星期序号 + 2
    )

将上述公式添加到你的日历表中作为计算列,就能为每个日期匹配其所在月份的最后一个周五。

内容的提问来源于stack exchange,提问作者TheBoomerang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:17:13