Cognos - 元数据模型中的关系

关系用于在元数据模型中创建对多个对象的查询。关系可以是双向的,如果不创建关系,对象就是在元数据模型中没有用的单独实体。

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

可能存在不同的关系,其中一些是 −

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

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

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

基数概念

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

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

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

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

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

元数据模型中的关系符号

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

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

创建或修改关系

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

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

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

F_SALES

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

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

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

关系定义

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

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

关系 SQL 选项卡

单击"确定"按钮。

创建关系快捷方式

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

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

  • 新关系至少有一端是快捷方式。
  • 原始对象之间存在关系。

转到操作菜单 → 创建关系

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

单击"确定"。

创建查询主题

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

以下是框架管理器中的查询主题类型 −

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

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

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

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

New QuerySubject

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

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

操作菜单

输入新查询主题的名称。

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

数据源

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

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

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

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

Query Information
目的 操作
粒度控制 决定因素选项卡
测试查询主题 测试选项卡
查看 SQL 查询信息选项卡
从数据源查看系统表 显示系统对象复选框

编辑 SQL

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

  • Cognos SQL
  • 本机 SQL
  • 传递 SQL

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

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

更改 SQL 类型

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

SQL 类型 优点 缺点
Cognos SQL

性能提升

适用于所有支持的数据库

不支持非标准 SQL
本机 SQL

性能优化

特定于数据库

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

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

传递 SQL 数据库支持的任何 SQL

没有框架选项

管理器优化

自动性能

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

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

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

SQL 设置选项卡

转到选项 → SQL 设置选项卡

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