Cognos - 元数据模型中的关系


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

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

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

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

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

  • 多对多- 当查询主题的许多实例与多个实例相关时,就会发生这种关系。例如:每个病人有很多医生。

基数概念

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

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

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

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

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

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

在框架管理器中,关系由Merise 表示法表示。该符号的第一部分表示该关系的连接类型。

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

创建或修改关系

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

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

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

F_销售

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

要编辑关系,请单击关系,然后从“操作”菜单 → 单击“编辑定义”

“关系表达式”选项卡 → 选择“查询项”、“基数”和“运算符”

关系定义

要创建额外的联接,请转到关系表达式选项卡 → 新建链接并定义新关系

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

关系 SQL 选项卡

单击“确定”按钮。

创建关系快捷方式

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

每当您创建关系并且这两个条件都成立时,框架管理器会询问您是否要创建关系快捷方式。

  • 新关系至少有一个目的是一条捷径。
  • 原始对象之间存在关系。

转到“操作”菜单→“创建关系”

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

单击“确定”。

创建查询主题

查询主题被定义为具有内在关系的一组查询项。查询主题可用于自定义它们使用框架管理器检索的数据。

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

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

    - 数据源查询主题一次仅引用一个数据源中的数据,但您可以直接编辑定义检索数据的 SQL 来编辑查询主题。

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

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

新查询主题

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

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

操作菜单

输入新查询主题的名称。

单击“数据源”→“确定”打开新的“查询主题”向导

数据源

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

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

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

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

查询信息
目的 行动
粒度控制 行列式选项卡
测试查询主题 测试选项卡
查看 SQL 查询信息选项卡
从数据源查看系统表 显示系统对象复选框

编辑SQL

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

  • 科诺斯 SQL
  • 原生 SQL
  • 通过SQL

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

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

更改 SQL 类型

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

SQL类型 优势 坏处
科诺斯 SQL

提高性能

适用于所有支持的数据库

不支持非标准 SQL
原生 SQL

性能优化

特定于数据库

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

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

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

没有框架选项

经理优化

自动表现

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

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

转到“操作”菜单→“编辑定义”,然后转到“查询信息”按钮

SQL 设置选项卡

转至选项 → SQL 设置选项卡

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