1、描述编辑
很多的冗余多路径都是由于用户添加表及建立表间关联不规范造成的,所以我们可以在此学习从原始数据加载过程中就避免产生这些冗余多路径。一般原始数据库有完整的主外键关联关系的,直接读取到FineBI中时数据及数据关联结构均能够保持规范。下面的操作主要是针对如果本身数据库并未添加完整的主外键关系,只是直接读取原始数据并且只写上对应表的关联字段。或者由于BI支持从多数据源中加载数据,从不同数据库读取的数据表之间或者数据库表与上传的EXCEL文件并没有建立主外键关系时,我们提供规范的操作让FineBI读取数据并建立多维数据库中的关联关系能够比较规范。
2、操作编辑
针对上面所说的不规范数据关联情况,我们提供了操作方法来规范在FineBI中建立的数据关联。
在业务包中数据表的关联关系处,提供了标识主键的方法,外键可直接通过字段建立表间关联来体现。如下图。
建立关联关系时,可以设置表间关联关系为一对一或一对多,即在关联操作时,可以选择一方是1还是N来标识关联方向(1为主表,N为子表)。从而确保建立的关联关系与用户实际业务逻辑、数据库存储逻辑保持一致。表间关联关系的设置可参考关联视图(单表)。
注:如果用户标注的信息与实际数据不符,如非distinct字段设置为主键等信息,在表更新时会自动纠正,但是会导致部分相关设置不生效。
3、示例-根据业务逻辑设置编辑
建立表间关联关系的操作,具体参见关联视图。
直接读取原始数据库表的主外键信息,或者字段是否设置唯一约束。如果数据库中已经添加过,则可以直接读取到业务包的数据表中。如果有外键,且对应表也在业务包中,则可以直接建立数据关联关系。
4、示例-数据表复用编辑
当前某公司有一个公共的维度表是人员姓名的维度表,然后有一个订单表,其中会有创建人、审核人两个字段与姓名维度表进行关联。当需要使用订单表中的指标,如订单金额,订单数等信息时,直接使用姓名字段的话,并不知道应该使用创建人还是审核人作为姓名匹配,还必须手动选择此时需要使用哪个字段与姓名维度表进行匹配。
所以,为了方便上述问题的前端分析操作,我们就需要复用这个订单表,将订单表添加2次至业务包中且作为不同的表,分别用表中的创建人、审核人字段与姓名维度表关联(即2个订单表都只用一个字段去匹配)。此时在前段分析时,直接从名字上区分后,需要使用创建人可以从使用创建人关联的订单表中取指标,使用审核人的相关指标方法类似。