我的数据集有一个日期列。我需要为每一行分配正确的 Epi Week/MMWR Week。我不能手工完成,因为数据集跨越五年并且有超过 18,000 行。
Power Query 函数 Date.WeekOfYear 没有为 MMWR 周分配正确的周数。
MMWR 周指南如下:
任何 MMWR 周的第一天是星期日。MMWR 周编号从 1 开始按顺序排列,每周递增至最大值 52 或 53。MMWR 年的第 1 周是一年中至少有四天的日历年的第一周。例如,如果 1 月 1 日发生在星期日、星期一、星期二或星期三,则包括 1 月 1 日的日历周将是 MMWR 第 1 周。如果 1 月 1 日发生在星期四、星期五或星期六,则包括 1 月 1 日的日历周将是上一年的最后一个 MMWR 周(#52 或 #53)。由于这条规则,12 月 29 日、30 日和 31 日可能会落入下一个 MMWR 年的 MMWR 第 1 周。
检查
WEEKNUM(date;1)
MMWR(参考下文),它似乎给出了一个结果(即比预期高一个);指定
1
周从星期日开始。那可能是你得到的最接近的;可能通过使用进行调整
WEEKNUM(date;1)-1
(注意:一年的前几天可能为 0)
参考:
https ://help.libreoffice.org/7.3/en-US/text/scalc/01/func_weeknum.html?&DbPAR=SHARED&System=UNIX
希望有一天,每个人都使用 ISO 8601 格式。叹
参考 MMWR:
https ://ibis.health.state.nm.us/resource/MMWRWeekCalendar.html
我首先在 R 中创建了一个 Epiweek 日历表,然后将该表导入到我的 Power BI 报告中,并在我的 Epiweek 表中的日期列和我的数据集中的日期列之间创建了关系,从而解决了这个问题。
这是R代码: