1、描述编辑
通常数据库的表与表之间存在关联关系,比如外键,即某个字段是一个表的主键,但该字段同样是另一张表的外键,那么FineBI怎么读取这种表间关联关系呢?在添加数据表中我们介绍过,将数据库表添加到业务包的过程中,系统会自动读取表间关联。本章我们将介绍另一种方法:手动建立表间关联关系。
2、添加表间关联编辑
打开FineBI数据决策系统,进入数据准备>业务包,单击业务包配置页面已添加成功的表可以看到单表的关联视图选项。
在关联视图设置区域,手动选择需要建关联的字段,如客户编码,单击客户编码后的相关表区域,右侧即出现对应该选择字段的关联设置。
单击右侧区域的关联到其他表按钮,即可选择关联相应的业务包>数据表,选择以后出现关联设置区域,在该区域需要选择关联字段,添加关联方向,即哪个作为主表。关联方向包含三种:1:1、1:N、N:1,需要根据实际情况进行选择,不能违反实际数据对应的关联关系。如实际主表不会因为手动设置为子表而变为子表。
此处,我们为“医药_库存周转事实表”的客户编码字段选择“客户地区维度表”的客户编码字段添加关联,选择关联方向为N:1,即“医药_客户地区维度”作为主表,如下图:
添加完成后点击确认保存,即可在该数据表的关联关系区域看到已经添加成功的关联,如下图:
还可单击已创建的关联下方的关联到其他表,按照上面同样的方式同样添加关联到其他表/字段即可。
配置完字段关联后,需要点击更新信息>单表更新进行该表的更新操作,抽取数据保存到本地才能使用。表更新详细设置可参考数据更新。
注:若存在多人配置相同字段关联的情况,后保存的将覆盖之前保存的关联配置。且同一张表的字段A不能出现多张主表,也即上面库存事实表的客户编码字段只能配置一个主表字段,如上面的客户维度表客户编码字段,不能再为该字段配置N:1关系的其他字段,否则后面配置的将覆盖之前配置的关联。
有的时候客户系统中通过一个主键无法确定一条记录,比如订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了,因为会有重复。那么可以再使用个订单序列号bill_seq来作为区别,把bill_no和bill_seq设成联合主键。
若需设置联合主键,则在关联视图下勾选联合关联,并选择需要的字段添加关联,如下图,勾选“客户ID”和“合同类型”字段并点击关联到其他表,同上述一样选择表和对应字段添加关联关系即可。
3、修改表间关联编辑
对于已经添加好的关联关系,我们可以点击编辑按钮进行修改,如下图:
可以重新进行关联字段和关联方向的选择。
4、删除表间关联编辑
对于之前创建的不需要的表间关联,我们可以进行表间关联关系的删除,如下图,点击删除按钮进行删除。