Cognos 模型关系
关系用于在元数据模型中的多个对象上创建查询。关系可以是双向的,无需创建关系,对象是独立的实体,元数据模型中没有用。
元数据模型中的每个对象都使用数据源中的主键或外键连接。您可以在元数据模型中创建或删除关系以满足业务需求。
可能存在不同的关系,其中一些是-
一对一-当一个查询主题的实例与另一个实例相关时。例如:每个客户都有一个客户 ID。
一对多-当查询主题的一个实例与多个实例相关时,就会发生这种关系。例如:每个医生都有很多病人。
多对多-当查询主题的许多实例与多个实例相关时,就会发生这种关系。例如:每个病人都有很多医生。
基数概念
它被定义为两个查询主题中的每一个的相关行数。基数以下列方式使用-
星型模式中的循环连接
优化数据源访问
避免重复计算事实数据
当使用关系数据库作为数据源时,可以考虑以下规则来定义基数-
主键和外键
匹配查询项名称表示唯一索引的列
匹配查询项名称
定义基数的最常见方法是使用主键和外键。要查看导入的关键信息,请右键单击查询主题 → 编辑定义。您可以从数据源导入多对多关系、可选关系和外部联接。
元数据模型中的关系符号
在框架管理器中,关系由
Merise 符号 表示。此符号的第一部分表示此关系的连接类型。
0..1 代表零个或一个匹配
1..1 代表一对一匹配
0..n 代表零或没有匹配
1..n 代表一个或多个匹配
1-来自两个对象的所有匹配行的内部连接。
0-与来自两者的所有对象的外部连接,包括不匹配的项目。
创建或修改关系
创建关系或组合未加入元数据导入的逻辑相关对象。您可以手动创建对象之间的关系,也可以根据所选条件自动定义对象之间的关系。
要创建关系,请使用 CTRL 键选择一个或多个查询项目、主题或维度。然后转到
操作菜单 → 创建关系。
如果这是一个有效的关系,框架经理想要创建关系的快捷方式。然后,您可以单击"确定"按钮。
在元数据导入后创建关系后,您还可以在框架管理器中修改关系或基数。
要编辑关系,请单击关系,然后从
操作菜单 → 单击编辑定义。
从
关系表达式选项卡 → 选择查询项、基数和运算符。
要创建额外的联接,请转到
关系表达式选项卡 → 新建链接并定义新关系。
要测试此关系,请转到
关系 SQL 选项卡 → 要返回的行 → 测试。
点击确定按钮。
创建关系快捷方式
关系快捷方式被定义为指向现有关系和重用现有关系定义的指针。当您对源关系进行任何更改时,它们会在快捷方式中自动更新。关系快捷方式也用于解决查询主题之间的歧义关系。
每当您创建关系并且这两个条件都为真时,框架管理器会询问您是否要创建关系快捷方式。
新关系的至少一端是一条捷径。
原始对象之间存在关系。
转到
操作菜单 → 创建关系。
如果这是一个有效的关系,框架经理想要创建关系的快捷方式。单击是。将出现一个包含所有关系的列表,其中一端是模型对象,另一端是另一个模型对象或另一个模型对象的快捷方式。
点击确定。
创建查询主题
查询主题被定义为一组具有内在关系的查询项。查询主题可用于自定义它们使用框架管理器检索的数据。
以下是框架管理器中的查询主题类型-
数据源查询主题-这些基于 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 |
Native SQL |
性能优化
特定于数据库
|
SQL 不适用于不同的数据库。
您不能使用数据源不支持子查询的 SQL。
|
Pass Through SQL |
任何 SQL 支持由数据库移植 |
无框架选项
管理器优化
性能自动
|
另请注意,无法根据 OLAP 数据源更改查询主题的 SQL 类型。
要更改 SQL 类型,请转到要更改的查询主题。
转到
操作菜单→编辑定义并转到查询信息按钮。
转到
选项 → SQL 设置选项卡。
要更改 SQL 的类型,请单击 SQL 类型列表。然后,单击"确定"。