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

Power Query中添加以周六为周末的周末结束日期列问题

解决Power Query中以周六为周末结束日期的计算问题

直接用下面的M语言公式即可解决你遇到的两个问题:

Week End Date = Date.AddDays([txn_time], 6 - Date.DayOfWeek([txn_time], DayOfWeek.Sunday))

公式逻辑拆解

  • Date.DayOfWeek([txn_time], DayOfWeek.Sunday):指定周日为一周的第一天,返回0(周日)到6(周六)的数字
  • 6 - 上述结果:计算当前日期到最近周六需要往后加的天数:
    • 若当天是周六,结果为0,加0天直接返回当前日期
    • 若当天是周日,结果为6,加6天得到下一周的周六
    • 周一到周五时,结果为1到5,对应加1到5天即可到达本周六

验证你的问题场景

  1. 日期本身是周六(比如2024-03-23):
    代入公式后,Date.DayOfWeek(#date(2024,3,23), DayOfWeek.Sunday) 返回6,6-6=0,最终返回2024-03-23,不会跳去下一周。
  2. 跨月份的周日(比如2024-03-29):
    Date.DayOfWeek(#date(2024,3,29), DayOfWeek.Sunday) 返回0,6-0=6,Date.AddDays(#date(2024,3,29),6) 得到2024-04-04(周六),不会错误返回3月28日。

为什么之前的方法出错

DAX和Power Query的日期函数参数逻辑不一样:DAX的WEEKDAY(,1)返回1(周日)到7(周六),但Power Query的Date.DayOfWeek默认返回0(周日)到6(周六),直接照搬DAX的计算逻辑到Power Query里就会出现日期偏移错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 13:03:18