- Cognos 教程
- Cognos - 首页
- 数据仓库
- 数据仓库 - 概述
- 数据仓库 - 模式
- ETL & 报表工具
- Cognos 基础
- Cognos - 简介
- Cognos - 组件和服务
- Cognos - 连接
- Cognos - 包
- Cognos - Framework Manager
- 元数据模型中的关系
- 查询工作室
- Cognos - 查询工作室
- Cognos - 即席报表
- Cognos - 报表类型
- Cognos - 创建报表
- Cognos - 打开现有报表
- Cognos - 向报表添加数据
- Cognos - 保存报表
- Cognos - 运行报表
- Cognos - 打印报表
- 报表工作室
- Cognos - 报表工作室
- Cognos - 报表模板
- Cognos - 列表报表
- Cognos - 交叉表报表
- Cognos - 创建图表
- Cognos - 报表函数
- Cognos - 报表验证
- Cognos - 使用选项运行报表
- Cognos - 报表管理
- Cognos - 过滤器
- Cognos - 自定义计算
- 分析工作室
- Cognos - 分析工作室
- Cognos - 创建分析
- Cognos - 保存分析
- Cognos - 打开现有分析
- 事件工作室
- Cognos - 事件工作室
- Cognos - 通知方法
- Cognos 有用资源
- Cognos - 快速指南
- Cognos - 有用资源
- Cognos - 讨论
Cognos - 元数据模型中的关系
关系用于在元数据模型中的多个对象上创建查询。关系可以是双向的,并且在没有创建关系的情况下,对象是独立的实体,在元数据模型中没有用途。
元数据模型中的每个对象都使用数据源中的主键或外键进行连接。您可以在元数据模型中创建或删除关系以满足业务需求。
存在不同的可能关系,其中一些是 -
一对一 - 当一个查询主题的一个实例与另一个实例相关联时。例如:每个客户都有一个客户 ID。
一对多 - 当一个查询主题的一个实例与多个实例相关联时,就会发生这种关系。例如:每个医生都有很多病人。
多对多 - 当一个查询主题的多个实例与多个实例相关联时,就会发生这种关系。例如:每个病人都有很多医生。
基数概念
它被定义为两个查询主题中每个主题的相关行的数量。基数以以下方式使用 -
- 星型模式中的循环连接
- 优化对数据源的访问
- 避免对事实数据进行双重计数
在使用关系数据库作为数据源时,可以考虑以下规则定义基数 -
- 主键和外键
- 匹配的查询项名称表示唯一索引的列
- 匹配的查询项名称
定义基数最常用的方法是使用主键和外键。要查看导入的关键信息,请右键单击查询主题→编辑定义。您可以从数据源导入多对多关系、可选关系和外部连接。
元数据模型中的关系表示法
在 Framework Manager 中,关系由Merise 表示法表示。此表示法的第一部分表示此关系的连接类型。
- 0..1 表示零个或一个匹配
- 1..1 表示一对一匹配
- 0..n 表示零个或多个匹配
- 1..n 表示一个或多个匹配
- 1 - 来自两个对象的所有匹配行的内部连接。
- 0 - 包括不匹配的项的来自两个对象的外部连接。
创建或修改关系
要创建关系或组合在元数据导入中未连接的逻辑相关对象。您可以手动创建对象之间的关系,也可以根据选定的条件自动定义对象之间的关系。
要创建关系,请使用 CTRL 键选择一个或多个查询项、主题或维度。然后转到操作菜单→创建关系。
如果这是一个有效的关系,Framework Manager 将创建到该关系的快捷方式。然后,您可以单击“确定”按钮。
在元数据导入后创建关系后,您还可以修改 Framework Manager 中的关系或基数。
要编辑关系,请单击一个关系,然后从操作菜单→单击编辑定义。
从关系表达式选项卡→选择查询项、基数和运算符。
要创建其他连接,请转到关系表达式选项卡→新建链接并定义新关系。
要测试此关系,请转到关系 SQL 选项卡→要返回的行→测试。
单击“确定”按钮。
创建关系快捷方式
关系快捷方式定义为指向现有关系的指针,并重用现有关系的定义。当您对源关系进行任何更改时,它们会在快捷方式中自动更新。关系快捷方式也用于解决查询主题之间模棱两可的关系。
每当您创建关系并且这两个条件都为真时,Framework Manager 都会询问您是否要创建关系快捷方式。
- 新关系的至少一端是快捷方式。
- 原始对象之间存在关系。
转到操作菜单→创建关系。
如果这是一个有效的关系,Framework Manager 将创建到该关系的快捷方式。单击“是”。将显示一个列表,其中包含所有关系,其中一端是模型对象,另一端是另一个模型对象或指向另一个模型对象的快捷方式。
单击“确定”。
创建查询主题
查询主题定义为具有内在关系的查询项集。查询主题可用于使用 Framework Manager 自定义它们检索的数据。
以下是 Framework Manager 中的查询主题类型 -
数据源查询主题 - 这些基于 SQL 语句定义的关系元数据,并且在您将元数据导入模型时会为每个表和视图自动创建。
注意 - 数据源查询主题一次仅引用来自一个数据源的数据,但您可以直接编辑定义检索数据的 SQL 以编辑查询主题。
模型查询主题 - 它们不是直接从数据源创建的,而是基于其他查询主题或维度中定义的查询项。使用模型查询主题,它允许您创建更抽象和更符合业务的数据源视图。
存储过程查询主题 - 当从关系数据源导入过程时创建。IBM Cognos Framework Manager 仅支持用户定义的存储过程,不支持系统存储过程。
如何创建数据源查询主题?
从操作菜单→创建→查询主题。
输入新查询主题的名称。
单击数据源→确定以打开新的查询主题向导。
按照步骤操作,直到出现“完成”按钮→完成
右键单击查询主题→编辑定义。单击SQL 选项卡→可用数据库对象框,将对象拖到 SQL 框。
您还可以插入数据源引用、插入宏、嵌入计算和嵌入过滤器。
从列表中选择操作,然后单击“确定”。
目的 | 操作 |
---|---|
粒度控制 | 决定因素选项卡 |
测试查询主题 | 测试选项卡 |
查看 SQL | 查询信息选项卡 |
查看数据源中的系统表 | 显示系统对象复选框 |
编辑 SQL
当您编辑任何关系数据库源、创建或查询关系数据库时,SQL 会在后台使用。您可以使用以下选项 -
- Cognos SQL
- 本地 SQL
- 直通 SQL
要编辑模型查询主题的 SQL,请从查询信息选项卡复制 SQL 并粘贴到新的数据源查询主题中。可以将模型查询主题转换为数据源查询主题。
- 单击数据源查询主题,然后操作菜单→编辑定义。
- 单击 SQL 按钮,拖动对象或键入所需的 SQL。
- 单击“确定”。
更改 SQL 类型
在定义数据源查询主题时,您可以选择要使用的 SQL 类型。在考虑 SQL 类型时,应考虑以下因素 -
SQL 类型 | 优点 | 缺点 |
---|---|---|
Cognos SQL | 性能提升 适用于所有支持的数据库 |
不支持非标准 SQL |
本地 SQL | 性能优化 特定于数据库 |
SQL 不适用于不同的数据库。 您不能使用数据源不支持的 SQL 进行子查询。 |
直通 SQL | 数据库支持的任何 SQL | Framework 没有选项 Manager 自动优化 性能 |
另请注意,无法更改基于 OLAP 数据源的查询主题的 SQL 类型。
要更改 SQL 类型,请转到您要更改的查询主题。
转到操作菜单→编辑定义并转到查询信息按钮。
转到选项→SQL 设置选项卡。
要更改 SQL 类型,请单击 SQL 类型列表。然后,单击“确定”。