数据模型将来源多处的数据进行归集时,是有序的归集,这种有序归集需要通过模型表间的关联关系来确定。

表关系区中显示了当前数据模型所有的模型表:

模型表的来源及实现请参见:数据模型-私有查询

表关系类型

数据模型目前支持的模型表间关系类型,主要有如下几种:

1、多对一/一对多:这两个关系实质一样,主要是看连接关系时是主表在前还是从表在前。如下我们有两张数据表“订单表”和“订单明细表”:

订单表订单明细表

我们从关联字段“OrderID"来看:”订单表“中每一个”OrderID"对应“订单明细表”中多条记录,因此我们说“订单表”与“订单明细表”是一对多的关系,或者说“订单明细表”与“订单表”是多对一的关系。因此这两个表我们可以有如下两种方式定义:


2、一对一(内连接)/一对一(外连接):关联字段匹配后,内连接关系将会删除未完全匹配数据,外连接会将未完全匹配数据以”空“补充。如下我们有两张数据表“家庭表”和“学生表”:

家庭表学生表


这两个表通过“StudentID"分别建立一对一的内连接或外连接关系,其数据效果分别如下:

一对一(内连接)效果:
“学生表”中没有匹配的7-10号数据被删除。

一对一(外连接)效果:
“家庭表”中7-10号数据补空值。

设置表连接

设置模型表关系的方法有如下两种:

1、拖拽连接线:从某模型表中的左侧或右侧锚点拖拽到目标模型表。

2、表关系菜单:在模型表更多菜单或右键菜单中选择 新建表关系

表关系图解

在Smartbi数据模型关系区中,关系线中的白圈代表一,蓝圈代表多。

但是一对一关系不在此规则之列:

一对一(内连接)

一对一(外连接)

菜单操作

表关系区的模型表支持“更多菜单(或右键菜单)”操作。

操作入口:在模型表中单击 更多 按钮,或者右键,弹出菜单。



菜单命令说明如下:

菜单命令说明
编辑

用于进入到当前私有查询的编辑界面。编辑详情请分别参见:导入文件SQL查询即席查询脚本查询存储过程查询ETL高级查询

注意:”数据源表“类型不支持编辑功能,“导入文件”类型的编辑功能用于追加数据。

删除用于将当前私有查询从数据模型中删除。
复制

用于复制当前私有查询。

当私有查询需要在原查询基础上进行改动,而实现高效复用的情况下,会用到该功能。

转换为ETL高级查询

用于将当前私有查询转换成ETL高级查询。

ETL高级查询的详情请参见:ETL高级查询

新建关系

用于新建设置当前私有查询与其它私有查询间的关系。

该菜单只在表关系区含有两个及以上的私有查询时才显示。

属性用于查看当前私有查询的属性。