Forum Discussion
jaryszek
5 years agoSuper User
Compare columns in 2 the same structured tables.
Hi Guys, i need help with writing function to skip some manual steps while building query: let Source = Table.NestedJoin(TableDef, {"Key"}, TableMap, {"Key"}, "TableMap", JoinKind.LeftOuter), ...
- 5 years ago
Hi jaryszek
I think I made it! You could try below codes to create a function. Download the attachment for details.
(mapTable as table, defTable as table) => let // mapTable = TAbleMap, // defTable = TableDef, //Please keep the mapTable before the defTable in below Source step Source = Table.Combine({mapTable, defTable}), #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"TableName", "Key"}, "Attribute", "Value"), #"Changed Type" = Table.TransformColumnTypes(#"Unpivoted Other Columns",{{"TableName", type text}, {"Key", type text}, {"Attribute", type text}, {"Value", type text}}), #"Replaced Value" = Table.ReplaceValue(#"Changed Type","Name_To_Skip",null,Replacer.ReplaceValue,{"Value"}), #"Grouped Rows" = Table.Group(#"Replaced Value", {"Key", "Attribute"}, {{"Values", each _, type table [TableName=nullable text, Key=nullable text, Attribute=nullable text, Value=nullable text]}}), #"Expanded Values" = Table.ExpandTableColumn(#"Grouped Rows", "Values", {"TableName", "Value"}, {"TableName", "Value"}), #"Filled Up" = Table.FillUp(#"Expanded Values",{"Value"}), #"Removed Duplicates" = Table.Distinct(#"Filled Up", {"Key", "Attribute", "Value"}), hasDifferences = List.Contains(Table.Column(#"Removed Duplicates", "TableName"), "TableDef"), #"Filtered Rows" = Table.SelectRows(#"Removed Duplicates", each ([TableName] = "TableMap")), #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"TableName"}), #"Filtered Rows1" = Table.SelectRows(#"Removed Columns", each ([Key] = "cat")), #"Pivoted Column" = Table.Pivot(#"Filtered Rows1", List.Distinct(#"Filtered Rows1"[Attribute]), "Attribute", "Value"), table1 = #"Pivoted Column", table2 = #table( { "Key", // First Column Field Name "Col" // Second Column Field Name }, {} ) in if hasDifferences then table1 else table2Regards,
Community Support Team _ Jing
If this post helps, please Accept it as the solution to help other members find it.
jaryszek
5 years agoSuper User
Anyone can help?
Best,
Jacek
v-jingzhang
5 years agoCommunity Support
Hi jaryszek
Does my reply solve your problem? If yes, kindly accept it as the solution. Otherwise, please provide more details about your problem so that we can work on it further. Thanks.
Regards,
Jing