
答案1
答案2
使用微軟的獲取&轉換 電動工具
如果您使用 Excel 2016 ,則可以產生兩個變數(或表格)的笛卡爾積。Excel 的 Power 查詢.)
與描述的方式類似這裡, 你可以
- 在 Power Query 中將兩列匯入為單獨的表(Excel 2016:功能區資料 > 來自表)
- 然後新增具有相同值(例如 1)的輔助列,
- 合併兩個表
- 保留原始匯入的列
理論上,您不僅可以從兩列產生笛卡爾積,還可以從兩個多列表產生笛卡爾積。
這是兩個表的 M 代碼:
表2
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column2", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1)
in
#"Added Custom"
表格1
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "CrossColumn", each 1),
#"Merged Queries" = Table.NestedJoin(#"Added Custom",{"CrossColumn"},Table2,{"CrossColumn"},"Table2",JoinKind.Inner),
#"Expanded {0}" = Table.ExpandTableColumn(#"Merged Queries", "Table2", {"Column2"}, {"Column2"}),
#"Removed Columns" = Table.RemoveColumns(#"Expanded {0}",{"CrossColumn"})
in
#"Removed Columns"