Query Subjects是一组由内在关系Query items的集合。通常情况下我们通过修改Query Subjects实现优化和自定义数据抽取,比如修改 filers、calculations(计算项),而修改Query Subjects会依据不同的类型有所不同:
口 (基于数据源)Data source query subjects
口 (基于模型已有查询主题)Model query subjects
口 (存储过程)Stored procedure query subjects
2.3.6.1 基于数据源的查询主题
基于关系型元数据的查询主题是一组从数据源检索数据的SQL语句定义的,当您导入元数据(请参考 2.2.6 导入元数据) 到Framework Manager后,系统会自动为你导入的 数据表、数据视图创建query subject。查询主题直接从单个数据源里引用数据,您可以直接修改它(Edit Definition)的SQL语句。现在按照下列步骤创建基于数据源的Query Subject:
Step1:右键包含查询主题的namespace或folder>Creat Query Subject
Step2:输入名称 > 选择 'Data Source query subjects’> OK
Step3:选择数据源
对于高级用户,或者对业务非常了解时,您也可以取消 ‘Run database query subject wizard’,直接输入SQL语句编写
Step4:引入所需查询项目
Step5:右键导入的Query Subject>Edit Definition>Test
‘Total Rows’ 按钮则返回一条记录,显示该Query Subject的总记录条目数。
‘Options’设置相关的参数对Query Subject进行优化,如下图
Test Setting的设置并不能起到优化的作用,但可以通过修改SQL Setting优化查询主题,如生成SQL的类型:Cognos 通用SQL、Native 本地SQL、Pass-through SQL;生成SQL的方式:As View、Minimized。
默认情况下,Framework Manager生成Cognos SQL通用查询语句,在Query Information里可查看SQL或XML信息,如下图
生成Cognos SQL的同时,FM还生成了基于查询对象数据库语法的SQL语句,图中所示为DB2语法。
XML则记录了SQL语句和结果集,有时您可以将它作为XML数据源,如下图
引入Query Subject后,下一步须检查Query Subject的属性,如名称、语言、安全设置等;Query Items的Usage、Regular Aggregate属性(请参考 2.3 检测和设计导入的元数据)。
本节主要讲解了Framework Manager的创建基于数据源的查询主题的基本步骤、Query Subject的设置选项,其中有涉及到 Minimized、As View的SQL生成方式,该设置有何用处呢?请看下一节,2.3.6.2 基于已有查询主题的查询主题。