Forum Discussion
Intellar
2 years agoFrequent Visitor
Create a table with a 5 day range without weekend days
Hi, So i am trying to calculate the following but im stuck. I want to create a table that always shows 5 dates. The dates should change depending on the current day and it should always be the ...
- 2 years ago
Hello, Intellar,
do it in power query like this.
New query -> Blank Query -> go to Advanced Editor and paste this:
let today = Date.From(DateTime.FixedLocalNow()), start = today - #duration(8,0,0,0), end = today + #duration(8,0,0,0), listDates = List.Dates(start, Number.From(end-start)+1, #duration(1,0,0,0) ), removeWeekends = List.Select(listDates, each not List.Contains({"Sunday", "Saturday"}, Date.DayOfWeekName( Date.From(_), "en"))), positionOfToday = if List.PositionOf(removeWeekends, today) = -1 then List.PositionOf(removeWeekends, List.Max(List.Select(removeWeekends, each Date.From(_) < today ))) else List.PositionOf(removeWeekends, today), correctPositions = {positionOfToday-2..positionOfToday+2}, finalList = List.Transform(correctPositions, each removeWeekends{_} ), #"Converted to Table" = Table.FromList(finalList, Splitter.SplitByNothing(), null, null, ExtraValues.Error), #"Changed Type" = Table.TransformColumnTypes(#"Converted to Table",{{"Column1", type date}}), #"Renamed Columns" = Table.RenameColumns(#"Changed Type",{{"Column1", "Date"}}) in #"Renamed Columns"EDIT:
If today is weekend, it's gonna take Friday as today.
Ahmedx
Super User
2 years agolook what happens if today is today = #date(2023, 10, 22) or today = #date(2023, 10, 21)
vojtechsima
Super User
2 years agoAhmedx Very good point, I didn't check for weekened, thanks, I edited the solution.