Cognos - 元数据模型中的关系

关系用于在元数据模型中的多个对象上创建查询.关系可以是双向的,无需创建关系,对象是在元数据模型中没有用的单个实体.

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

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

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

  • 一对多 : 当查询主题的一个实例与多个实例相关时,会发生此关系.例如:每位医生都有很多患者.

  • 多对多 : 当查询主题的许多实例与多个实例相关时,会发生此关系.例如:每位患者都有很多医生.

基数概念

它被定义为两个查询主题中每个主题的相关行数.基数用于以下方式 :

  • 星型模式中的循环连接

  • 优化访问权限数据源

  • 避免重复计算事实数据

使用Relational数据库作为数据源时,基数可以考虑以下规则并定义减去;

  • 主键和外键

  • 匹配查询项名称代表唯一索引列

  • 匹配查询项名称

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

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

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

  • 0..1表示零或一个匹配

  • 1..1代表一对一的匹配

  • 0..n代表零或无匹配

  • 1. .n代表一场或多场比赛

  • 1 : 内部联接,包含来自两个对象的所有匹配行.

  • 0 : 与两者中的所有对象的外部联接,包括不匹配的项目.

创建或修改关系

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

要创建关系,请使用CTRL键选择一个或多个查询项,主题或维.然后转到 Action Menu → 创建关系.

如果这是一个有效的关系,则Framework Manager希望创建该关系的快捷方式.然后,您可以单击"确定"按钮.

F_SALES

一旦你在元数据导入后创建关系,您还可以在Framework管理器中修改关系或基数.

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

关系表达式选项卡 → 选择查询项目,基数和操作员.

关系定义

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

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

关系SQL选项卡

单击确定按钮.

创建关系快捷方式

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

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

  • 新关系的至少一端是快捷方式.

  • 原始关系之间存在关系对象.

转到操作菜单 → 创建关系.

如果这是一个有效的关系,Framework Manager想要创建关系的快捷方式.单击是.将显示所有关系的列表,其中一端是模型对象,另一端是另一个模型对象或另一个模型对象的快捷方式.

单击"确定".

创建查询主题

查询主题被定义为一组具有固有关系的查询项.查询主题可用于自定义使用Framework Manager检索的数据.

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

  • 数据源查询主题 : 它们基于SQL语句定义的Relational元数据,并在将元数据导入模型时自动为每个表和视图创建.

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

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

  • 存储过程查询主题&减号;从Relational数据源导入过程时会创建它们. IBM Cognos Framework Manager仅支持用户定义的存储过程,并且不支持系统存储过程.

New QuerySubject

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

来自 Actions Menu → 创造 → 查询主题.

操作菜单

输入名称一个新的查询主题.

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

数据源

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

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

您还可以插入数据源引用,插入宏,嵌入计算并嵌入过滤器.

从列表中选择操作,然后单击"确定".

查询信息

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

编辑SQL

编辑任何Relation数据库源时,创建或查询Rela在数据库中,然后在后台使用SQL.您可以使用以下选项 :

  • Cognos SQL

  • Native SQL

  • 通过SQL

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

  • 单击数据源查询主题和操作菜单 编辑定义.

  • 单击SQL按钮,拖动对象或键入所需的SQL.

  • 单击"确定".

编辑SQL

更改SQL的类型

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

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

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

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

SQL设置选项卡

转到选项 →  "SQL设置"选项卡.

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

SQL类型优势缺点
Cognos SQL

提高性能

处理所有支持的数据库

不支持非标准SQL
原生SQL

性能优化

特定于数据库

SQL不能在不同的数据库上运行.

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

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

没有框架选项

经理自动优化

绩效