Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi. I have an csv with the following columns
Year|Week_Num|Start Date|End Date
2022|1|3-Jan|9-Jan
2022|2|10-Jan|16-Jan
2022|3|17-Jan|23-Jan
2022|4|24-Jan|30-Jan
I imported it into Power BI, promoted the headers into labels
When I changed the data type to Date, the Year because 2023 instead of 2022??
Now my visual will not show any data that is before 31-DEC-22
How do I solve this?
Solved! Go to Solution.
You need to combine (i.e., merge) with year data and then convert to date type.
I copied your sample data in M query and did this ...
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMqoxrDHW9UrMq7EEkUqxOlBhoIQBWNzQDFXCuMbQHCxhZIwqYVJjZAKWMDaASMQCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Year|Week_Num|Start Date|End Date" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Year|Week_Num|Start Date|End Date", type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Year|Week_Num|Start Date|End Date", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Year|Week_Num|Start Date|End Date.1", "Year|Week_Num|Start Date|End Date.2", "Year|Week_Num|Start Date|End Date.3", "Year|Week_Num|Start Date|End Date.4"}),
#"Renamed Columns" = Table.RenameColumns(#"Split Column by Delimiter",{{"Year|Week_Num|Start Date|End Date.1", "Year"}, {"Year|Week_Num|Start Date|End Date.2", "Week_Num"}, {"Year|Week_Num|Start Date|End Date.3", "Start Date"}, {"Year|Week_Num|Start Date|End Date.4", "End Date"}}),
#"Inserted Merged Column" = Table.AddColumn(#"Renamed Columns", "Start Date 2", each Text.Combine({[Start Date], [Year]}, "-"), type text),
#"Inserted Merged Column1" = Table.AddColumn(#"Inserted Merged Column", "End Date 2", each Text.Combine({[End Date], [Year]}, "-"), type text),
#"Removed Columns" = Table.RemoveColumns(#"Inserted Merged Column1",{"Start Date", "End Date"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Removed Columns",{{"Year", Int64.Type}, {"Week_Num", Int64.Type}, {"Start Date 2", type date}, {"End Date 2", type date}}),
#"Renamed Columns1" = Table.RenameColumns(#"Changed Type1",{{"Start Date 2", "Start Date"}, {"End Date 2", "End Date"}})
in
#"Renamed Columns1"
Output:
Hope it helps!
You need to combine (i.e., merge) with year data and then convert to date type.
I copied your sample data in M query and did this ...
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMqoxrDHW9UrMq7EEkUqxOlBhoIQBWNzQDFXCuMbQHCxhZIwqYVJjZAKWMDaASMQCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Year|Week_Num|Start Date|End Date" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Year|Week_Num|Start Date|End Date", type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Year|Week_Num|Start Date|End Date", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), {"Year|Week_Num|Start Date|End Date.1", "Year|Week_Num|Start Date|End Date.2", "Year|Week_Num|Start Date|End Date.3", "Year|Week_Num|Start Date|End Date.4"}),
#"Renamed Columns" = Table.RenameColumns(#"Split Column by Delimiter",{{"Year|Week_Num|Start Date|End Date.1", "Year"}, {"Year|Week_Num|Start Date|End Date.2", "Week_Num"}, {"Year|Week_Num|Start Date|End Date.3", "Start Date"}, {"Year|Week_Num|Start Date|End Date.4", "End Date"}}),
#"Inserted Merged Column" = Table.AddColumn(#"Renamed Columns", "Start Date 2", each Text.Combine({[Start Date], [Year]}, "-"), type text),
#"Inserted Merged Column1" = Table.AddColumn(#"Inserted Merged Column", "End Date 2", each Text.Combine({[End Date], [Year]}, "-"), type text),
#"Removed Columns" = Table.RemoveColumns(#"Inserted Merged Column1",{"Start Date", "End Date"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Removed Columns",{{"Year", Int64.Type}, {"Week_Num", Int64.Type}, {"Start Date 2", type date}, {"End Date 2", type date}}),
#"Renamed Columns1" = Table.RenameColumns(#"Changed Type1",{{"Start Date 2", "Start Date"}, {"End Date 2", "End Date"}})
in
#"Renamed Columns1"
Output:
Hope it helps!
Thanks. I will try this
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
111 | |
95 | |
77 | |
69 | |
52 |
User | Count |
---|---|
146 | |
109 | |
106 | |
88 | |
61 |