一 背景使用说明
这里笛卡尔是笛卡尔乘积的简称,是指两个值集的所有可能排列组合,在科普中的定义为:两个集合X和Y的笛卡尔积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。
使用场景举例:A(1,2,3),B(a,b),A和B的所有可能组合为(a1,a2,a3,b1,b2,b3),在SQL中可以理解为是两个物理表的连接,在此基础上增加两列;如果有主键的关联,会自动根据主键去重,减少不必要的组合场景。
偶然没有带电脑,使用另外一台电脑时,发现普通的电脑并没有安装数据库相关的软件,此时,Excel的强大功能体现出来,笔者使用的为office Excel2019版本,操作的过程相对SQL的代码,会多一些步骤,但实现起来也非常简单,主要步骤为:准备基础数据->上载数据->链接数据
二 简单操作说明
2.1 准备基础数据
准备自己需要连接的表的组合数据,可以是一张表,也可以是多张表
笔者为了简单,做了如下基础数据,分别命名为表1和表2:
Sheet1=表1
Sheet2=表2
2.2进行数据上载
切换到“数据”功能页面,选择“来自表格/区域”,并选中要做笛卡尔连接的表格,并点击确定。
此时系统会将当前选中区域做特别引用处理,也会弹出“power query”编辑窗口,这个时候已经自动建立第一个待连接表的基础信息
这个时候,表1是已经上载好了,但是表2也需要同意的操作步骤
可以先把当前的power query窗口先关掉进行上传,关闭前需要保存当前编辑器(表1的链接会保存,不会因为关闭而丢失)
2.3 链接数据
新建的两个连接表,如果找不到,可以窗口右侧“查询”列表找到,进入power query窗口后,所有已经上传的连接都可以再这里看到,如下图所示
现在窗口主要显示了表2的基础数据,我们要做表1和它链接
在添加列功能页面,找到“自定义列”然后将要链接的表名字填写到当前公式里,此时两张表就作了链接,如下图
确认后,可以在自定义列,选择表1里需要和表2连接的列有哪些,这里我默认全选,确认后,此时表1和表2的所有组合都显示了出来
如果需要保存当前结果为excel到本地,可以点击关闭并上载
三 操作结果显示
此时我们看到,基于原有的sheet表里,增加了我们已经做笛卡尔组合的sheet表
由于该数显示了两个表格的所有排列组合,并没有做特殊的处理
所以组合后,可以按照自己的实际业务需求,将数据做下后期个性化的处理才行