[英]Get dates from day of week in a date range (start date, end date) and year in PowerQuery M
I need to expand a list given the inputs: start date, end date and days of the week that something should happen. 我需要根据给定的输入来扩展一个列表:开始日期,结束日期和一周中应该发生的事情。 This needs to be done by using M in Power Query. 这需要通过在Power Query中使用M来完成。
The date range can span multiple weeks, for example: 日期范围可以跨越数周,例如:
start date: 04/15/19 开始日期:04/15/19
end date: 04/29/19 结束日期:19/04/29
day of week: 1 星期几:1
I would expect to get 3 rows: 我希望得到3行:
or encompass one week & day: 或包含一个星期和一天:
start date: 04/15/19 开始日期:04/15/19
end date: 04/15/19 结束日期:04/15/19
day of week: 1 星期几:1
I would expect to get 1 row: 我希望得到1行:
I was using: Get date from weeknumber, dayofweek and year PowerQuery M as a first step in understanding how to approach the solution. 我使用的是: 从周数,星期几和年份中获取PowerQuery M的日期,作为了解如何实现该解决方案的第一步。
Thanks in advance. 提前致谢。
You can use a function to list all dates in your chosen range, and filter to the chosen weekday: 您可以使用函数列出所选范围内的所有日期,并过滤至所选的工作日:
(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"
Invoked as a test: 作为测试调用:
let
Source = fnListWeekdaysInRange(#date(2019, 4, 15), #date(2019, 4, 29), 1)
in
Source
Which returns: 哪个返回:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.