壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 322|回复: 0

2.3.6.2 基于已有查询主题的查询主题

[复制链接]
发表于 2012/3/16 15:06:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
模型查询主题是直接基于已有查询主题的查询项或维度建立,而不是从一个数据源。使用它,建模者可以创建一个更结合业务理论的数据库视图架构。通常,我们会将它放置到business view(业务视图)版块,直接用于报表开发引用。模型查询主题可以称之为 数据库视图的升华和改造。模型查询主题在日常报表开发、建模时广泛使用,由于通常我们从数据库导入的元数据及其关系是及其错综复杂的,通常是一些网状关系图。若是直接取自业务数据库,若符合3NF,则一般为标准化数据结构。在组织模型和简化视图时候,模型查询主题就发挥了强大的作用:
1、重复使用已存在模型里的复杂查询SQL语句
2、引用多个查询对象的查询项到一个查询主题进行符合业务对象需求的组合
3、也可以引用不同数据源的查询主题到一个查询主题
创建步骤
Step1、右键namespace、folder->创建查询主题
Step2、输入查询主题名称、选择 ‘Model query subjects’


(图2.3.6.2 新建模型查询主题)
Step3、在Query Subject Definition页面->在Available Model Objects框里 引入 查询项->OK
(图2.3.6.2 从多个表引入查询项)
在这之前,必须为product_line,product_type,product建立关联关系,创建模型查询主题之后还须检查query items的属性(请参考2.3 检测和设计导入的元数据)
Step4、切换到Test页面,测试是否能取出数据
(图2.3.6.2 测试新建模型查询主题)
Step5、切换到Query Information里查看生成的SQL语句
(图 2.3.6.2 查看最小化生成的Cognos SQL)
这里FM默认按Minimized 生成SQL语句,当然你也可以修改生成SQL的方式为 As View。
关于最小化生成SQL
将多个主题合并时,FM将仅包含最小集合的表和关联去取所选查询项的值
  关于As View生成SQL
若选择As View,FM生成的查询将包含了所有查询主题信息,且是内嵌视图模式。比如我们需要每次都返回同样值的表数据 记录行数。例如,从Great Outdoors sales数据库导入 product_type、product_line、product 表,由于业务需要,组合成星型模式,我们需要将这三个产品相关的数据表合成为一个维度信息查询主题,如下图
(图2.3.6.2 跟产品信息相关的标准化结构表)
合并后生成的Cognos SQL语句,请看(图2.3.6.2 查看最小化生成Cognos SQL)。
当然若遇到特殊需要,您不想让FM最小化生成SQL,则可以更改生成SQL的类型:切换到’Query Information’tab页->点击’Options->SQL Setting->Generate SQL 为 As View->OK,如下图:
(图2.3.6.2 修改生成SQL类型)
那么再查询Query Information查看生成的Cognos SQL语句,如下

(图2.3.6.2 As View生成的Cognos SQL)
同时,Framework Manager也会根据数据库类型生成相应的内嵌视图的查询 Native SQL
  通过上面的陈述相比两种SQL类型,Minimized的性能显然远超过As View。前者是Framework Manager动态生成查询SQL语句的基本功能,显然很大程度上改进了性能和运行速度。
  通过今天的讲解,想必读者对模型查询主题和SQL类型有了一定的了解,SQL类型是Framework Manager的基本功能,也是最常用的特征。无论使用哪一种类型,目的只有一个:改进模型性能和数据准确性。然而,提高模型查询的性能不仅限于这些,比如Procedure,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 10:30 , Processed in 0.014127 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表