Cognos IQD文件结构及规则.doc
文本预览下载声明
利用Cognos Transformer工具创建模型文件的时候,首先需要加载数据源,并且OLAP的时候,也需要大量时间从数据仓库中读取数据,因此,建模的时候务必要对数据源做好充分的准备。Cognos Transformer工具支持多种数据源,这里我们仅以其常用的IQD文件做说明。以下是一个简单的IQD文件的源文
COGNOS QUERYSTRUCTURE,1,1DATABASE,NEDWTITLE,[NEDW].[F_SEM_Response]BEGIN SQL{SELECT ???????? F_SEM_Response.ReportDate AS ReportDate, ???????? F_SEM_Response.CampaignID AS CampaignID, ???????? F_SEM_Response.Responses AS HBX_Response, ???????? D_SEM_Campaign_List.CampaignName AS CampaignName, ???????? D_SEM_Campaign_List.Type_1 AS Type_1, ???????? D_SEM_Campaign_List.Type_2 AS Type_2FROM NEDW.dbo.F_SEM_Response F_SEM_Response LEFT OUTER JOIN NEDW.dbo.D_SEM_Campaign_List D_SEM_Campaign_List on F_SEM_Response.CampaignID = D_SEM_Campaign_List.CampaignIDWHERE F_SEM_Response.ReportDate=2007-05-01}END SQLCOLUMN,0,ReportDate COLUMN,1,CampaignIDCOLUMN,2,HBX_ResponseCOLUMN,3,CampaignNameCOLUMN,4,Type_1COLUMN,5,Type_2
IQD文件可以使用Cognos提供的Impromptu或FrameWork Manager工具来制作,但与上文的IQD文件相比,用Impromptu或FrameWork Manager工具生成的IQD文件相对烦琐,达不到最优化的目的,影响数据读取速度,因此,不建议用Impromptu或FrameWork Manager工具生成IQD文件,而可以直接在{}内书写标的SQL语句,Cognos不会对{}中的sql语句进行解晰或校验,而是直接传递给连接的数据库引擎,数据库本身执行解晰、优化及查询计划。
为了能够清晰的了解IQD文件的结构,现对其说明如下:COGNOS QUERYCOGNOS是固定关键字,QUERY是IQD文件的类型,Cognos在解晰的时候将会严格解晰这两个关键字,因此,只要是连接数据库,这两个关键字是固定的。STRUCTURE,1,1STRUCTURE是固定关键字,不可改变,后面的数字不做严格要求。DATABASE,NEDWDATABASE是固定关键字,不可改变,NEDW是OLAP Server需要连接的数据库,此数据库的连接串必须包含在Cognos.ini(或者在CS7Gateways\bin\cs7g.ini下,针对8.4.27版本)文件中,Cognos.ini文件的配置请参考/jiesin/archive/2007/04/06/702854.html内容。TITLE,[NEDW].[F_SEM_Response]TITLE是固定关键字,不可改变,后面的字符串不做严格要求。BEGIN SQL{标准SQL脚步本}END SQLCOLUMN,0,ReportDate输出栏位信息。值得注意的是输出栏位的索引值是从0开始,其输出的顺序与字段名称没有关系,而是由SQL语句中字段排列的顺序。如果SQL语句中输出的栏位多于IQD文件中的输出数量,也不会输出多余的字段,反之亦然。例如:(1)COGNOS QUERYSTRUCTURE,1,1DATABASE,NEDWTITLE,[NEDW].[F_SEM_Response]BEGIN SQL{SELECT ???????? F_SEM_Response.ReportDate AS ReportDate, ???????? F_SEM_Response.CampaignID AS CampaignID, ???????? F_SEM_Response.Responses AS HBX_Response, ???????? D_SEM_Campaign_List.
显示全部