要进入第一步,试试这个:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCvYzMDBU0lHy9AsOiHcEMgz0wHylWB2opG4EsjSqVCROKZiEE4aeCDQpR2dn14AQbIaiKYgFAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [SERIAL = _t, INSPECTION = _t, NUMERIC = _t, TEXT = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"SERIAL", type text}, {"INSPECTION", type text}, {"NUMERIC", type number}, {"TEXT", type text}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each ([NUMERIC] <> null or [TEXT] <> "")),
#"Split Column by Delimiter" = Table.SplitColumn(#"Filtered Rows", "SERIAL", Splitter.SplitTextByEachDelimiter({"-"}, QuoteStyle.Csv, true), {"SERIAL", "END"}),
#"Replaced Value" = Table.ReplaceValue(#"Split Column by Delimiter",null,"TEXT",Replacer.ReplaceValue,{"END"}),
#"Pivoted Column" = Table.Pivot(#"Replaced Value", List.Distinct(#"Replaced Value"[END]), "END", "TEXT")
in
#"Pivoted Column"
最终版本可以用于显示数据,但不能用于存储数据,但您可以像这样获得它:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCvYzMDBU0lHy9AsOiHcEMgz0wHylWB2opG4EsjSqVCROKZiEE4aeCDQpR2dn14AQbIaiKYgFAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [SERIAL = _t, INSPECTION = _t, NUMERIC = _t, TEXT = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"SERIAL", type text}, {"INSPECTION", type text}, {"NUMERIC", type number}, {"TEXT", type text}}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Changed Type", "SERIAL", Splitter.SplitTextByDelimiter("-", QuoteStyle.Csv), {"SERIAL", "END"}),
#"Added Custom" = Table.AddColumn(#"Split Column by Delimiter", "Combined", each if [NUMERIC] = null then [TEXT] else Number.ToText([NUMERIC]), type text),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "PivotColumn", each [INSPECTION] & (if [END] = null then "" else " (" & [END] & " DATA)"), type text),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom1",{"SERIAL", "Combined", "PivotColumn"}),
#"Filtered Rows" = Table.SelectRows(#"Removed Other Columns", each ([Combined] <> "")),
#"Pivoted Column" = Table.Pivot(#"Filtered Rows", List.Distinct(#"Filtered Rows"[PivotColumn]), "PivotColumn", "Combined")
in
#"Pivoted Column"
要查看它们的工作原理,请将代码粘贴到高级编辑器中,然后逐步执行查询编辑器中的应用步骤,以查看每一步转换后的表。