...
无论哪种方法,都有必要了解 Smartbi 中的关系及其创建和编辑方式。
2 在加载期间自动检测
信息 | ||
---|---|---|
| ||
1、数据模型支持自动检测关系,也支持手动创建关系、手动检测关系。 2、开启自动检测关系:需要在运维设置/ 系统设置 / 高级选项 设置 OLAP_QUERY_AUTO_ADD_CHECK_LINK=true,在加载表或者模型时才会自动检测关系。 3、如开启了自动检测关系,用户手动设置关系不正确时,会提示关系无效,但目前未强制更正,检测关系的原理就是利用建立关系的字段在表中是否重复,会真实查数据库,部分数据库慢可关闭此检测。 |
2 手动创建关系
数据模型支持手动创建关系。
以产品自带的 “产品表”、“订单表”、“产品类别表”等创建订单模型为示例进行说明,为了更好的说明,先关闭自动检测表关系的设置项: OLAP_QUERY_AUTO_ADD_CHECK_LINK=false。
具体操作步骤如下:
1、创建数据模型,并加入 “产品表”、“订单表”、“产品类别表“等表。
2、设置 ”订单表“与”订单明细表“的关系,选中”订单表“ 再右键菜单 新建关系,会出现 编辑关系对话框。
选项 | 内容 |
---|---|
关系 |
|
条件 | 默认 等于,支持等于、不等于、大于等于、小于、小于等于;如果是抽取模式,并且缓存库是ClickHouse,则不支持 等于、不等于、大于等于、小于、小于等于 条件。 |
基数 |
|
引用关系完整性 | 该设置项仅对 直连 模式生效。 详情可查看本篇章节 引用关系完整性 。 |
3、根据步骤2设置好各个表、查询的关系,并且构建数据模型。
4、保存数据模型,可以查看到已经设置好关系的模型:
3 在加载期间自动检测
- 开启自动检测关系:需要在运维设置/ 系统设置 / 高级选项 设置 OLAP_QUERY_AUTO_ADD_CHECK_LINK=true,在加载表或者模型时才会自动检测关系。
- 不管是直连还是抽取模式,如果数据模型同时加载两个或多个表/查询时,Smartbi将尝试为你查找并创建关系, “关系”、 “基数” 会根据规则自动创建关系。如果无法以高置信度确定存在得匹配项,则不会创建关系。
...
- 但是仍可使用 新建关系 对话框来手动创建或者编辑关系。
- 关系:只有数据类型以及字段名称一致的字段才能自动匹配关联字段,否则需要手动创建。
- 基数:通过设置得关系字段检测源表里面得真实数据是否是一对多、多对一、一对一。
- 条件:默认 等于,包含:等于、不等于、大于等于、小于、小于等于。
3 使用自动检测功能创建关系
- 如果 ”自动检测表关系“是禁用状态,则该模型加载表或查询时,不会自动检测关系,需要手工创建或者使用工具栏的”自动检测“创建关系。
4 使用"自动检测"创建关系
当系统没有开启自动识别字段关系时,可以点击 检测关系 检测各个表/查询之间的关联关系。规则与第2章 在加载期间自动检测 一致。
...