Forum Discussion
Power Query and Partial HTML Fields
- Anonymous3 years ago
Hi nicksutherland ,
According to your description, here are my steps you can follow as a solution.
(1) This is my test data.
(2) Copy and paste the following code into Advanced Editor. This is achieved by splitting and merging columns.
let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wiik1MDBOTsksAzNSjQyMjHQNLIDIqqICIqcPl8Sq1lzXyBKLWqVYHRyGG5FguDEew1MScwsUEktTMksU8lJTU4oVSvIVkoBSsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Project Memo" = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"Project Memo", type text}}), #"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Project Memo", Splitter.SplitTextByDelimiter("<div>", QuoteStyle.Csv), {"Project Memo.1", "Project Memo.2", "Project Memo.3"}), #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Project Memo.1", type text}, {"Project Memo.2", type text}, {"Project Memo.3", type text}}), #"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type1", "Project Memo.2", Splitter.SplitTextByDelimiter("</div>", QuoteStyle.Csv), {"Project Memo.2.1", "Project Memo.2.2"}), #"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"Project Memo.2.1", type text}, {"Project Memo.2.2", type text}}), #"Split Column by Delimiter2" = Table.SplitColumn(#"Changed Type2", "Project Memo.3", Splitter.SplitTextByDelimiter("</div>", QuoteStyle.Csv), {"Project Memo.3.1", "Project Memo.3.2"}), #"Changed Type3" = Table.TransformColumnTypes(#"Split Column by Delimiter2",{{"Project Memo.3.1", type text}, {"Project Memo.3.2", type text}}), #"Merged Columns" = Table.CombineColumns(#"Changed Type3",{"Project Memo.1", "Project Memo.2.1", "Project Memo.3.1"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"), #"Removed Other Columns" = Table.SelectColumns(#"Merged Columns",{"Merged"}), #"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"Merged", "Project Memo"}}) in #"Renamed Columns"(3) Then the result is as follows.
Best Regards,
Neeko Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi nicksutherland ,
According to your description, here are my steps you can follow as a solution.
(1) This is my test data.
(2) Copy and paste the following code into Advanced Editor. This is achieved by splitting and merging columns.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wiik1MDBOTsksAzNSjQyMjHQNLIDIqqICIqcPl8Sq1lzXyBKLWqVYHRyGG5FguDEew1MScwsUEktTMksU8lJTU4oVSvIVkoBSsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Project Memo" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Project Memo", type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "Project Memo", Splitter.SplitTextByDelimiter("<div>", QuoteStyle.Csv), {"Project Memo.1", "Project Memo.2", "Project Memo.3"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Project Memo.1", type text}, {"Project Memo.2", type text}, {"Project Memo.3", type text}}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type1", "Project Memo.2", Splitter.SplitTextByDelimiter("</div>", QuoteStyle.Csv), {"Project Memo.2.1", "Project Memo.2.2"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"Project Memo.2.1", type text}, {"Project Memo.2.2", type text}}),
#"Split Column by Delimiter2" = Table.SplitColumn(#"Changed Type2", "Project Memo.3", Splitter.SplitTextByDelimiter("</div>", QuoteStyle.Csv), {"Project Memo.3.1", "Project Memo.3.2"}),
#"Changed Type3" = Table.TransformColumnTypes(#"Split Column by Delimiter2",{{"Project Memo.3.1", type text}, {"Project Memo.3.2", type text}}),
#"Merged Columns" = Table.CombineColumns(#"Changed Type3",{"Project Memo.1", "Project Memo.2.1", "Project Memo.3.1"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
#"Removed Other Columns" = Table.SelectColumns(#"Merged Columns",{"Merged"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Other Columns",{{"Merged", "Project Memo"}})
in
#"Renamed Columns"
(3) Then the result is as follows.
Best Regards,
Neeko Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.