Forum Discussion
Creating Individual Dates based on Week of field
Is there a way to create individual dates if you have only a week of (based on Sunday) field and names of days?
For example, I have the following:
Week of Monday Tuesday Wednesday Thursday Friday Saturday
8/14/16 8 8 8 4
4/30/17 8 8
There are no dates associated with the days. Under each of those days are number of hours and would like to add the hours based on not the week of field but on individual dates using a time slicer.
In the Query Editor
1) Select Week Of column - Transform tab - Unpivot Other Columns
2) Add Column Tab - Add Conditional Column - and name Number
3) right-click Number column and change type to whole number
4) Add Column Tab - Add Custom Column - and name it Date
= Date.AddDays([Week Of], -[Number])
That should do it!
MarcelBeugis there an easier way?
2 Replies
- Sean
Community Champion
In the Query Editor
1) Select Week Of column - Transform tab - Unpivot Other Columns
2) Add Column Tab - Add Conditional Column - and name Number
3) right-click Number column and change type to whole number
4) Add Column Tab - Add Custom Column - and name it Date
= Date.AddDays([Week Of], -[Number])
That should do it!
MarcelBeugis there an easier way?
- MarcelBeug
Community Champion
This would be my solution:
let Source = Input, DayNames = List.Transform({0..6}, each Date.DayOfWeekName(Date.AddDays(Source{0}[Week of],_),"en-US")), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Week of"}, "Attribute", "Value"), #"Added Custom" = Table.AddColumn(#"Unpivoted Other Columns", "Date", each Date.AddDays([Week of],List.PositionOf(DayNames,[Attribute]))), #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Date", "Value"}) in #"Removed Other Columns"