在PowerQuery M中获取日期范围(开始日期,结束日期)和年份中的日期

问题描述 投票:0回答:1

我需要扩展一个列表,给出输入:开始日期,结束日期和一周应该发生的日期。这需要通过在Power Query中使用M来完成。

日期范围可以跨越多个星期,例如: 开课日期:04/15/19 结束日期:04/29/19 星期几:1

我希望得到3行:

  • 04/15/19
  • 04/22/19
  • 04/29/19

或包含一周和一天: 开课日期:04/15/19 结束日期:04/15/19 星期几:1

我希望得到1排:

  • 04/15/19

我正在使用:Get date from weeknumber, dayofweek and year PowerQuery M作为了解如何处理解决方案的第一步。

提前致谢。

excel powerquery m
1个回答
1
投票

您可以使用函数列出所选范围内的所有日期,并过滤到所选的工作日:

(DateStart as date, DateEnd as date, DayOfWeek as number) =>
let
    #"Date List" = List.Dates(DateStart,Duration.Days(DateEnd-DateStart)+1,#duration(1,0,0,0)),
    #"Date Table" = Table.FromList(#"Date List", Splitter.SplitByNothing(), {"Date"}),
    #"Changed Type" = Table.TransformColumnTypes(#"Date Table",{{"Date", type date}}),
    #"Filtered Dates" = Table.SelectRows(#"Changed Type", each (Date.DayOfWeek([Date], Day.Sunday) = DayOfWeek))
in
    #"Filtered Dates"

作为测试调用:

let
    Source = fnListWeekdaysInRange(#date(2019, 4, 15), #date(2019, 4, 29), 1)
in
    Source

哪个回报:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.