は、私は、これは、外部結合を使用することによって、それを行うための一つの方法があると信じています。
あなたが(ルール)自分のルールのテーブルを持っている場合: ![enter image description here](https://i.stack.imgur.com/64JIr.png)
そして、あなたのレコードのテーブル(レコード): ![enter image description here](https://i.stack.imgur.com/ZgLIs.png)
をあなたが各テーブル内のあなたの変数の列をマージして、マージすることができますキーマッチとしてRulesテーブルとRecordsテーブルの新しいマージ済み変数列を使用して、2つのテーブルを結合(結合)します。ここではルールテーブルからMコードです ![enter image description here](https://i.stack.imgur.com/Jmssk.png)
:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Rule #", Int64.Type}, {"Variable 1", type text}, {"Variable 2", type text}, {"Variable 3", type text}, {"Variable 4", type text}, {"Variable 5", type text}}),
#"Demoted Headers" = Table.DemoteHeaders(#"Changed Type"),
#"Merged Columns" = Table.CombineColumns(#"Demoted Headers",{"Column2", "Column3", "Column4", "Column5", "Column6"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged")
in
#"Merged Columns"
はここだ、その後、最終的には、比較結果(比較)のこのテーブルを取得するには、新しいマージされたテーブルにありますマージされた変数の列を分割レコードテーブルからMコード:
let
Source = Excel.CurrentWorkbook(){[Name="Table15"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Record", type text}, {"Variable 1", type text}, {"Variable 2", type text}, {"Variable 3", type text}, {"Variable 4", type text}, {"Variable 5", type text}}),
#"Demoted Headers" = Table.DemoteHeaders(#"Changed Type"),
#"Merged Columns" = Table.CombineColumns(#"Demoted Headers",{"Column2", "Column3", "Column4", "Column5", "Column6"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Merged")
in
#"Merged Columns"
そして、ここで比較表からMコードがあります:
let
Source = Table.NestedJoin(Records,{"Merged"},Rules,{"Merged"},"NewColumn",JoinKind.FullOuter),
#"Expanded NewColumn" = Table.ExpandTableColumn(Source, "NewColumn", {"Column1"}, {"NewColumn.Column1"}),
#"Split Column by Delimiter" = Table.SplitColumn(#"Expanded NewColumn","Merged",Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv),{"Merged.1", "Merged.2", "Merged.3", "Merged.4", "Merged.5"}),
#"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Merged.1", type text}, {"Merged.2", type text}, {"Merged.3", type text}, {"Merged.4", type text}, {"Merged.5", type text}}),
#"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
#"Renamed Columns" = Table.RenameColumns(#"Promoted Headers",{{"Rule #", "Rule # Matched"}})
in
#"Renamed Columns"