如何在 Power Query M 中按给定日期查找 4 周滚动周期的周数

Posted

技术标签:

【中文标题】如何在 Power Query M 中按给定日期查找 4 周滚动周期的周数【英文标题】:How to find week number of 4 week rolling cycle by given date in Power Query M 【发布时间】:2021-10-29 15:03:52 【问题描述】:

我有一个使用 Power Query 构建的日历表,我需要使用它来添加一个以 4 周为周期的列,我可以跟踪每周任务。

例子

A 列是从 2019 年 1 月 1 日到 2022 年 12 月 31 日的所有日期

B 列是周序列,例如

01/01/2019 -> 07/01/2019 是 1

08/01/2019 -> 14/01/2019 是 2

04/10/2021 -> 10/10/2021 是 145

如果我从第 145 周开始,我将如何在给定任何日期的 4 周周期中计算出周数。所以如果

第 145 周是任务 A

第 146 周是任务 B

第 147 周是任务 C

第 148 周是任务 D

第 149 周是任务 A,依此类推。

如果我在第 158 周的 4 周内要求任务,我会得到任务 B,因为它是重复周期的第二周。

【问题讨论】:

【参考方案1】:

我不确定我是否正确理解了您的需求。您是否需要一个额外的列来指示基于 4 周期的一周任务?

如果是这种情况,我认为您可能正在寻找的是 mod 功能: https://docs.microsoft.com/de-de/powerquery-m/number-mod

使用 mod 创建一个新列并除以 4。 然后根据 Mod 列的结果创建一个 if 列。如果 0 --> “任务 A”,1 --> “任务 B”,等等。

问候!

【讨论】:

谢谢@Adrian Fischer,找到我需要的东西。 Number.Mod(WeekSequence,4) 返回值 0,1,2,3,该值在一周中的每一天重复。有了条件,我可以将任务 A 添加到所有 1 的任务 B 到所有 2 等

以上是关于如何在 Power Query M 中按给定日期查找 4 周滚动周期的周数的主要内容,如果未能解决你的问题,请参考以下文章

power query中M函数和处理数据

Power Query M - 使用自定义聚合(百分位)按列值分组

Power Query (M 语言) 50 天移动平均线

MS Power Query:从月、日、年创建日期

使用 Power Query 过滤每月第一天和最后一天的日期

Power Query 筛选器日期从今天减去 ?到今天的几天