Forum Discussion
Separate Date and Time From Timestamp in Calculated Column
Hi Anonymous
OK so going back to PQ, if you start with this
Source = #"SQL/azsds001d database windows net;EDW",
ops_DimFlightSchedule = Source{[Schema="ops",Item="DimFlightSchedule"]}[Data],
#"Filtered Rows" = Table.SelectRows(ops_DimFlightSchedule, each ([Cancelled] <> 2))
in
#"Filtered Rows"then change it to this
let
Source = #"SQL/azsds001d database windows net;EDW",
ops_DimFlightSchedule = Source{[Schema="ops",Item="DimFlightSchedule"]}[Data],
#"Filtered Rows" = Table.SelectRows(ops_DimFlightSchedule, each ([Cancelled] <> 2)),
#"Split Column by Delimiter" = Table.SplitColumn(#"Filtered Rows", "DepartureDateTime", Splitter.SplitTextByEachDelimiter({" "}, QuoteStyle.Csv, false), {"DepartureDateTime.1", "DepartureDateTime.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"DepartureDateTime.1", type text}, {"DepartureDateTime.2", type time}}),
#"Changed Type with Locale" = Table.TransformColumnTypes(#"Changed Type", {{"DepartureDateTime.1", type date}}, "en-US"),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type with Locale",{{"DepartureDateTime.1", "DateDeparture"}, {"DepartureDateTime.2", "TimeDeparture"}})
in
#"Renamed Columns"To give this
Note that my date format is d/m/y
If you want to repeat these steps in another query then copy/paste everything after the #"Filtered Rows" line
Phil
Thanks again for the reply! So, I went through the process of updating my PowerQuery query in Visual Studio and have this now:
ops_DimFlightSchedule1 = Source{[Schema="ops",Item="DimFlightSchedule"]}[Data],
#"Filtered Rows" = Table.SelectRows(ops_DimFlightSchedule1, each ([Cancelled] <> 2)),
#"Duplicated Column" = Table.DuplicateColumn(#"Filtered Rows", "ScheduleDepartureDatetimeZ", "ScheduleDepartureDatetimeZ - Copy"),
#"Extracted Time" = Table.TransformColumns(#"Duplicated Column",{{"ScheduleDepartureDatetimeZ - Copy", DateTime.Time, type time}}),
#"Renamed Columns" = Table.RenameColumns(#"Extracted Time",{{"ScheduleDepartureDatetimeZ - Copy", "ScheduleDepartureTimeZ"}}),
#"Duplicated Column1" = Table.DuplicateColumn(#"Renamed Columns", "ScheduleDepartureDatetimeLocal", "ScheduleDepartureDatetimeLocal - Copy"),
#"Renamed Columns1" = Table.RenameColumns(#"Duplicated Column1",{{"ScheduleDepartureDatetimeLocal - Copy", "ScheduleDepartureTimeLocal"}}),
#"Extracted Time1" = Table.TransformColumns(#"Renamed Columns1",{{"ScheduleDepartureTimeLocal", DateTime.Time, type time}}),
#"Duplicated Column2" = Table.DuplicateColumn(#"Extracted Time1", "OutZ", "OutZ - Copy"),
#"Renamed Columns2" = Table.RenameColumns(#"Duplicated Column2",{{"OutZ - Copy", "ActualDepartureTimeZ"}}),
#"Extracted Time2" = Table.TransformColumns(#"Renamed Columns2",{{"ActualDepartureTimeZ", DateTime.Time, type time}}),
#"Duplicated Column3" = Table.DuplicateColumn(#"Extracted Time2", "OutLocal", "OutLocal - Copy"),
#"Renamed Columns3" = Table.RenameColumns(#"Duplicated Column3",{{"OutLocal - Copy", "ActualDepartureTimeLocal"}}),
#"Extracted Time3" = Table.TransformColumns(#"Renamed Columns3",{{"ActualDepartureTimeLocal", DateTime.Time, type time}}),
#"Duplicated Column4" = Table.DuplicateColumn(#"Extracted Time3", "OutZ", "OutZ - Copy"),
#"Renamed Columns4" = Table.RenameColumns(#"Duplicated Column4",{{"OutZ - Copy", "ActualDepartureDateZ"}}),
#"Extracted Date" = Table.TransformColumns(#"Renamed Columns4",{{"ActualDepartureDateZ", DateTime.Date, type date}}),
#"Duplicated Column5" = Table.DuplicateColumn(#"Extracted Date", "OutLocal", "OutLocal - Copy"),
#"Renamed Columns5" = Table.RenameColumns(#"Duplicated Column5",{{"OutLocal - Copy", "ActualDepartureDateLocal"}}),
#"Extracted Date1" = Table.TransformColumns(#"Renamed Columns5",{{"ActualDepartureDateLocal", DateTime.Date, type date}}),
#"Duplicated Column6" = Table.DuplicateColumn(#"Extracted Date1", "InZ", "InZ - Copy"),
#"Renamed Columns6" = Table.RenameColumns(#"Duplicated Column6",{{"InZ - Copy", "ActualArrivalDateZ"}}),
#"Extracted Date2" = Table.TransformColumns(#"Renamed Columns6",{{"ActualArrivalDateZ", DateTime.Date, type date}}),
#"Duplicated Column7" = Table.DuplicateColumn(#"Extracted Date2", "InLocal", "InLocal - Copy"),
#"Renamed Columns7" = Table.RenameColumns(#"Duplicated Column7",{{"InLocal - Copy", "ActualArrivalDateLocal"}}),
#"Extracted Date3" = Table.TransformColumns(#"Renamed Columns7",{{"ActualArrivalDateLocal", DateTime.Date, type date}}),
#"Duplicated Column8" = Table.DuplicateColumn(#"Extracted Date3", "InZ", "InZ - Copy"),
#"Renamed Columns8" = Table.RenameColumns(#"Duplicated Column8",{{"InZ - Copy", "ActualArrivalTimeZ"}}),
#"Extracted Time4" = Table.TransformColumns(#"Renamed Columns8",{{"ActualArrivalTimeZ", DateTime.Time, type time}}),
#"Duplicated Column9" = Table.DuplicateColumn(#"Extracted Time4", "InLocal", "InLocal - Copy"),
#"Renamed Columns9" = Table.RenameColumns(#"Duplicated Column9",{{"InLocal - Copy", "ActualArrivalTimeLocal"}}),
#"Extracted Time5" = Table.TransformColumns(#"Renamed Columns9",{{"ActualArrivalTimeLocal", DateTime.Time, type time}})
in
#"Extracted Time5"When viewing the new table in PowerQuery, the columns display as expected:
I create a table in te Tabular model using this same query. When I view the data in the tabular model, however, the date portion is still present - even though I format the column to JUST have the time:
The problem is that this column is used in a relationship with a Time Dimension table. Since the actual value isn't just the time, the relationship doesn't work.
Getting closer!!