基于IBM Cognos的高级报表制作技巧
- 格式:doc
- 大小:1.07 MB
- 文档页数:23
IBM Cognos BI 最佳实践: 报表设计高级提示和提示性能调优1 简介1.1 目的本文档旨在向报表创建者展示如何处理第一个提示页面性能低下的问题。
1.2 适用范围这里的信息只适用于 IBM Cognos 8.2 BI。
2 第一个提示页面的性能当用户运行包含多个复杂查询的报表时,常常需要等待很长时间才会看到第一个提示页面出现。
例如,在一个客户场景中,报表用了 40 秒才显示出第一个提示页面。
可以通过两方面的努力改进第一个提示页面的性能:1)减少提示调节(prompt reconciliation)的时间2)减少为提示控件获取数据的时间3 提示调节3.1 什么是提示调节?提示调节确保参数定义与参数的用法匹配。
在筛选和计算中定义参数。
在提示中使用定义好的参数。
参数定义包含几个关键项:∙基数–可以提供给参数的输入值的数量。
∙离散性–决定输入值是定义单一值,还是定义一个值范围。
∙可选性–决定参数在筛选或计算的上下文中是必需的,还是可选的。
∙数据类型–为了与引用的其他数据项或常量匹配,在筛选或计算的上下文中期望的数据类型。
数据类型可以是 Numeric、Date、Time、Date Time、Interval、String 或 Member Unique Name (MUN) 。
3.1.1 筛选表达式请考虑可选的筛选:[Order number] = ?pOrderNumber?通过分析这个筛选,可以判断出参数 pOrderNumber 的一些性质:基数:单一值∙等号表明只能使用单一值。
∙使用多个值需要适当的操作符,比如“in”:[Order number] in ?pOrderNumber?离散性:简单值∙等号表明了这一点。
∙值的范围需要适当的操作符,比如“in_range”:[Order number] in_range ?pOrderNumber?o如果一个参数在多个上下文中使用,那么对于是范围值的参数,所有引用都必须是范围值。
IBM Cognos BI实践之报表设计高级提示与提示性能调优(doc 25页)更多企业学院:《中小企业管理全能版》183套讲座+89700份资料《总经理、高层管理》49套讲座+16388份资料《中层管理学院》46套讲座+6020份资料《国学智慧、易经》46套讲座《人力资源学院》56套讲座+27123份资料《各阶段员工培训学院》77套讲座+ 324份资料《员工管理企业学院》67套讲座+ 8720份资料《工厂生产管理学院》52套讲座+ 13920份资料《财务管理学院》53套讲座+ 17945份资料《销售经理学院》56套讲座+ 14350份资料《销售人员培训学院》72套讲座+ 4879份资料更多企业学院:《中小企业管理全能版》183套讲座+89700份资料《总经理、高层管理》49套讲座+16388份资料《中层管理学院》46套讲座+6020份资料《国学智慧、易经》46套讲座《人力资源学院》56套讲座+27123份资料《各阶段员工培训学院》77套讲座+ 324份资料《员工管理企业学院》67套讲座+ 8720份资料《工厂生产管理学院》52套讲座+ 13920份资料《财务管理学院》53套讲座+ 17945份资料《销售经理学院》56套讲座+ 14350份资料《销售人员培训学院》72套讲座+ 4879份资料更多企业学院:《中小企业管理全能版》183套讲座+89700份资料《总经理、高层管理》49套讲座+16388份资料《中层管理学院》46套讲座+6020份资料《国学智慧、易经》46套讲座《人力资源学院》56套讲座+27123份资料《各阶段员工培训学院》77套讲座+ 324份资料《员工管理企业学院》67套讲座+ 8720份资料《工厂生产管理学院》52套讲座+ 13920份资料《财务管理学院》53套讲座+ 17945份资料《销售经理学院》56套讲座+ 14350份资料《销售人员培训学院》72套讲座+ 4879份资料IBM Cognos BI 最佳实践: 报表设计高级提示和提示性能调优1 简介1.1 目的本文档旨在向报表创建者展示如何处理第一个提示页面性能低下的问题。
Cognos自学系列3-AS报表开发简单步骤1、创建IQD:利用FM创建或自己按格式写;格式:COGNOS QUERYSTRUCTURE,1,1DA TABASE,PP-db 【此处的PP-db为Cognos配置的数据源的逻辑名,与第3步中cognos.ini 中Databases需一致。
】DATASOURCENAME,C:\CogExamples\PPpractice\Source\Outdoors 示例.imrTITLE,Outdoors示例.imrBEGIN SQLselect T1."ORDER_DT" as c1,T2."PROD_LINE" as c2from "C_ORDER" T1,"C_PRODUCT" T2where (T1."ORDER_NO" = T2."ORDER_NO") and (T1."PROD_NO" = T2."PROD_NO")END SQLCOLUMN,0,订购日期COLUMN,1,产品系列2、发布IQD到本地;3、修改cognos.ini,配置数据源:登录Cognos,启动—IBM Congnos Connection—配置—数据库连接,找到需要连接的数据源,查看数据源连接得到连接字符串。
进入cognos\c84_tr\CS7Gateways\bin,修改cs7g.ini.将安装路径下../cognos/ cognos.ini文件用文本编辑器打开,将连接字符串粘贴其中,并将数据源的逻辑名加在连接字符串的最前面,且加入一个“=”4、打开Transformer,New Model-Data source type选择Impromptu Query Definition,导入IQD文件地址,下一步至完成。
cognos报表的开发心得Cognos报表的开发心得在Cognos报表的开发过程中,我积累了一些心得体会,以下是我分享的一些经验和技巧。
一个好的报表应该具备清晰的结构和易读的布局。
在设计报表时,我通常会将报表按照不同的主题进行分类,并使用恰当的标题和段落来组织报表内容。
这样不仅可以使报表的结构更加清晰,也方便用户快速定位所需信息。
在报表的开发过程中,我会尽量避免过多的文字和复杂的公式。
毕竟,报表的主要目的是展示数据,而不是阅读大段的文字。
因此,我会选择简洁明了的语言来描述数据,避免使用过多的专业术语和复杂的公式,以确保报表的易读性。
在设计报表时,我会尽量避免重复的问题和内容。
重复的问题和内容不仅会浪费用户的时间,也会降低报表的质量和可读性。
因此,我会仔细审查报表的内容,确保没有重复的问题和信息,并及时更新和修正报表中的错误和歧义信息。
一个好的报表还应该具备准确严谨的内容和丰富的词汇。
在编写报表内容时,我会尽量使用准确的词汇和语句,避免歧义和错误信息的出现。
同时,我也会努力提升自己的词汇量,以便在表达数据和观点时更加丰富和准确。
在Cognos报表的开发过程中,我还注意到一些技巧和注意事项。
首先,我会充分利用Cognos提供的各种功能和工具,例如数据透视表、图表和交互式报表等,来使报表更加生动和直观。
其次,我会注意数据的准确性和一致性,确保报表中的数据是正确的,并保持与其他报表的一致性。
此外,我也会定期对报表进行维护和更新,及时修复报表中的错误和问题。
总结起来,Cognos报表的开发需要注意结构清晰、易读布局,避免过多文字和复杂公式,避免重复问题和内容,准确严谨并丰富词汇。
同时,还需要充分利用Cognos提供的功能和工具,注意数据的准确性和一致性,并定期进行维护和更新。
通过这些经验和技巧,我相信可以开发出高质量的Cognos报表,为用户提供更好的数据分析和决策支持。
报表制作:framework manager:1。
组织元数据2。
设置参数注意:时间参数的格式report studio:1。
表头制作【列表,交叉表】2。
汇总行【列表,交叉表】3。
查询计算-》设置报表日期;截取字符3。
布局计算使用-》取单元格值5。
聚合使用-》单元格使用布局计算后,不能使用汇总,必须用聚合4。
增加列,其单元格值依赖其他字段值。
6。
取单元格的最大值。
1.FrameWork中组织报表所需要的数据FrameWork用来组织报表所需要的元数据。
1.1 新建一个工程并导入原始数据打开Framework,从菜单“File”中选择“new project”,输入工程名字和保存路径:点击“ok“,弹出界面选择”中文“:点击“ok“,选择”data source”:点击“next“,选择我们建立的数据源:点击“next”,这时候要稍微等一会,选择我们要的原始数据表或者视图[本例使用视图]:点击“next”-> “import”->“finish”.目标界面如图:到此,我们已经导入了我们所有需要的原始数据。
1.2 组织元数据举例:设定取数范围。
说明:本小节可以直接跳过而不会影响其他章节阅读。
假设我们报表是要显示视图V_PDT_MERCH_SUM中的一个日期范围的数据。
我们设定两个参数来指定这个起止的日期。
步骤如下:单击包下面的V_PDT_MERCH_SUM,右键中选择“Edit Definition”:选择“filter”页,点击右下角“add”来添加filter:添加一个参数,并添加其表达式。
我们在这里设置一个起始时间参数“startDate”:同理再设置一个结束时间参数“endDate”:点击“ok”返回。
设置参数完毕界面如图:我们可以测试结果数据了:选择“TEST”页,点击“Test Example”如果设置有参数则会有弹出页面要求输入参数值,注意日期输入格式,如图:点击“ok“可以查看结果数据。
IBMCognosBI最佳实践报表设计高级提示和提示性能调优1 简介1.1 目的本文档旨在向报表创建者展示如何处理第一个提示页面性能低下的问题。
1.2 适用范围这里的信息只适用于 IBM Cognos 8.2 BI。
2 第一个提示页面的性能当用户运行包含多个复杂查询的报表时,常常需要等待很长时间才会看到第一个提示页面出现。
比如,在一个客户场景中,报表用了 40 秒才显示出第一个提示页面。
能够通过两方面的努力改进第一个提示页面的性能:1)减少提示调节(prompt reconciliation)的时间2)减少为提示控件获取数据的时间3 提示调节3.1 什么是提示调节?提示调节确保参数定义与参数的用法匹配。
在筛选与计算中定义参数。
在提示中使用定义好的参数。
参数定义包含几个关键项:•基数–能够提供给参数的输入值的数量。
•离散性–决定输入值是定义单一值,还是定义一个值范围。
•可选性–决定参数在筛选或者计算的上下文中是必需的,还是可选的。
•数据类型–为了与引用的其他数据项或者常量匹配,在筛选或者计算的上下文中期望的数据类型。
数据类型能够是Numeric、Date、Time、Date Time、Interval、String 或者 Member Unique Name (MUN) 。
3.1.1 筛选表达式请考虑可选的筛选:[Order number] = ?pOrderNumber?通过分析这个筛选,能够推断出参数 pOrderNumber 的一些性质:基数:单一值•等号说明只能使用单一值。
•使用多个值需要适当的操作符,比如“in”:[Order number] in ?pOrderNumber?离散性:简单值•等号说明了这一点。
•值的范围需要适当的操作符,比如“in_range”:[Order number] in_range ?pOrderNumber?o假如一个参数在多个上下文中使用,那么关因此范围值的参数,所有引用都务必是范围值。
利用CognosReportStudio建立复杂企业报表简介:本文首先介绍了 Cognos Report Studio 的基本内容,然后利用一个项目管理复杂报表的实例介绍了 Report Studio 建立报表的步骤,同时实例中介绍了如何利用地图管理器来自定义地图文件继而利用该文件生成地图报表。
公布日期: 2010 年11 月25 日级别:初级前言Cognos 是面向企业的业务智能与绩效计划软件的全球领导者。
企业的解决方案能够通过实现计划与预算、绩效度量与监视、报表与分析等管理环节的关键步骤来提高调整企业绩效,而 Cognos 是唯一能够在一个完整的解决方案中为这些重要的管理活动提供支持的软件。
Cognos 解决方案通过与财务预算、规划与财务报表工具的整合,提供了企业报表、财务分析与记分卡工具。
Cognos 产品包含:Cognos8 BI、Cognos TM1、Cognos8 Go !、Cognos8 计划、Cognos Now、Cognos8 Controller 及 Cognos8 劳动力绩效软件。
Cognos BI 提供了报表、分析、记分卡、仪表盘及事件管理等方面的内容。
Cognos BI 具有三层架构:Web 服务层、应用层与数据层,各层间有网络防火墙进行分割。
如图 1:图 1.Cognos 框架结构图从结构图中能够看出,在三层架构的基础上为用户接口层,其分为基于 Web 与基于 Windows 的两种接口形式。
Cognos BI 具有基于 Windows 的五种组件:FrameWork Manager、Metric Designer、Transformer、Map Manager 及 Cognos8 Go Office! 与基于 Web 的七种用户组件接口,分别为:Cognos Connection、Cognos Administration、Query Studio、Report Studio、Analysis Studio、Event Studio 与 Metric Studio。
第一次接触cognos之第-5-部分-第一张复杂报表体验魅力Cognos BI 10 系列,第5 部分: 第一张复杂报表熟悉 Report StudioReport Studio 是用来制作更加精细的专有报表的工具。
IBM Cognos Report Studio 是一个基于 Web 的报表创建工具,专业报表创建者和开发人员可使用此工具针对多个数据库创建复杂的、具有多页并且可以进行多项查询的报表。
使用Report Studio,您可以创建公司所需的任何报表,如发票报表、财务报表以及每周销售和库存报表。
报表中可包含任意多个报表对象(例如图表、交叉表和列表)以及非BI 组件(例如图像、徽标及可链接至其它信息的动态嵌入应用程序)。
IBM Cognos Report Studio 用户界面有两个窗格、一个资源管理器栏和一个工作区,可以帮助您创建报表:可插入对象窗格包含您可以添加到报表的对象。
将对象拖动到工作区即可将它们添加到报表。
可插入对象窗格包含以下选项卡:o“源”选项卡包含来自为报表所选定的数据包中的项目,例如数据项和计算。
o“数据项”选项卡介绍了在报表中创建的查询。
o“工具箱”选项卡包含可以添加到报表的各种对象,例如文本和图形。
属性窗格列出您可以为报表中的对象设置的属性。
指定属性的值后,请按Enter 键、单击其它属性或保存报表以确保保存该值。
资源管理器栏上的按钮可以处理报表的不同部分:o将指针悬停在“页面资源管理器”按钮上可以转至特定的报表页面或提示页面。
o将指针悬停在“查询资源管理器”按钮上可以处理查询。
o将指针悬停在“条件资源管理器”按钮上可以处理变量。
工作区是设计报表的区域。
使用 Report Studio 可创建以下类型的报表:面向广泛读者的报表;存在足够长的时间来满足更改要求和数据的需求的报表;需要详细控制外观的报表。
您现在应该对 Report Studio 并不陌生:您在“第一次安装”中用Report Studio 制作了第一张简单报表;您在“第一张交互式离线报表”中用Report Studio 制作了第一张交互式离线报表;您在“第一个自助式设计分析”中用Report Studio 打开了您的第一个自助式设计分析。
CognosFramework操作记录:开发复杂报表设计⼀张数据库的表:TEST_001_ADDRESS表结构:编号姓名省市县公司部门职位id name sheng shi xian gs bm zw(1)打开Cognos Framework Manager,右键点击“andw”-->“物理视图”,创建-->查询主题,选择“数据源”,确定-->下⼀步,将左侧:数据库对象中:andwdb->ANDW->Tables的TEST_001_ADDRESS拖到右侧,下⼀步-->下⼀步-->下⼀步-->完成。
⽣成了⼀个名为“New Query Subject”的数据源,双击改名字为“TEST_001_ADDRESS”(2)右键点击andwdb,创建-->名称空间,直接出来⼀个“New Namespace”,将其改名为“dzyh_测试地址报表”右键点击这个名称空间,创建-->查询主题选择“模型”-->确定。
此时会弹出来⼀个【查询主题定义】的框,将andwdb -- 物理视图 -- TEST_001_ADDRESS这个数据源拖到右侧。
“验证”⼀下,点击“确定”。
此时在“dzyh_测试地址报表”这个名称空间下会出现⼀个名为“New Query Subject”的模型。
将这个模型改名为“TEST_001_ADDRESS”。
(3)数据包,创建-->数据包,名称改为“dzyh_测试地址报表”下⼀步,全部取消勾选,勾选上“公⽤视图”和“公共维度”,和最下⾯的“dzyh_测试地址报表”数据包。
下⼀步-->完成。
此时会弹出⼀个窗⼝,提⽰:已成功创建数据包。
要打开“发布数据包”向导吗?点击“是”,【“发布”向导 - 选择位置类型】中,在上⽅选择对应的⽂件夹,如“公共⽂件夹 > PMFA”下⼀步 --> 下⼀步 --> 发布 --> 完成。
多维报表制作步骤1.配置数据源打开Cognos Impromptu Administrator,出现如下窗口点“Catalog”菜单,选择“Databases”选择数据库类型(这里我们选择Oracle)后点“New Datebase”按钮,会出现现面的窗口在“Logical database name”栏中给我们的数据源取个名字(建议取和实际数据源相同的名字,比如实际数据源是EDW的话,这栏就填EDW)在“SQL *Net connect string”中填上实际数据源的名字,如我们在本地机器上的“tnsnames.ora”文件中有如下内容我们如果要取“EDW”库的内容,那么这一栏就填“EDW”剩下的“Collation Sequence”和“Geteway Type”就不用管了。
完成以上步骤后,我们就可以测试我们的配置是否正确了点“Test”按钮,就会出现要求输入用户名和密码的对话框如果配置成功就会出现下面的窗口否则请检查一下你的数据源的类型、名称、用户名和密码是否正确(以上操作只需要操作一次就可以了,以后就不用再重新配置该数据源了)2.数据源配置成功后,就是开始如何制作多维报表的步骤了在制作多维报表模型之前,先把要用到的集市表和维表列出(这是一种好习惯,希望大家能够坚持这种习惯,呵呵)集市表:SQL> desc TB_B_DM_AM_EXIST_PRD_NUM;Name Type Nullable Default Comments---------------- ---------- -------- ------- ----------------MONTH_ID NUMBER(9) 月份标识LATN_ID NUMBER(9) 本地网标识PRD_ID NUMBER(9) 产品标识URBAN_RURAL_ID NUMBER(9) 城乡标识XCHG_ID INTEGER 管理局标识CUST_MGMT_CHN_ID NUMBER(9) 客户管理渠道标识PRD_NUM NUMBER(12) Y 用户数维表:Tb_b_Dim_Area通过LATN_ID字段和集市表关联Tb_b_Dim_Prd 通过PRD_ID字段和集市表关联Tb_b_Dim_Urban_Rural通过URBAN_RURAL_ID字段和集市表关联Tb_b_Dim_Cust_Mgmt_Chn通过CUST_MGMT_CHN_ID字段和集市表关联下面开始真正介绍如何制作多维报表模型首先为了规范,建议大家先建好相关的文件夹比如说我们这个模型叫“存量用户到达数分析”,那么我们就建一个文件夹,名字就相应的叫“存量用户到达数分析”,并且在这个“存量用户到达数分析”文件夹下另外新建五个文件夹,名字分别取“cat”、“imr”、“iqd”、“mdl”、“mdc”,再在“mdc”文件夹下新建一个文件夹并命名为“bak”(是不是有点麻烦,这也是为了日后的维护方便,嘿嘿),大概情况如下面所显示的那样还是打开“Cognos Impromptu Administrator”,点“Catalog”菜单,选择“New”,出现下面窗口点“Browse”按钮,选择我们刚刚新建的“存量用户到达数分析”文件夹下的“cat”文件夹取个名字同样为“存量用户到达数分析”,保存类型为上图的类型,点保存“Description”栏自己随便想写什么就写什么(懒人的话就什么都不写)“Catalog type”栏选“Persional”“Name”栏选择我们刚开始配置的数据源名注意:上面的单选一定要选“Select tables”否则后果自负(具体为什么自己慢慢想,嘿嘿)完成上述步骤后点“OK”输入数据源库的用户名和密码点“OK”在“Database tables”栏中显示的是数据源库中所有的表空间,我们选择上面用到的表所在的表空间,如下图的“EDA”双击“EDA”就会显示出“EDA”表空间下所有的表,如图所示再次注意:不要在选择“EDA”,没双击后就点“Add”,否则后果还是自负,而且具体为什么也还是自己琢磨好了,现在就可以选中我们的表,然后点“Add”,把表加到右边的“Catalog tables”栏中其中“Create joins”选择“Manually”,直接点“OK”即可,其他的就先别管了,有兴趣的话自己再慢慢研究再点“OK”(什么也别操作,想问为什么,还是那句话――自己慢慢研究)点“File”菜单,选择“New”,出现下面的窗口选择“Simple List”点“OK”(为什么非要选这个?这个问题有点麻烦,这里就不回答了),出现下面的窗口按顺序操作,先点“Tb_b_Dim_Area”前的“+”号选择我们要用到的字段,点那个向右的箭头点“OK”,该表中的数据就会展现在我们的面前名字建议和表的名字相同,如下图析”下的“iqd”文件夹,如下图注意类型选择上面的类型,点“保存”然后“File”-“Close”—“File”-“New”,又出现下面的窗口选择“Simple List”,点“OK”,按照上面处理“Tb_b_Dim_Area”的步骤那样分别把剩下的几个表处理一遍这里要说下在处理集市表“TB_B_DM_AM_EXIST_PRD_NUM”时,处理到下面的这一步骤时点“Filter”选项框,出现下面窗口点“Catalog Columns”出现选择“TB_B_DM_AM_EXIST_PRD_NUM”表的“Month Id”字段,并双击就会出现这样的窗口再双击左侧的“=”,出现双击左侧的“number”出现这时输入“200701”(输入这表示这个模型这次只装载200701月份的数据)点“OK”,就出现下面的界面然后像开始一样保存为“.imr”格式,然后另存为“.iqd”格式即可,现在可以退出整个“Cognos Impromptu Administrator”(估计手都快操作麻木了)3.下面我们要用到另外一个工具打开“PowerPlay Transformer”,出现下面的窗口点“File”-“New”,出现点“下一步”在“Data source type”里选择“Impromptu Query Definition”,然后点“下一步”,析”文件夹下的“iqd”文件夹,其中“iqd”文件夹中的内容应该如下选中“Tb_b_Dim_Area”后如下点“下一步”输入数据源库的用户名和密码后点“Log On”项”)操作,把“存量用户到达数分析”文件夹下“iqd”文件夹下的剩下的几个“.iqd”文件导入到我们的模型中来,完成后应当显示如下然后鼠标右击“Dimension Map”-“Insert Dimension”如下就会出现下面的窗口在“Dimension name”栏我们填上“日期”,并在“Dimension type”选项中选择“Time”,在选中“Dimension type”后,“Time”选项卡就被激活,如下所示(注意:一个模型一般只需要一个维度在“Dimension type”选项中选择“Time”类型)选择“Do not create levels”,点“OK”,返回下面的界面剩下的就别管了(呵呵,帮你们省事了),直接点“确定”然后点开“TB_B_DM_AM_EXIST_PRD_NUM”表,把该表的“Month Id”拖到“日期”维度下完成后应该是这样的双击“Month Id”出现选中“Unique”(这里要说明一下,以后所有维度的最低一层这个都要选上,表示是通过这个字段把集市表和维表关联起来的),选中时会出现下面的提示选“是”然后选中“Time”选项卡,按照下面图片中显示的填写(以下操作请不要问为什么,等你理解了你自然就会知道,嘿嘿)再然后选择“Order By”选项卡点那个“…”,出现点“More>>>”,选择“Month Id”点“OK”再点“OK”“Sort order”选择升序,“Sort as”选择“Numeric”,点“确定”这样一个时间维度就完成了,下面继续其他的维度右击“Dimension Map”-“Insert Dimension”出现按照下面的填写,不要问为什么(怕麻烦)点“确定”然后点开“Tb_b_Dim_Area”度字段下继续不要问为什么,按照下面进行操作(实在是写累了)单击“Label”栏右边的“…”出现点“More>>>”,选择“Latn Name”,如下点“OK”然后选中“Refresh”栏中的“Label”点“Order By”选项卡,选择按照“Latn Id”进行升序排序,具体过程如下点“确定”“地域”维度完成现在来建立“产品”维度,过程如下点“确定”点开“Tb_b_Dim_Prd”表按照下面图片中显示的那样把相关的字段拖到“产品”维度下先对“Prd Id”进行操作(参照上面“Latn Id”的操作),具体过程如下点“确定”对“Level2 Name”进行操作(注意:这里就不用选中“Unique”了,因为这个表已经确定是通过“Prd Id”字段进行关联的)点“确定”然后对“Level3 Name”进行操作,如下点“确定”这里把对“Level4 Name”的操作留给大家,具体可参照上面的“Level2 Name”、“Level3 Name”完成后,我们的产品维度就建立完成再对“渠道类型”维度的建立进行大致的描述一下(不会再像上面那样详细了,下面要靠你们自己的思考了)。
利用CognosReportStudi o建立复杂企业报表利用 Cognos Report Studio 建立复杂企业报表王永, 软件工程师, IBM徐彦丽, 软件工程师, IBM简介: 本文首先介绍了 Cognos Report Studio 的基本内容, 然后利用一个项目管理复杂报表的实例介绍了 Report Studio 建立报表的步骤, 同时实例中介绍了如何利用地图管理器来自定义地图文件进而利用该文件生成地图报表。
发布日期: 年11 月25 日级别: 初级前言Cognos 是面向企业的业务智能和绩效计划软件的全球领导者。
企业的解决方案能够经过实现计划和预算、绩效度量和监视、报表和分析等管理环节的关键步骤来提高调整企业绩效, 而 Cognos 是唯一能够在一个完整的解决方案中为这些重要的管理活动提供支持的软件。
Cognos 解决方案经过与财务预算、规划和财务报表工具的整合, 提供了企业报表、财务分析和记分卡工具。
Cognos 产品包括: Cognos8 BI、 Cognos TM1、 Cognos8 Go ! 、 Cognos8 计划、 Cognos Now、 Cognos8 Controller 及 Cognos8 劳动力绩效软件。
Cognos BI 提供了报表、分析、记分卡、仪表盘及事件管理等方面的内容。
Cognos BI 具有三层架构: Web 服务层、应用层和数据层, 各层间有网络防火墙进行分割。
如图 1:图 1.Cognos 框架结构图从结构图中能够看出, 在三层架构的基础上为用户接口层, 其分为基于 Web 和基于 Windows 的两种接口形式。
Cognos BI 具有基于Windows 的五种组件: FrameWork Manager、 Metric Designer、Transformer、 Map Manager 及 Cognos8 Go Office! 和基于 Web 的七种用户组件接口, 分别为: Cognos Connection、 Cognos Administration、 Query Studio、 Report Studio、 Analysis Studio、Event Studio 和 Metric Studio。
基于IBM Cognos的高级报表制作技巧一、基于条件制作动态报表在使用报表时,用户往往希望某些“异常数据”能够突出显示,以便其更快速了解数据的总体状态。
如:性能数据一旦超过设定的阀值,则突出显示为黄色或者红色;在其他情况下显示为绿色。
IBM Cognos Report Studio 就提供了这样一种机制,在用户生成报表的时候,能够自动根据开发人员事先设定好的条件以及显示格式,对报表进行动态显示。
在制作基于条件的动态报表时,需要注意三要素。
第一个要素是条件,条件是用以判断的规则,通常为一个变量表达式及其一系列取值,如,上面的性能数据超过阀值。
第二个要素是用于和条件绑定的特定数据项 (Data Item),条件表达式只有和具体的数据项相关,以数据项运行时的取值作为条件输入,才能达到动态显示报表的目的,如,上面提到的性能数据。
第三个要素条件格式,即在条件表达式的某一特定取值下,报表显示的格式,如字体,颜色,阴影等。
总得来说,基于条件的动态报表的实现就是根据某特定数据项在报表运行时的取值,计算变量表达式的取值,并根据变量表达式的取值,决定报表的显示格式。
Cognos 支持三种类型的变量:字符串变量,布尔变量和语言变量。
以下的三小节将分别介绍使用这三种变量制作动态报表的过程。
使用字符串变量制作动态报表在 2.1 节中,我们将介绍简单的使用字符串变量的制作动态报表的过程。
我们希望实现根据项目状态的取值,动态显示报表中“项目状态”单元格的背景颜色:当项目状态为 R(Red) 时,项目状态单元格的背景显示为红色;当项目状态为 Y(Yellow) 时,项目状态单元格的背景显示为黄色;当项目状态为 G(Green) 时,项目状态单元格的背景显示为绿色;当项目状态为 C (Complete) 时,项目状态单元格的背景显示为蓝色。
步骤 1. 打开变量编辑窗口。
点击 Explorer Bar 上的 Condition Explorer。
如何利用cognos工具制作报表:1 建立数据库连接(1)启动Cognos Impromptu Administrator(2)创建数据库连接Catalog——>databases(3)选择数据库类型,newdatabase(4)填写数据库别名(记住这个别名,在创建.iqd 文件是要用得到2 创建.iqd 文件(1)通过Cognos Impromptu Administrator生成(2)手写手写.iqd文件格式:COGNOS QUERYSTRUCTURE,1,1DATABASE,IBM4BEGIN SQLselect STS_ID,STS_WORDSfrom H_FEE_STATUSwhere TABLE_NAME='ACCT'and COLUMN_NAME='PAYMENT_METHOD'END SQLCOLUMN,0,付款方式标识COLUMN,1,付款方式说明:1.蓝色字是iqd文件固定格式2.Begin sql……..End sql 之间可以任意写查询语句,只要符合oracle语法。
3.自己写的sql 语句中表名、字段名一定要大写4.粉色字,是给各字段命名汉字名称的,这样在transformer中就可以看到汉字名了。
3.创建模型文件(1)启动PowerPlay Transformer(2)file——>new之后按提示可以依序进行。
(3)其中在下面的界面中选择iqd 文件(4)将该模型文件存盘为:.pyi 文件(5)通过PowerPlay Transformer可以生成.mdc 文件,也就是power cube 我们称的多维立方体5.创建报表(1)启动Cognos PowerPlay(2)file——〉new(3)选择数据源,.mdc 文件,注意在server 上的文件要选择remote(4)将报表存为.ppx 文件,不要存成一次性的.ppr文件,.ppx文件当.mdc 文件更新时,可以表中数据自动更新6.将.ppx文件发布到PowerPlay Enterprise – Server上。
Cognos多维报表制作过程一、创建.iqd文件 (3)1、运行Framework manager,如图: (3)2、创建一个新工程,方法有两种: (3)3、输入工程名称和工程保存地址,如图: (5)4、选择名称空间,如图: (5)5、输入“用户ID”和“密码”,如图: (6)6、选择语言,如图: (7)7、选择“关系型数据源”来联接数据源,如图: (8)8、选择数据源,如图: (9)9、选择数据库和数据源表,如图: (10)10、按默认选项导入数据源表,如图: (11)11、设置数据源表iqd属性 (13)12、建包 (13)13、发布包 (17)14、查看生成的iqd文件 (20)二、创建模型 (21)1、运行Powerplay transformer,如图: (21)2、创建一个新模型 (21)3、输入模型名称,如图: (23)4、为将要导入的数据源表(.iqd文件)命名和选择数据源类型,如图: (23)5、选择要导入的数据源表(.iqd文件),如图: (24)6、进入登录数据库介面 (25)7、重复导入数据源表 (26)8、事实表与维表创建关联 (27)9、数据源表改名 (29)10、创建维度 (30)11、创建维度层 (31)12、生成维度数据,如图: (34)13、查看维度数据,如图: (35)14、创建度量值(指标值) (35)●指标值分类 (35)●创建measure folder (44)●创建度量值 (45)●修改度量值名称,如图: (45)●设计度量值数值表示格式,如图: (46)●设计度量值数值精度,如图: (46)●度量值计算 (47)●移动度量值 (50)●移动度量值 (50)13、创建cube (50)14、查看cube,如图: (52)15、导入权限,如图: (54)16、权限控制,如图: (54)16、Cube中加入权限 (56)三、发布Cube (57)1、启动Framework manager (57)2、新建数据源,操作如图: (58)3、发布包 (68)四、多维分析报表制作 (71)1、单击analysis studio 报表制作工具制作多维报表,步骤如图: (71)2、创建报表表名 (74)3、保存报表 (76)创建.iqd文件1、运行Framework manager,如图:进入如下介面:2、创建一个新工程,方法有两种:●方法1:点击“File\new project….”创建,如图:●方法2:点击窗口中的Create a new project…创建,如图:进入如下介面:3、输入工程名称和工程保存地址,如图:4、选择名称空间,如图:5、输入“用户ID”和“密码”,如图:6、选择语言,如图:7、选择“关系型数据源”来联接数据源,如图:8、选择数据源,如图:9、选择数据库和数据源表,如图:10、按默认选项导入数据源表,如图:导入过程,如图:●导入完成,如图:●进入如下介面:11、设置数据源表iqd属性从project viewer窗口中选中要创建.iqd文件的表,并将其相应的properties窗口中的externalize method属性改为iqd,如图:12、建包右击project viewer窗口中的,选择creat\package,如图:进入如下介面,输入包名,如图:●进入如下介面,表示要打包的表,表示不打包的表,单击可在两者间切换,如图:●进入如下介面,按图示步骤完成:13、发布包在前打钩,在框中输入生成.iqd文件的存放地址,如图:在E:\cognos创建iqd文件夹,如图:包发布成功,如图:14、查看生成的iqd文件打开“E:\cognos\iqd文件夹”,可看到生成的五个iqd文件,如图:创建模型1、运行Powerplay transformer,如图:进入如下介面:2、创建一个新模型方法1:点击“File\new….”创建,如图:方法2:点击工具栏中的new创建,如图:进入如下介面:3、输入模型名称,如图:4、为将要导入的数据源表(.iqd文件)命名和选择数据源类型,如图:5、选择要导入的数据源表(.iqd文件),如图:进入如下介面,取消Rrn AutoDesign选项,如图:6、进入登录数据库介面首次导入的.iqd文件应先联接数据库,进入登录数据库介面,输入“用户ID”和“密码”,如图:7、重复导入数据源表右击Data Sources窗口内任何位置,在弹出的菜单中选择“Insert Data Source….”,如图:●为将要导入的数据源表(.iqd文件)命名和选择数据源类型(如步骤4、)●选择要导入的数据源表(.iqd文件)(如步骤5、)●导入所需的数据源表(.iqd文件)如图:8、事实表与维表创建关联将事实表与维度表要创建关联的字段名改为相同的名称,即可自动创建关联。
基于IBM Cognos的高级报表制作技巧一、基于条件制作动态报表在使用报表时,用户往往希望某些“异常数据”能够突出显示,以便其更快速了解数据的总体状态。
如:性能数据一旦超过设定的阀值,则突出显示为黄色或者红色;在其他情况下显示为绿色。
IBM Cognos Report Studio 就提供了这样一种机制,在用户生成报表的时候,能够自动根据开发人员事先设定好的条件以及显示格式,对报表进行动态显示。
在制作基于条件的动态报表时,需要注意三要素。
第一个要素是条件,条件是用以判断的规则,通常为一个变量表达式及其一系列取值,如,上面的性能数据超过阀值。
第二个要素是用于和条件绑定的特定数据项 (Data Item),条件表达式只有和具体的数据项相关,以数据项运行时的取值作为条件输入,才能达到动态显示报表的目的,如,上面提到的性能数据。
第三个要素条件格式,即在条件表达式的某一特定取值下,报表显示的格式,如字体,颜色,阴影等。
总得来说,基于条件的动态报表的实现就是根据某特定数据项在报表运行时的取值,计算变量表达式的取值,并根据变量表达式的取值,决定报表的显示格式。
Cognos 支持三种类型的变量:字符串变量,布尔变量和语言变量。
以下的三小节将分别介绍使用这三种变量制作动态报表的过程。
使用字符串变量制作动态报表在 2.1 节中,我们将介绍简单的使用字符串变量的制作动态报表的过程。
我们希望实现根据项目状态的取值,动态显示报表中“项目状态”单元格的背景颜色:当项目状态为 R(Red) 时,项目状态单元格的背景显示为红色;当项目状态为 Y(Yellow) 时,项目状态单元格的背景显示为黄色;当项目状态为 G(Green) 时,项目状态单元格的背景显示为绿色;当项目状态为 C (Complete) 时,项目状态单元格的背景显示为蓝色。
步骤 1. 打开变量编辑窗口。
点击 Explorer Bar 上的 Condition Explorer。
点击弹出页面中的 Variables。
见图 1。
图 1. 打开变量编辑窗口步骤 2. 创建字符串变量。
将 Insertable Objects 中的字符串变量(String Variable)拖拽到 Variables 部分。
见图 2。
图 2. 创建字符串变量步骤 3. 定义字符串变量表达式。
在将字符串变量拖拽到 Variable 的过程中,系统会自动弹出变量表达式编辑窗口。
在编辑窗口的左侧列出了可用于表达式的各种组件和数据项。
可以通过拖拽的方法选择所需的数据项组合成变量表达式。
以下的例子中,我们设定一个简单的变量表达式,这个变量表达式就等于报表中项目状态(PROJECT_STATUS)。
见图 3。
图 3. 定义字符串变量表达式步骤 4. 为字符串变量表达式赋值。
选中字符串变量 String 1,点击Values 框下面的添加(Add)图标,在弹出的对话框中,输入希望添加的变量值,如 R (Red),然后点击 OK 按钮。
此变量值就会被添加到 Values 的列表中。
可以通过重复以上步骤,添加其他变量值。
根据之前的描述,我们需要 R (Red), Y (Yellow), G (Green), C (Complete) 四个变量值。
见图 4。
图 4. 为变量表达式赋值步骤 5. 为字符串变量命名。
在页面左下角的变量属性编辑窗口中,可以对创建的字符串变量进行重命名。
在例子中,我们将变量重命名为 Project_Status. 见图 5。
图 5. 为字符串变量重命名步骤 6. 打开需要绑定变量的报表。
点击 Explorer Bar 上的 Page Explorer,点击打开需要编辑的报表。
见图 6。
图 6. 打开需要绑定变量的报表步骤 7. 首先点击选中报表中需要与变量绑定的元素。
然后在左下角的属性编辑窗口中,点击 Style Variable 一项的编辑按钮,在弹出的窗口中,选择之前定义好的条件变量 Project_Status。
见图 7。
图 7. 将报表中元素与字符串变量绑定步骤 8. 为变量的不同取值设置相应的显示格式。
点击 Explorer Bar 上的Condition Explorer, 在变量 Project_Status 的取值列表中选择一个取值,如,点击 G。
设置此取值对应的显示格式,如,Project_Status 单元格背景颜色显示为绿色。
在选定取值的情况下设置的显示格式会自动和该取值相关联。
重复以上步骤,设置其他取值下的显示格式。
有一点需要注意,设置完特定的取值对应的显示格式后,选取 None 值,检查报表在不满足任何变量取值下的显示格式,确保报表可以正常显示。
见图 8。
图 8. 为变量的不同取值设置相应的显示格式使用布尔变量实现报表的动态显示本节介绍如何利用布尔变量实现报表的动态显示。
我们希望根据用户输入的值,显示或者隐藏列表中的某一列。
在以下的例子中,报表按照部门展示各部门员工人数,包括 Regular 人数和 Vendor 人数。
用户运行报表的时候可以选择是否显示 Vendor 人数一列。
步骤 1. 创建用于接收用户输入值的参数。
在报表提示页面创建一个值提示,命名为 Display_para,点击完成按钮。
见图 9。
图 9. 创建参数步骤 2. 创建布尔变量。
在提示页面选中值提示,在左侧的属性编辑窗口中,打开 Static Choices 编辑窗口,在 Variable 的下拉菜单中,选择新建布尔变量。
并将布尔变量命名为 Display_bool。
图 10. 创建布尔变量步骤 3. 定义布尔变量表达式。
在可用参数(Parameters)列表中,选择在步骤 2 中创建的参数 Display_para。
将 Display_para 拖拽到右侧的表达式定义(Expression Definition)窗口中,并参照图 11 定义表达式内容。
图 11. 定义布尔变量表达式步骤 4. 为布尔变量赋值。
布尔变量的两个 Use 值是 Yes 和 No,表示布尔变量真假两种状态。
而我们在参数中显示给用户的则是 Display 值“要”和“不要”。
定义 Use 值和 Display 值的对应关系,使得布尔变量能接收用户选择的“要”或者“不要”,按照对应关系,转化成布尔变量 Yes 和 No,即布尔变量真假两种状态。
图 12. 为布尔变量赋值步骤 5. 将报表中的 Vendor 列与布尔变量绑定。
打开报表编辑页面,选中Vendor 列,在列属性编辑窗口中,打开 Render Variable 编辑窗,在 Variable 列表中选择之前创建的布尔变量 Display_bool。
图 13. 将报表中指定的列与布尔变量绑定步骤 6. 报表在不同选择值下的运行结果。
图 14. 报表在不同选择值下的运行结果使用语言变量实现报表的全球化2.3 节介绍如何利用报表语言变量实现报表的多语言显示。
我们希望根据运行时用户的语言,实现同一报表对不同语言用户的不同显示:当用户运行语言为中文时:报表中的字符串显示为“中文”;当用户运行语言为英文时:报表中的字符串显示为“English”。
步骤 1. 打开变量编辑窗口。
点击 Explorer Bar 上的 Condition Explorer。
点击弹出页面中的 Variables。
步骤 2. 创建语言变量。
讲 Inerstable Objects 中的语言变量(Language Variable)拖拽到 Variables 部分。
见图 9。
图 15. 创建变量语言步骤 3. 选择报表用户所在国家的语言。
如:选择中文和英文。
见图 10。
图 16. 选择语言步骤 4. 为字符串变量命名。
在页面左下角的变量属性编辑窗口中,将变量重命名为 Language_cn_en 见图 11。
图 17. 为语言变量重命名步骤 5. 打开需要绑定变量的报表。
点击 Explorer Bar 上的 Page Explorer,点击打开需要编辑的报表。
步骤 6. 首先选定报表中需要和语言变量绑定的字符串。
然后左下角的属性编辑窗口中,点击 Text Source Variable 一项的编辑按钮,在弹出的窗口中,选择之前定义好的语言变量 Language_cn_en。
见图 12。
图 18. 将文本与语言变量绑定步骤 8. 设置不同语言下的显示内容。
点击 Explorer Bar 上的 Condition Explorer,在 Variable Language_cn_en 的取值列表中选择一个取值,如,点击 Chinese。
设置此取值对应的显示内容,如,”中文”。
重复以上步骤,设置其他语言下的显示内容。
见图 13。
图 19. 设置不同语言下的显示内容步骤 9. 设置运行时的语言。
点击运行按钮旁边的下拉列表,点击运行选项(Run Options),在语言(Language)一栏中选择中文 (Chinese)。
见图 14。
图 20. 设置报表运行时的语言步骤 10. 以不同的语言运行报表。
设置了报表运行时的语言后,点击运行按钮。
见图 15。
图 21. 报表在不同语言下的运行结果二、报表之间穿透钻取功能的实现钻取功能是 Cognos Report Studio 中的重要的功能之一,包括同一报表不同层次 (Level) 之间的钻取:上钻 (Drill up ) 和下钻 (Drill down),还不同报表之间的穿透钻取 (Drill through)。
我们在第 3 部分要介绍的是不同报表之前的穿透钻取功能的实现。
在设置钻取功能之前,需要准备好两个报表:概要报表和细节报表。
概要报表是钻取功能的起点,在概要报表的某些数据项上触发穿透钻取操作。
细节报表是钻取功能的终点,是原报表中某些信息更细节数据的显示。
如:在概要报表中显示某部门总人数为 100 人,通过穿透钻取功能,在目标报表中可以查看这 100 人的详细信息。
从概要报表到细节报表的钻取过程中,通常伴有参数的传递。
如:以上例子中的部门标识。
报表钻取功能的设置步骤 1. 在 Report Studio 中创建并保存概要报表和细节报表。
见图 22.图 22. 创建概要报表和细节报表步骤 2. 在 Report Studio 中打开概要报表。
概要报表显示各个部门人数的信息。
步骤 3. 选中概要报表需要钻取的位置。
如,部门维度。
见图 23。
步骤 4. 点击页面左下角的属性的 Drill-Through Definitions 一项,打开穿透钻取编辑窗口。
见图 23。
图 23. 选中需要钻取的位置步骤 5. 在弹出的钻取编辑窗口中,点击新建图标创建一个穿透钻取。
见图24。
图 24. 创建一个穿透钻取步骤 6. 为穿透钻取重命名。