いいえ、簡単な方法はありませんが、実行することはできます。 しかし、私は別の結果を得る。あなたのロジックの私の解釈は、各列の組み合わせに対して、1列の各共通語の出現数に、他の列の出現数を掛けなければならないということです。 これらは私の結果です:
そして、これは私のクエリのコードです:
let
Source = Table1,
ColumnNames = Table.ColumnNames(Source),
Tabled = Table.FromColumns({ColumnNames}, type table[Columns = text]),
AddedColumns2 = Table.AddColumn(Tabled, "Columns2", each ColumnNames, type {text}),
ExpandedColumns2 = Table.ExpandListColumn(AddedColumns2, "Columns2"),
CommonWords =
Table.AddColumn(ExpandedColumns2,
"DistinctIntersect",
each if [Columns] = [Columns2]
then {}
else List.Distinct(List.Intersect({Table.Column(Source,[Columns]),
Table.Column(Source,[Columns2])}))),
AddedCount =
Table.AddColumn(CommonWords,
"Count",
(This) => List.Sum({0}&List.Transform(This[DistinctIntersect],
each List.Count(List.PositionOf(Table.Column(Source,This[Columns]),_,2)) *
List.Count(List.PositionOf(Table.Column(Source,This[Columns2]),_,2)))),
Int64.Type),
RemovedColumns = Table.RemoveColumns(AddedCount,{"DistinctIntersect"}),
PivotedColumn = Table.Pivot(RemovedColumns, List.Distinct(RemovedColumns[Columns2]), "Columns2", "Count")
in
PivotedColumn
おかげ@MarcelBeug。あなたの結果は正しいです。私のことは間違っていた...私は誤解した。私は今、私の質問で、私の希望の出力テーブルを修正しました。あなたが私に与えたことは、「簡単」ではないかもしれませんが、確かに私が試みていたものよりずっと優れています。 –