元数据模型中的 Cognos 关系
关系用于在元数据模型中的多个对象上创建查询。关系可以是双向的,并且在不创建关系的情况下,对象是单独的实体,在元数据模型中没有用处。
元数据模型中的每个对象都使用数据源中的主键或外键连接。你可以在元数据模型中创建或删除关系以满足业务需求。
有不同的关系是可能的,其中一些是:
-
一对一 :当一个查询主题的一个实例与另一个实例相关时。例如:每个客户都有一个客户 ID。
-
一对多 :当查询主题的一个实例涉及多个实例时,就会出现这种关系。例如:每个医生都有很多病人。
-
多对多 :当一个查询主题的多个实例涉及多个实例时,就会出现这种关系。例如:每个病人都有很多医生。
基数概念
它被定义为两个查询主题中每一个的相关行数。基数的使用方式如下:
- 星型模式中的循环连接
- 优化数据源访问
- 避免重复计算事实数据
使用关系型数据库作为数据源时,基数的定义可以考虑以下规则:
- 主键和外键
- 匹配查询项名称表示唯一索引的列
- 匹配查询项名称
定义基数的最常见方法是使用主键和外键。要查看导入的关键信息,请右键单击查询主题 → 编辑定义。你可以从数据源导入多对多关系、可选关系和外部联接。
元数据模型中的关系表示法
在框架管理器中,关系由 梅里斯符号 .此符号的第一部分表示此关系的连接类型。
- 0..1 表示零或一匹配
- 1..1 表示一对一匹配
- 0..n 表示零匹配或不匹配
- 1..n 代表一个或多个匹配
- 1: 两个对象中所有匹配行的内连接。
- 0:一个外连接,包含来自两者的所有对象,包括不匹配的项目。
创建或修改关系
创建关系或合并未在元数据导入中加入的逻辑相关对象。你可以手动创建对象之间的关系,也可以根据所选条件自动定义对象之间的关系。
要创建关系,请使用 CTRL 键选择一个或多个查询项、主题或维度。然后去 操作菜单 → 创建关系 .
如果这是一个有效的关系,则框架管理器想要创建该关系的快捷方式。然后,你可以单击“确定”按钮。
在元数据导入后创建关系后,你还可以在框架管理器中修改关系或基数。
要编辑关系,请单击一个关系,然后从 操作菜单 → 单击编辑定义 .
From the 关系表达式选项卡 → 选择查询项、基数和运算符 .
要创建其他联接,请转到 关系表达式选项卡 → 新建链接和定义新关系 .
要测试此关系,请转到 关系 SQL 选项卡 → 要返回的行 → 测试 .
单击确定按钮。
创建关系快捷方式
关系快捷方式被定义为指向现有关系的指针并重用现有关系的定义。当你对源关系进行任何更改时,它们会在快捷方式中自动更新。关系快捷方式也用于解决查询主题之间的模糊关系。
每当你创建关系并且这两个条件都为真时,Framework Manager 都会询问你是否要创建关系快捷方式。
- 至少,新关系的一个终点是捷径。
- 原始对象之间存在关系。
Go to 操作菜单 → 创建关系 .
如果这是一个有效的关系,则框架管理器想要创建该关系的快捷方式。单击是。出现一个包含所有关系的列表,其中一端是模型对象,另一端是另一个模型对象或另一个模型对象的快捷方式。
单击确定。
创建查询主题
查询主题被定义为一组具有内在关系的查询项。查询主题可用于自定义他们使用 Framework Manager 检索的数据。
以下是 Framework Manager 中的查询主题类型:
-
数据源查询主题 : 这些是基于 SQL 语句定义的关系元数据,在你将元数据导入模型时自动为每个表和视图创建。
注意 : 数据源查询主题一次只引用一个数据源的数据,但可以直接编辑定义检索数据的SQL来编辑查询主题。
-
模型查询主题 :它们不是直接从数据源创建的,而是基于其他查询主题或维度中定义的查询项。使用模型查询主题,它允许你创建更抽象的数据源和业务视图。
-
存储过程查询主题 : 它们是在从关系数据源导入过程时创建的。 IBM Cognos Framework Manager 仅支持用户定义的存储过程,不支持系统存储过程。
如何创建数据源查询主题?
From 操作菜单 → 创建 → 查询主题 .
输入新查询主题的名称。
Click on 数据源 → 确定以打开新的查询主题向导 .
按照步骤操作,直到出现“完成”按钮 → 完成
右键单击 查询主题 → 编辑定义 .点击 SQL选项卡→可用数据库对象框,将对象拖到SQL框 .
你还可以插入数据源引用、插入宏、嵌入计算和嵌入过滤器。
从列表中选择操作并单击确定。
Purpose | Action |
---|---|
粒度控制 | 行列式选项卡 |
测试查询主题 | Test Tab |
查看 SQL | 查询信息选项卡 |
从数据源查看系统表 | 显示系统对象复选框 |
Edit SQL
当你编辑任何关系数据库源、创建或查询关系数据库时,会在后台使用 SQL。你可以使用以下选项:
- 认知 SQL
- 本机 SQL
- 通过 SQL
要编辑模型查询主题的 SQL,请从查询信息选项卡复制 SQL 并粘贴到新的数据源查询主题。可以将模型查询主题转换为数据源查询主题。
- 单击数据源查询主题和 操作菜单 → 编辑定义 .
- 单击 SQL 按钮,拖动对象或键入所需的 SQL。
- 单击确定。
更改 SQL 类型
你可以在定义数据源查询主题时选择要使用的 SQL 类型。在考虑 SQL 类型时应考虑这些因素:
SQL Type | 优势 | 坏处 |
---|---|---|
认知 SQL |
提高性能 处理所有支持的数据库 |
不支持非标准 SQL |
本机 SQL |
性能优化 特定于数据库 |
SQL 不适用于不同的数据库。 你不能使用数据源不支持子查询的 SQL。 |
通过 SQL | 数据库支持的任何 SQL |
框架没有选项 经理进行优化 自动执行 |
另请注意,无法根据 OLAP 数据源更改查询主题的 SQL 类型。
要更改 SQL 类型,请转到要更改的查询主题。
Go to 操作菜单 → 编辑定义并转到查询信息按钮 .
Go to 选项 → SQL 设置选项卡 .
要更改 SQL 的类型,请单击 SQL 类型列表。然后,单击确定。