Forum Discussion
Anonymous
6 years agoNot applicable
Combining two rows into one row (conditionally)
Hi all, I am trying to find a solution for the following and am wrecking my brain so any help is appreciated, I have two tables that look as follows: Table 1 - Required: Name Exam ...
- 6 years ago
Hi Anonymous ,
PBIX Obtained
Appended the query, transposed the table, reordered the columns, merged the columns, split the columns by position, removed columns, then transposed table, and did clean up.
Let me know if you have any questions.
If this solves your issues, please mark it as the solution, so that others can find it easily. Kudos are nice too.
Nathaniel
Nathaniel_C
6 years agoCommunity Champion
Hi Anonymous ,
Here is your table. Will attach the PBIX in a couple.
Let me know if you have any questions.
If this solves your issues, please mark it as the solution, so that others can find it easily. Kudos are nice too.
Nathaniel
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WUorViVbyS8xNVVBQcK1IzFVAAP+kksTMvNQUIBOsCkx45WfkgZTmpedkFmfAlEa6BiugAgwd7qlFuYl5Ckg6lGJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [#"Table 2 - Obtained:" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Table 2 - Obtained:", type text}}),
#"Removed Blank Rows" = Table.SelectRows(#"Changed Type", each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null}))),
#"Promoted Headers" = Table.PromoteHeaders(#"Removed Blank Rows", [PromoteAllScalars=true]),
#"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"Name Exam Obtained ", type text}}),
#"Split Column by Positions" = Table.SplitColumn(#"Changed Type1", "Name Exam Obtained ", Splitter.SplitTextByPositions({0, 7, 22}), {"Name Exam Obtained .1", "Name Exam Obtained .2", "Name Exam Obtained .3"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Positions",{{"Name Exam Obtained .1", type text}, {"Name Exam Obtained .2", type text}, {"Name Exam Obtained .3", type text}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type2",{{"Name Exam Obtained .1", "Name"}, {"Name Exam Obtained .2", "Exam"}, {"Name Exam Obtained .3", "Obtained"}}),
#"Appended Query" = Table.Combine({#"Renamed Columns", Required}),
#"Transposed Table" = Table.Transpose(#"Appended Query"),
#"Reordered Columns" = Table.ReorderColumns(#"Transposed Table",{"Column1", "Column3", "Column2", "Column4"}),
#"Merged Columns" = Table.CombineColumns(#"Reordered Columns",{"Column1", "Column3"},Combiner.CombineTextByDelimiter("", QuoteStyle.None),"Merged"),
#"Split Column by Positions1" = Table.SplitColumn(#"Merged Columns", "Merged", Splitter.SplitTextByPositions({0, 7, 11}), {"Merged.1", "Merged.2", "Merged.3"}),
#"Changed Type3" = Table.TransformColumnTypes(#"Split Column by Positions1",{{"Merged.1", type text}, {"Merged.2", type text}, {"Merged.3", type text}}),
#"Removed Columns" = Table.RemoveColumns(#"Changed Type3",{"Merged.2", "Merged.3"}),
#"Transposed Table1" = Table.Transpose(#"Removed Columns")
in
#"Transposed Table1"