我需要根据输入内容展开一个列表:开始日期,结束日期和应该发生某事的星期几。这需要通过在Power Query中使用M来完成。
日期范围可以跨越数周,例如:
开始日期:04/15/19
结束日期:19/04/29
星期几:1
我希望获得3行:
或包含一个星期和一天:
开始日期:04/15/19
结束日期:04/15/19
星期几:1
我希望得到1行:
我正在使用:Get date from weeknumber, dayofweek and year PowerQuery M 作为了解如何解决该问题的第一步。
谢谢。
答案 0 :(得分: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
哪个返回: