Cognos - 元数据模型中的关系



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

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

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

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

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

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

基数概念

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

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

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

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

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

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

在 Framework Manager 中,关系由Merise 表示法表示。此表示法的第一部分表示此关系的连接类型。

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

创建或修改关系

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

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

如果这是一个有效的关系,Framework Manager 将创建到该关系的快捷方式。然后,您可以单击“确定”按钮。

F_SALES

在元数据导入后创建关系后,您还可以修改 Framework Manager 中的关系或基数。

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

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

Relationship Defination

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

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

Relationship SQL tab

单击“确定”按钮。

创建关系快捷方式

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

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

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

转到操作菜单→创建关系

如果这是一个有效的关系,Framework Manager 将创建到该关系的快捷方式。单击“是”。将显示一个列表,其中包含所有关系,其中一端是模型对象,另一端是另一个模型对象或指向另一个模型对象的快捷方式。

单击“确定”。

创建查询主题

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

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

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

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

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

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

New QuerySubject

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

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

Action Menu

输入新查询主题的名称。

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

Data Source

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

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

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

从列表中选择操作,然后单击“确定”。

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

编辑 SQL

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

  • Cognos SQL
  • 本地 SQL
  • 直通 SQL

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

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

更改 SQL 类型

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

SQL 类型 优点 缺点
Cognos SQL

性能提升

适用于所有支持的数据库

不支持非标准 SQL
本地 SQL

性能优化

特定于数据库

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

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

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

Framework 没有选项

Manager 自动优化

性能

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

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

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

SQL Settings Tab

转到选项→SQL 设置选项卡

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

广告