处理表间多对多关系

编辑
文档创建者:daisyatnj (72893 )     浏览次数:2617次     编辑次数:9次     最近更新:doreen0813 于 2018-04-03     

目录:

1、描述编辑

客户的数据明细经常是直接取出来分析;表与表之间是多对多的关系。如何在BI中解决这种多对多表的业务分析是常常要面对的事。这里演示如何通过建立公共主表将多对多的表转化为1:n的方式来解决。

2、示例编辑

现有a表记录销售的销售额明细,b表记录销售的回款额明细,如下图。最终要求统计销售还需追回的欠款额(销售额-回款额)。

222

222

两张表是通过销售ID字段有多对多的关系,我们目前业务包里的表是无法建立多对多关联的。因此现在需要针对这两张表抽取销售ID维度做公共主表。

2.1 抽取维度做公共主表

如下图,表C有字段销售ID和姓名。因为存放了销售ID字段,可作为唯一主键。

222

222

注:某些情况下可能存在数据库里面没有现有公共主表C的情况,此时可以在业务包里面建一个sql表来生成我们需要的主表。如下图示例,新建了一个只包含销售ID字段的主表,与表C的作用一样。

222

2.2 业务包用公共主表和明细表建1:N关联

在业务包中拖入a、b、c三张表,如下图:

222

用c表对a、b表建一对多的关联关系,如下图:

222

点击确定保存,进入数据配置>FineIndex更新,进行FineIndex更新。

2.3 做业务需求表

拖拽姓名、销售额、回款额分别到行表头和指标中,因为需要求的是销售应追回的欠款额,所以这里需要增加计算指标,计算出欠款额(销售额-回款额)。

222

添加的字段如下图所示,因为要统计的是欠款额,因此销售额及回款额取消勾选显示。

222

至此,销售对应的欠款额的需求表就做出来了。

附件列表


主题: 数据配置
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?