元数据模型中的 Cognos 关系


关系用于在元数据模型中的多个对象上创建查询。关系可以是双向的,并且在不创建关系的情况下,对象是单独的实体,在元数据模型中没有用处。

元数据模型中的每个对象都使用数据源中的主键或外键连接。你可以在元数据模型中创建或删除关系以满足业务需求。

有不同的关系是可能的,其中一些是:

  • 一对一 :当一个查询主题的一个实例与另一个实例相关时。例如:每个客户都有一个客户 ID。

  • 一对多 :当查询主题的一个实例涉及多个实例时,就会出现这种关系。例如:每个医生都有很多病人。

  • 多对多 :当一个查询主题的多个实例涉及多个实例时,就会出现这种关系。例如:每个病人都有很多医生。

基数概念


它被定义为两个查询主题中每一个的相关行数。基数的使用方式如下:

  • 星型模式中的循环连接
  • 优化数据源访问
  • 避免重复计算事实数据

使用关系型数据库作为数据源时,基数的定义可以考虑以下规则:

  • 主键和外键
  • 匹配查询项名称表示唯一索引的列
  • 匹配查询项名称

定义基数的最常见方法是使用主键和外键。要查看导入的关键信息,请右键单击查询主题 → 编辑定义。你可以从数据源导入多对多关系、可选关系和外部联接。

元数据模型中的关系表示法


在框架管理器中,关系由 梅里斯符号 .此符号的第一部分表示此关系的连接类型。

  • 0..1 表示零或一匹配
  • 1..1 表示一对一匹配
  • 0..n 表示零匹配或不匹配
  • 1..n 代表一个或多个匹配
  • 1: 两个对象中所有匹配行的内连接。
  • 0:一个外连接,包含来自两者的所有对象,包括不匹配的项目。

创建或修改关系


创建关系或合并未在元数据导入中加入的逻辑相关对象。你可以手动创建对象之间的关系,也可以根据所选条件自动定义对象之间的关系。

要创建关系,请使用 CTRL 键选择一个或多个查询项、主题或维度。然后去 操作菜单 → 创建关系 .

如果这是一个有效的关系,则框架管理器想要创建该关系的快捷方式。然后,你可以单击“确定”按钮。

F_SALES

在元数据导入后创建关系后,你还可以在框架管理器中修改关系或基数。

要编辑关系,请单击一个关系,然后从 操作菜单 → 单击编辑定义 .

From the 关系表达式选项卡 → 选择查询项、基数和运算符 .

Relationship Defination

要创建其他联接,请转到 关系表达式选项卡 → 新建链接和定义新关系 .

要测试此关系,请转到 关系 SQL 选项卡 → 要返回的行 → 测试 .

Relationship SQL tab

单击确定按钮。

创建关系快捷方式


关系快捷方式被定义为指向现有关系的指针并重用现有关系的定义。当你对源关系进行任何更改时,它们会在快捷方式中自动更新。关系快捷方式也用于解决查询主题之间的模糊关系。

每当你创建关系并且这两个条件都为真时,Framework Manager 都会询问你是否要创建关系快捷方式。

  • 至少,新关系的一个终点是捷径。
  • 原始对象之间存在关系。

Go to 操作菜单 → 创建关系 .

如果这是一个有效的关系,则框架管理器想要创建该关系的快捷方式。单击是。出现一个包含所有关系的列表,其中一端是模型对象,另一端是另一个模型对象或另一个模型对象的快捷方式。

单击确定。

创建查询主题


查询主题被定义为一组具有内在关系的查询项。查询主题可用于自定义他们使用 Framework Manager 检索的数据。

以下是 Framework Manager 中的查询主题类型:

  • 数据源查询主题 : 这些是基于 SQL 语句定义的关系元数据,在你将元数据导入模型时自动为每个表和视图创建。

    注意 : 数据源查询主题一次只引用一个数据源的数据,但可以直接编辑定义检索数据的SQL来编辑查询主题。

  • 模型查询主题 :它们不是直接从数据源创建的,而是基于其他查询主题或维度中定义的查询项。使用模型查询主题,它允许你创建更抽象的数据源和业务视图。

  • 存储过程查询主题 : 它们是在从关系数据源导入过程时创建的。 IBM Cognos Framework Manager 仅支持用户定义的存储过程,不支持系统存储过程。

New QuerySubject

如何创建数据源查询主题?

From 操作菜单 → 创建 → 查询主题 .

Action Menu

输入新查询主题的名称。

Click on 数据源 → 确定以打开新的查询主题向导 .

Data Source

按照步骤操作,直到出现“完成”按钮 → 完成

右键单击 查询主题 → 编辑定义 .点击 SQL选项卡→可用数据库对象框,将对象拖到SQL框 .

你还可以插入数据源引用、插入宏、嵌入计算和嵌入过滤器。

从列表中选择操作并单击确定。

Query Information
Purpose Action
粒度控制 行列式选项卡
测试查询主题 Test Tab
查看 SQL 查询信息选项卡
从数据源查看系统表 显示系统对象复选框

Edit SQL


当你编辑任何关系数据库源、创建或查询关系数据库时,会在后台使用 SQL。你可以使用以下选项:

  • 认知 SQL
  • 本机 SQL
  • 通过 SQL

要编辑模型查询主题的 SQL,请从查询信息选项卡复制 SQL 并粘贴到新的数据源查询主题。可以将模型查询主题转换为数据源查询主题。

  • 单击数据源查询主题和 操作菜单 → 编辑定义 .
  • 单击 SQL 按钮,拖动对象或键入所需的 SQL。
  • 单击确定。
Edit SQL

更改 SQL 类型

你可以在定义数据源查询主题时选择要使用的 SQL 类型。在考虑 SQL 类型时应考虑这些因素:

SQL Type 优势 坏处
认知 SQL

提高性能

处理所有支持的数据库

不支持非标准 SQL
本机 SQL

性能优化

特定于数据库

SQL 不适用于不同的数据库。

你不能使用数据源不支持子查询的 SQL。

通过 SQL 数据库支持的任何 SQL

框架没有选项

经理进行优化

自动执行

另请注意,无法根据 OLAP 数据源更改查询主题的 SQL 类型。

要更改 SQL 类型,请转到要更改的查询主题。

Go to 操作菜单 → 编辑定义并转到查询信息按钮 .

SQL Settings Tab

Go to 选项 → SQL 设置选项卡 .

要更改 SQL 的类型,请单击 SQL 类型列表。然后,单击确定。