多路径数据关联

编辑
文档创建者:howie (超级管理员 )     浏览次数:864次     编辑次数:9次     最近更新:doreen0813 于 2017-11-17     

目录:

1、描述编辑

很多的冗余多路径都是由于用户添加表及建立表间关联不规范造成的,所以我们可以在此学习从原始数据加载过程中就避免产生这些冗余多路径。一般原始数据库有完整的主外键关联关系的,直接读取到Fineindex中时数据及数据关联结构保持规范。下面的操作主要是针对如果本身数据库并未添加完整的主外键关系,只是直接读取原始数据并且只写上对应表的关联字段。或者,由于BI支持从多数据源中加载数据,从不同数据库读取的数据表之间或者数据库表与上传的EXCEL文件并没有建立主外键关系时,我们也会提供规范的操作让FineIndex读取数据并建立的多维数据库中的关联关系也是比较规范的。

2、操作概述编辑

针对上面所说的不规范数据关联情况,我们会给出统一的操作方法来规范在Fineindex中建立的数据关联。
首先我们允许用户为业务包中的数据表标识主键(主键信息也可以直接从原始数据库表读取)。外键的话,直接通过字段建立表间关联体现。然后,建立的关联关系时,也可以设置表间数据关联关系为一对一或一对多即在关联操作的时候,可以选择一方是1还是N来标识关联方向(即谁是主表,谁是子表)如下图。从而确保建立的关联关系与用户实际业务逻辑、数据库存储逻辑保持一致。
222
注:如果用户标注的信息与实际数据不符,如非distinct字段设置为主键等信息,在Fineindex生成时会自动纠正,但是会导致部分相关设置不生效。

3、实例操作-确定业务逻辑编辑

当前某公司业务上有客户表与合同表两个表,而且这两个表需要建立关联关系。然后直接读取数据库数据并建立关联,没有进行区分主子表关系和设立主键。但是因为存储数据不全,直接判断关联字段的数据就发现客户表与合同表的数据都是一对一匹配的,即一个客户对应一个合同,由此产生了很多冗余的多路径情况,而且这些多路径很多时错误且不存在于业务逻辑中的。
但从公司真实业务逻辑来说,客户表是主表,合同表是子表,即同一个客户允许与多个合同关联,反之则不行。当然,这个业务逻辑也很好理解且符合实际。我们就需要按照这个实际逻辑到业务包的表设置界面进行操作设置。
建立表间关联关系的操作,具体参见手动建立表间关联关系
3.1 读取主外键
直接读取原始数据库表的主外键信息,或者字段是否设置唯一约束,如果数据库中已经添加过,则可以直接读取到业务包的数据表中。如果有外键,且对应表也在业务包中,则可以直接建立数据关联关系。
3.2 设置主键
如果添加的数据表没有主外键等信息,那么添加到在数据表设置页面,可以由用户进行手动添加。
3.3 匹配关系及关联方向
为数据表添加数据关联信息界面,可以设置数据匹配关系是一对一或一对多,而且如果是一对一的情况,也可以选择关联方向,即A,B表数据都是一对一,可以根据实际业务逻辑设置方向为A->B,而不采用B->A的关联关系,即采用A关联B用取1:N的选择。

4、实例操作-数据表复用编辑

当前某公司有一个公共的维度表是人员姓名的维度表,然后有一个订单表,其中会有创建人、审核人两个字段与姓名维度表进行关联。当需要使用订单表中的指标,如订单金额,订单数等信息时,直接使用姓名字段的话,并不知道应该使用创建人 还是审核人作为姓名匹配,还必须手动选择此时需要使用哪个字段与姓名维度表进行匹配。

所以,为了方便上述问题的前端分析操作,我们就需要复用这个订单表,将订单表添加2次至Fineindex且作为不同的表,分别用表中的创建人、审核人字段与姓名维度表关联(即2个订单表都只用一个字段去匹配)。此时分析时,直接从名字上区分后,需要使用创建人可以从使用创建人关联的订单表中取指标,使用审核人相关指标方法类似。

附件列表


主题: 数据配置
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(微信ID:frbiaoge)

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: