答案1
答案2
使用微软的获取并转换 电动工具用于计算两个变量的笛卡尔积(或表格),如果您使用的是 Excel 2016。
(对于 Excel 2010-2013,请使用免费的 MS 插件Excel 的 Power Query。
与描述的方式类似这里, 你可以
- 在 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"