Cognos报表开发设计规范
Cognos制作报表--基本范例

1COGNOS的使用1.1模型定义1,打开Frame Manager程序,如下图:2,新建一个项目,建完后,打开该项目,如下图:3,在界面左边中选择“Packages”,然后单击右键新建一个包。
按照提示一步步做,其中有一步是从数据库的表选所要用到的表,打勾为选用。
4,点击”Diagram”显示表,但表之间还没有建立联接关系,通过建立各表关系后如下图5,然后将该包发布,点击右键该包选择“Publish Package”将其发布。
1.2模型的物理和逻辑定义1,模型定义的规范:将模型分为2个部分,分别为物理层和逻辑层,物理层为从数据源引入表的物理定义和连接关系,逻辑层为业务视角下的逻辑定义。
2,物理层的建立:根据数据分析,设计模型中需创建的物理表,以便尽可能的提高查询语句的运行效率(比较理想的结构是星形结构,一个中间表和多个物理维表)。
在根名字空间(和数据源同名)下,建立一个名为物理层的目录,在物理层文件夹下执行Run Metedate Wizard将数据源中相关的物理表引入这个目录,然后将这些表建立连接关系,建议不要有Orphan表。
如下图:3,逻辑层的定义:在根名字空间下,建立一个名为逻辑层的目录,在逻辑层文件夹下生成Query Subject,Query Subject的字段都是根据业务逻辑从物理层从引入,建议字段名都为中文。
逻辑层中的表为事实表和维表的结构,在事实表中包含维度的编码值和指标的值,维表中包括每个维度上编码值和其名称的对应关系。
也可以根据需要建立Regular Dimension(3.4说明),在逻辑层中不要建立逻辑表之间的关系。
如下图:4,物理层和逻辑层的建立是灵活的,上面说的只是简单的结构,可以根据需要建立多层次的名字空间,不同的名字空间定义不同的物理层和逻辑层。
1.3模型设计的一些技术要点1,首先要了解数据库表的定义和业务需求,以便将报表设计所关联的物理表引入到物理层中。
2,在物理层建立关系要清楚了解表中KEY值的定义和维表与中间表之间的关系,关系中的对应(1对多、多对多)要设置清楚,可以通过察看Determinants来决定,最好咨询数据库设计人员。
Cognos前台报表规范

COGNOS前台报表规范一、控件命名1、系统控件和自定义控件控件命名规则:页面控件命名一般为“Rs”+“{控件参数}{控件属性}”,HTML项目内控件命名一般为“控件属性”+“具体含义名”;提示页面控件命名一般为“Rst” +“{控件参数}{控件属性}”;参数命名规则:“v”+“具体含义名”。
2、不参与交互功能的的控件不命名,使用默认名称规范。
二、报表命名规范报表命名以具体的指标含义命名。
三、控件使用说明报表开发主要使用的是系统控件和自定义的html控件,以及一些JavaScript的辅助。
(1)、TextEdit:文本项目。
主要应用于文本显示,包括静态文本显示和数据项目显示以及自定义报表表达式。
文本项目的主要属性如下:A、条件样式B、源类型C、文本D、数据格式E、最大字符数(2)、Block:块。
主要用于布局,可作为容器使用,和Html标签的Div比较类似;其主要属性如下:A、条件样式B、样式变量C、大小和溢出D、可见(3)Table:表格。
表格控件大部分应用于布局。
(4)、QueryCalculator:查询计算。
用于项目查询项目或者自定义的报表表达式。
其主要属性如下:A、源类型B、数据项值C、数据格式D、数据项类型(5)、Image:图像。
用于页面上显示图片。
(6)、List:列表。
用于数据列表展示,可插入数据项和其他任何控件,也可插入自定义控件,常用于列表数据容器。
(6)、Chart:图。
图形展示工具,包括柱状图、折线图、饼图、条形图、面积图、点状图、组合图、散点图、仪表盘、排列图、Microchart图等。
图形使用数据项目作为数据源。
四、界面设计(一)、布局设计页面整体布局大小为高度100%、宽度100%;左侧为页面主题和查询选项区域,宽度占用20%;右侧分为上下结构为数据展示区域,宽度占用80%,上侧为列表详细信息,下侧为指标分析区域,上下侧内容有联动效果。
(二)、功能设计(1)、查询功能查询区域根据日期维度拆分为年报、月报、日报快捷查询按钮。
Cognos报表开发

谢谢!
+ 由于mdc文件中的数据需要和数据库同步,
所以需要对mdc文件做定期更新,就需要编 写Cognos脚本来完成更新任务,再使用 Cognos自带的任务调度工具 Scheduler 来完 成定期更新。 + 脚本文件代码如下:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PowerPlay Enterprise Server 作为一个多 平台企业级的应用程序服务器,其功能是将 多维立方体进行统一的部署,以达到企业级 OLAP分析的目的,PowerPlay Enterprise Server 具有强大的部署能力和可扩展性,可以部署 在多台服务器上以达到负载均衡的目的。
– PowerPlay Transformation Server
+ Impromptu 模块 – Impromptu Administrator + 安全管理工具(LDAP) – Microsoft Active Direcotry Server – Netscape Directory Server
+ 一、Cognos 产品介绍 + 二、Impromptu 平面数据制作 + 三、Powerplay 多维数据体制作 + 四、Powerplay 数据立方体发布
Cognos自学系列3-AS报表开发简单步骤

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文件地址,下一步至完成。
最新Cognos8报表开发

2。对于报表需求我们可以分解出一部分快照报表,这些报表我们可以统一定义一个更新时间,后 台运行,以后每次用户点击可以不查询数据库,直接调用这个快照。 3。对于提示页我们推荐使用提示页面来同用户交互。 4。对于数据中间层的设计存在着使用方便性和查询原始性的冲突。
THANK YOU
感谢聆听,批评指导
2020
Cognos8 报表开发培训
Cognos8产品架构 报表开发流程
Framework Manager 1.建立工程文件,数据库连接 2.选择数据库表、列 3.建立针对数据库原始表的文件夹 4.建立数据表间的连接 5.根据业务要求创建文件夹、查询项 、计算项、过滤 6.创建数据包,并发布到服务器
ReportStudio 1.窗口介绍 2.常用数据组件 3.常用格式组件 4.其他组件 5.变量、过滤,条件型报表设计 6.常用报表设计方法
Cognos ReportNet - Ad Hoc Querying
多维分析 面向主题 给予历史
粗粒度
Cognos8产品架构
最终用户 IE
Report开发
Cognos BI Ser ver f or Anal ysi s
Cube 多维立方体
Cognos BI Ser ver f or Repor t i ng
1.窗口介绍
2.常用数据组件
3.常用格式组件
4.变量、过滤,条件型报表设计
首先通过?XXX?来 设定好变量 接下来
通过控间中的变量 控间去包装这些变
量和提示页 (注意在写变量的 ??时,我们要用英
文输入法输入)
5.常用报表设计方法
1。首先不添加任何数据,只使用样式控间创建统一的界面风格。此后每个报表我们使用统一的样 式模板,添加数据项。
2024版Cognos BI 10教程:第一张复杂报表

03
社交媒体共享
集成社交媒体分享按钮,方便用户将报表分享到社交媒体平台。
01
生成报表链接
在Cognos BI 10中生成报表的URL链接,方便用户直接通过链接访问报表。
02
嵌入代码
提供嵌入代码功能,允许用户将报表嵌入到自己的Web页面或应用程序中。
共享报表链接或嵌入代码
报表访问统计
记录报表的访问次数、访问时间等信息,以便了解报表的使用情况。
04
如果遇到连接失败的情况,可以检查网络连通性、认证信息正确性等方面的问题,并查看系统日志获取更多错误信息。
04
CHAPTER
复杂报表制作步骤详解
打开Cognos BI 10,创建一个新的报表。
将图表对象拖拽到报表设计区域,并调整其大小和位置。
在工具栏中选择合适的图表类型,例如柱状图、折线图、饼图等。
复制/粘贴
02
01
03
04
05
常用工具栏操作演示
03
CHAPTER
数据源连接与配置
打开Cognos BI 10,点击“数据源”图标,选择“新建数据源连接”。
填写数据源连接的基本信息,如数据源名称、描述、服务器地址、端口号等。
创建新的数据源连接
在弹出的对话框中选择合适的数据源类型(如关系型数据库、多维数据集等)。
系统会尝试连接到指定的数据源,并显示连接结果。
如果连接成功,则说明数据源配置正确;如果连接失败,则需要检查配置信息并重试。
测试数据源连接成功性
注意事项及常见问题解答
01
确保在创建数据源连接时填写正确的服务器地址、端口号、认证信息等。
02
根据实际情况选择合适的数据源类型和相应的驱动程序。
Cognos图表报表制作参考手册教学文案

Cognos报表制作参考手册1.打开浏览器,在地址栏输入http://localhost:9300/p2pd/servlet/dispatch后回车进入Cognos Portal:可以在界面上看到,在“公共文件夹”里出现了我们刚才发布的立方体“cube_ETL_DEMO”。
2.点击右上角的“启动”,然后在下拉菜单中选择“Report Studio”:一般情况下,“Business Insight”及“Business Insight Advanced”都是专门用来制作图表报表的;而“Query Studio”则是用来进行简单的数据查询并显示报表;“Analysis Studio”则会被用来查看数据立方体内的数据内容;“Report Studio”则是一个功能强大的报表制作工具,本示例就是利用它来制作一个离线的报表;“Event Studio”则是用来设计报表的调用及监控报表运行完成情况。
3.在弹出窗口中选择我们刚才发布的数据立方体作为该报表的数据源:4.点击“新建”:5.选择“空白”然后点击“确定”:6.系统会读取数据立方体的数据,读取完成数据后,在窗口的左上解可以看到所有立方体内的维度及度量数据都显示出来了:7.为了方便报表界面布局,先在报表上放置一个3X3的表格组件:8.将一个“文本”对象拖放到表格中:并在弹出的窗口中输入以下文字后点击“确定”:再点击按钮将文件居中显示。
9.将一图表对象拖放到表格中:在弹出的窗口中选择“折线图”后点击“确定”:再点击按钮将图表居中显示。
10.按下图进行图表X轴数据设置:11.按下图进行系列的设置:12.按下图进行图表Y轴的设置:13.利用鼠标单击选中该对象,然后修改该对象的“自定义标签”属性值为“显示”:14.双击,在弹出的对话框中输入“水位(cm)”:15.利用相同方法,将图表中X轴及系列中的标签修改如下图所示:16.修改报表标题字体:17.选中该图表,然后修改其“标题”属性为“显示”:18.将该标题文字修改如下:19.利用相同方法,将另一图表拖放到报表中,并将“默认度量”值设置为“RAINFALL”度量值,标题修改为“各监测站降雨量趋势”,最终结果如下图所示:20.接下来设置图表的钻取,如下图所示:21.报表完成,最终效果如下图所示:。
Cognos 多维报表制作步骤

多维报表制作步骤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”完成后,我们的产品维度就建立完成再对“渠道类型”维度的建立进行大致的描述一下(不会再像上面那样详细了,下面要靠你们自己的思考了)。
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“可以查看结果数据。
Cognos报表制作

• 创建关联关系
为什么要创建关联关系? 如果两个查询主题之间创建了关联关系那么在用ReportStudio做报表时就可以直 接将这两个查询主题中的数据项(也就是字段)拖入同一个查询,如果不创建关联关 系就需要在做报表的时候创建关联。 关联关系的类型 左连接:1..1 对 0..n 自然连接:1..1 对 1..1 全连接:0..n 对 0..n
• 选择“配置”选项卡,点击“数据源连接”,点击右 上角“新建数据源”图标,按照向导提示进行创建
四、创建和发布报表模型
• 生成模型文件
File New,然后按照向导一步一步操作,完成后会生成一个.cpf文件和三个xml文件: model.xml, customdata.xml, Preferences.xml,这些文件是上线时要拿去发布模型用的 ,其它的还有一些日志文件,可删除。
• 检查数据源,将schema删除
这样做可以避免因为开发环境和生产环境的schema不同造成的模型发布失败
• 创建名称空间或文件夹来组织查询主题 • 创建模型包并发布
只发布做报表需要用到的查询主题
五、报表制作
I. 熟悉操作界面 II. 基本操作 III.制作表头 IV. 制作查询 V. 制作列表 VI. 制作交叉表 VII.制作表格
5. 6. 7. 8.
Ⅳ.制作查询
1. 2. 3. 新建查询并添加数据项 加过滤条件 设置数据项聚合函数和累积聚合函数:
无/合计/已计算/最大值/最小值/平均值 聚合函数:主键及属性数据项设置为“无”,需要汇总的数据 项设置为“合计”,用了rank()、percentage()等函数或 是相除得到的数据项设置为“已计算,需要示最大值/最小 值/平均值的分别设置为最大值/最小值/平均值 累积聚合函数:一般的数据项都用默认值“自动”,汇总数据 项根据以上规则设置
Cognos报表开发规范

深圳天源迪科信息技术股份有限公司DIC 版本:1.0COGNOS报表开发规范1模型定义1,打开Frame Manager程序,如下图:2,新建一个项目,建完后,打开该项目,如下图:3,在界面左边中选择“Packages”,然后单击右键新建一个包。
按照提示一步步做,其中有一步是从数据库的表选所要用到的表,打勾为选用。
4,点击”Diagram”显示表,但表之间还没有建立联接关系,通过建立各表关系后如下图5,然后将该包发布,点击右键该包选择“Publish Package”将其发布。
2模型的物理和逻辑定义1,模型定义的规范:将模型分为2个部分,分别为物理层和逻辑层,物理层为从数据源引入表的物理定义和连接关系,逻辑层为业务视角下的逻辑定义。
2,物理层的建立:根据数据分析,设计模型中需创建的物理表,以便尽可能的提高查询语句的运行效率(比较理想的结构是星形结构,一个中间表和多个物理维表)。
在根名字空间(和数据源同名)下,建立一个名为物理层的目录,在物理层文件夹下执行Run Metedate Wizard将数据源中相关的物理表引入这个目录,然后将这些表建立连接关系,建议不要有Orphan表。
如下图:3,逻辑层的定义:在根名字空间下,建立一个名为逻辑层的目录,在逻辑层文件夹下生成Query Subject,Query Subject的字段都是根据业务逻辑从物理层从引入,建议字段名都为中文。
逻辑层中的表为事实表和维表的结构,在事实表中包含维度的编码值和指标的值,维表中包括每个维度上编码值和其名称的对应关系。
也可以根据需要建立Regular Dimension(3.4说明),在逻辑层中不要建立逻辑表之间的关系。
如下图:4,物理层和逻辑层的建立是灵活的,上面说的只是简单的结构,可以根据需要建立多层次的名字空间,不同的名字空间定义不同的物理层和逻辑层。
3模型设计的一些技术要点1,首先要了解数据库表的定义和业务需求,以便将报表设计所关联的物理表引入到物理层中。
CognosFramework操作记录:开发复杂报表

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”下⼀步 --> 下⼀步 --> 发布 --> 完成。
规范-Cognos开发规范

Cognos 开辟规范物理层:从数据库直接引入的数据库对象。
逻辑层:最终发布到Cognos 服务器上提供给用户使用的对象集合。
模型分层的原则:降低模型的复杂性,便于管理和维护。
模型开辟命名规范安全设计功能安全性A. 在工程的主namespace (最上层的namespace,工程自动生成)下创建物理层文件夹(以下简称“物理层”)B. 将开辟用到的数据对象(表、视图或者存储过程)全部纳入C. 不对导入对象作任何改动D. 不导入数据库对象间的约束关系,不在该层建立查询对象的关联关系E. 物理层对象统一放在名称为“物理层”的文件夹对象下F. 物理层对象根据数据源的不同使用名字空间进行归类组织,命名规则如下:数据来源描述+’_DS’A. 创建和物理层并列的逻辑层文件夹(以下简称“逻辑层”)B. 根据物理层的数据对象在逻辑层创建查询主体(QuerySubject)。
C. 在逻辑层内建立查询主体之间关系D. 在逻辑层的第一层使用namespace 对业务主题进行分类,如基金余额汇总表,证券客户信息表等。
根据实际情况可以在往下一层使用目录或者namespace 再进行主题分类。
最后,放置具体的查询对象E. 逻辑层的分层根据实际情况按照具体应用进行,普通至少分成两层F. Cognos 模型开辟规范G. 目录结构图如下:A. 以下使用的项目简称一律使用英文大写,如ERPF、ECIF 等,其余英文部份,如未加说明一律使用小写B. Cognos 工程(Project):直接使用项目或者应用专题名称C. 顶级namespace:项目组或者应用专题的简称+’_ ’+ COGNOS 模型,一个项目组原则上只建立一个Cognos 工程。
如:SMIS_COGNOS 模型D. 逻辑数据源:项目组组或者应用专题的简称+’_ ’+’rdb/mdb/txt/oth’,其中,rdb 代表关系数据库,mdb 代表多维数据库,txt 代表文本数据,不属于上述任何一种数据源的使用oth,原则上,一个工程只允许新建一个数据源,如果确实有必要建立多个逻辑数据源的,需要在上述命名规则后添加三位数字序号,如ERPF_mdb_001E. 名称空间和目录、查询主题、查询对象,根据具体的业务含义进行设置,除专有名称外,原则上只使用中文,并避免直接使用技术术语,在名称的选取上要力求规整F. 过滤:根据过滤条件的实际意义用中文进行描述A. 安全控制原则:机构层级+角色访问控制(RBAC)通过会话函数 (session) 取得用户所在机构对用户所访问数据进行权限控制,再通过给用户分配不同的角色对用户所访问的报表进行权限控制。
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. 创建字符串变量。
COGNOS报表开发流程

报表开发A)模块概述B)处理流程和处理逻辑1)处理流程图B)处理逻辑如图:基本的处理流程有三个部分,元数据准备、模型设计、报表设计。
针对本系统的情况,报表的制作分为三类,从CUBE出报表、直接从事实表出报表、从指标出报表。
从制作方式来讲其中直接从事实表出报表、从指标出报表的方法是完全相同的。
首先形成元数据模型描述。
将数据库结构描述成需要的结构,然后将元数据发布到Cognos 服务器上。
同时Cognos 的OLAP转换工具通过元数据描述可以将数据库中数据按照业务主题的维度、指标等因素,转换成文件型的多维立方体。
这些多维立方体也作为数据源,通过元数据模型进行描述,发布到Cognos 服务器上。
然后通过浏览器访问发布在门户上的元数据,并在其基础上制作报表。
详细过程:1.元数据准备本阶段主要准备Cognos与数据库之间连接的语义层,封装数据库底层表和字段,建立表连接,为后续开发人员和最终用户提供一个贴合报表需求的数据库结构视图,设计要点是结构清晰、效率优化。
本部分工作主要是使用Cognos Framework Manager。
对于三种报表均需要这一步骤。
其主要流程有:a.添加数据源,导入物理层数据结构。
b.定义表连接关系。
c.在物理层的基础上创建表示层QUERY,这些QUERY的设计基于如何更方便在后面的步骤中制作报表,并且要充分考虑性能的优化。
如果是为从CUBE出报表的QUERY,需要按照该多维模型的需要去设计QUERY。
d.发布元数据。
如果是为从CUBE出报表的QUERY,可以发布为IQD的格式,或直接使用。
2.模型设计本阶段的主要工作是根据需求分析来规划OLAP应用主题,然后根据OLAP应用主题建立数据模型,对于出报表使用的模型,基本的设计思路就是使报表的行列科目可以用模型的维度中的类别或者类别的计算来描述。
这部分工作主要是使用Cognos Transfomer来完成,开发人员在Cognos Transformer提供的图形化设计界面中设计a.导入IQD数据源。
cognos工具制作报表

如何利用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设计开发规范第二阶段

数据中心项目Cognos设计开发规范(第二阶段)西安美林电子有限公司二○○九年七月一日版本历史目录1引言 (1)1.1编写目的 (1)1.2背景 (1)1.3参考资料 (1)2设计原则 (1)2.1合理性 (1)2.2性能 (1)2.3可扩展性 (2)3设计开发流程 (2)3.1总体设计 (2)3.2F RAMEWORK模型开发 (6)3.3T RANSFORMER模型开发 (7)3.4页面开发 (8)4最佳实践总结 (8)4.1展现难易程度判断 (8)4.2具体实践经验 (10)1引言1.1编写目的本文旨在对BI展现开发过程进行规范性指导,为了进一步提高开发的质量和效率,现需对设计开发的规范进行进一步深化,使得开发人员可以通过此规范清晰开发的逻辑思路、加强开发的质量意识。
1.2背景通过第一阶段基本开发规范的执行,项目组成员的开发规范意识已得到了加强;现需要从更高层次对设计开发过程提出规范性的指导方案,以进一步提高开发质量和效率。
1.3参考资料《Cognos设计开发规范(20090115).doc》2设计原则2.1合理性◆模型设计要按照主题域在业务上进行逻辑划分;◆页面开发符合业务要求、逻辑合理。
2.2性能◆页面响应速度满足系统的性能要求;2.3可扩展性◆模型设计要满足最大化业务需求;◆模型采用星形结构。
3设计开发流程3.1总体设计3.1.1分析展现需求1)维度数据分析经过对展现需求的分析理解,明确展现涉及到哪些维度,每个维度需包括哪些数据;2)事实数据分析经过对展现需求的分析理解,明确展现涉及到哪些事实数据,模型设计是否需要包括同期值、累计值、同比、环比(目前在ETL过程中进行处理)等。
3)举例说明展现需求如下:图1我们需要从中得到如下信息:维度:时间、单位(要结合具体业务挖掘)、指标等;事实数据:本年累计、上年同期累计、预算值;增减额、增减率和完成预算数据可由以上三个数据计算获得,可以放在库中也可放在Framework模型中计算,为了提高效率目前采用的是在库中计算的方式。
2020年 cognos8固定报表的开发

XX有限公司
MS-CARE-01
社会责任及EHS手
册
(1.0版)
制订:
审批:
2020-1-1发布2020-1-1实施
Cognos8固定报表
Cognos8固定报表 (1)
1. 建数据源、导入数据、发布包 (4)
2. 制作固定报表 (4)
2.1固定报表开发界面 (4)
2.2设计要点 (7)
2.2.1汇总列值、加组表头 (7)
2.2.2设定列格式 (11)
2.2.3如何显列标题为中文字 (12)
2.2.4如何作表标题 (14)
2.2.5使用布局计算 (14)
2.2.6使用查询计算 (15)
2.2.7空值处理 (16)
2.2.8加选择框,加选择页 (16)
2.2.9过滤、汇总过滤 (17)
2.2.10合并列 (18)
2.2.11穿透钻取技术 (19)
2.2.12复杂报表 (21)
2.2.13自助式固定报表的创建 (23)
2.2.14关联报表的方法 (23)
2.2.15提示按钮、提示页 (25)
2.2.16条件格式 (27)
2.2.17布尔变量的应用技巧 (31)
1.建数据源、导入数据、发布包与即席报表一样
2.制作固定报表
2.1固定报表开发界面
发布完包以后,可以在cognos8的运行界面上看到刚才发布的包
点击此数据包,选择新建“Report Studio”,进入报表开发界面
进入“Report Studio”界面,选择空白的报表
空白的报表界面如下图所示:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cognos报表开发设计规范版本历史:1.模型的规范物理层:从数据库直接引入的数据库对象。
逻辑层:最终发布到Cognos服务器上提供给用户使用的对象集合。
模型分层的原则:降低模型的复杂性,便于管理和维护。
模型开发命名规范安全设计功能安全性1.1 物理层的创建A.在工程的主namespace(最上层的namespace,工程自动生成)下创建物理层文件夹(以下简称“物理层”)B.将开发用到的数据对象(表、视图或者存储过程)全部纳入C.不对导入对象作任何改动D.不导入数据库对象间的约束关系,不在该层建立查询对象的关联关系E.物理层对象统一放在名称为“物理层”的文件夹对象下F.物理层对象根据数据源的不同使用名字空间进行归类组织,命名规则如下:数据来源描述+’_DS’目录结构图如下:1.2逻辑层的创建A. 创建和物理层并列的逻辑层文件夹(以下简称“逻辑层”)B.根据物理层的数据对象在逻辑层创建查询主体(Query Subject)。
C.在逻辑层内建立查询主体之间关系D.在逻辑层的第一层使用namespace对业务主题进行分类,如基金余额汇总表,证券客户信息表等。
根据实际情况可以在往下一层使用目录或者namespace再进行主题分类。
最后,放置具体的查询对象E.逻辑层的分层根据实际情况按照具体应用进行,一般至少分成两层F.Cognos模型开发规范G.目录结构图如下:1.3模型开发命名规范A.以下使用的项目简称一律使用英文大写,如ERPF、ECIF等,其余英文部分,如未加说明一律使用小写B.Cognos工程(Project):直接使用项目或应用专题名称C.顶级namespace:项目组或者应用专题的简称+’_’+ COGNOS模型,一个项目组原则上只建立一个Cognos工程。
如:SMIS_COGNOS模型D.逻辑数据源:项目组组或者应用专题的简称+’_’+’rdb/mdb/txt/oth’,其中,rdb代表关系数据库,mdb代表多维数据库,txt代表文本数据,不属于上述任何一种数据源的使用oth,原则上,一个工程只允许新建一个数据源,如果确实有必要建立多个逻辑数据源的,需要在上述命名规则后添加三位数字序号,如ERPF_mdb_001E.名称空间和目录、查询主题、查询对象,根据具体的业务含义进行设置,除专有名称外,原则上只使用中文,并避免直接使用技术术语,在名称的选取上要力求规整F.过滤:根据过滤条件的实际意义用中文进行描述1.4安全设计A.安全控制原则:机构层级+角色访问控制(RBAC)通过会话函数(session)取得用户所在机构对用户所访问数据进行权限控制,再通过给用户分配不同的角色对用户所访问的报表进行权限控制。
一般的,上级机构用户具备所有下级机构用户在数据和报表的访问权限。
B.对象安全性的实现通过设置对象可视性给对象提供可视权限,设置哪些用户、组和角色具有对象的可视权力,拒绝所有其它的用户、组和角色的访问。
C.数据安全性的实现通过设定包访问权限来实现元数据的安全性;通过定义数据安全性过滤,限制查询主题返回的数据。
1.5功能安全性对于Congos几种默认角色要求:A.系统管理员:对于系统管理员角色用户,可视为根用户或超级用户,所以可以任意访问和更改资料库的对象,并且能够更改其他角色的关系,因此系统管理员的成员中不允许包含所有人用户。
B.匿名用户:匿名用户可以访问未设置权限的,或已经授权给匿名用户角色或所有人角色的资源。
C.授权用户:授权用户是经过权限设置者授权的用户,是由Cognos产品自身维护的,其他人不能对该角色进行配置。
D.所有人:所有人用户是由Cognos产品自身维护的。
对于所有人角色用户,相当于匿名用户及所有授权用户。
可以使用所有人用户来对资源进行快速默认授权设置。
1.6包设计规范A.一个项目组原则上只发布一个包,由于应用的需要必须设置多个包的时候,可以使用包的应用进行区分,命名如下:项目简称+’_’XXXX,XXXX代表应用名称,一般使用中文,如ERPF_总帐报表,ERPF_资产查询B.命名的原则:中文部分按照业务的原则组织,避免使用技术的术语,如“ERPF_资产模型”是不符合规范的命名C.包发布规范:只发布展示层文件夹的内容。
发布后内容如下图:2.报表界面设计2.1.报表页面A.实体页面根据实际应用情况同一报表可以建立多个实体页面。
B.提示页面可以根据实体页面的数量进行创建,原则上和实体页面保持一致,提示页面尽量避免使用多步操作的方式,即尽量在单一页面上完成所有的选择操作。
C.报表页面名称命名根据需求而定,提示页面命名也要和报表页面保持一致。
例如报表页面名称为概要表,那么提示页面名称也应该是概要表。
D.推荐使用的报表对象为交叉表、列表、图表限制使用的报表对象是重复器2.2.查询对象A.单个查询a. 如果查询对象是用于报表页面的,则以Q_开头,如果是用于提示页面的,则以QP_开头,后面接具体含义的中文字符。
例如“机构”用于提示页的查询可命名为:QP_机构,而“营业额汇总”用于报表页的查询可命名为:Q_营业额汇总。
B.多个查询连接a. 如果查询对象由多个查询连接而成,则以J_开头,中文字符部分分别取各查询的中文部分。
例如要对“Q_本年”与“Q_年初”查询进行连接,连接后命名可设为:J_本年_年初。
C.多个查询合并a.如果查询对象由多个查询合并而成,则以U_开头,命名规则与多个查询连接类似。
例如:U_上年消费_今年消费。
2.3.变量命名A.参数项名称必须是由英文字母、数字和下划线组成,必须全部小写,并以p_ 开头;B.参数项名称不允许包括以下字样:_sql_isselectone_datasource_view_ref_value_btnC.特殊参数项名称:日期:p_date开始日期:p_begin_date结束日期:p_end_dateCognos报表开发规范机构:p_branch_code或p_company币种:p_currency注意:以上类型的参数项,必须以此命名。
否则无法使用报表缓存及作业功能。
2.4.常用数据格式A.数字当报表展现余额时,那么它的数据格式应选择数字,并且保留2位小数。
B.百分比当报表需要展现比率时,那么它的数字格式应该选择百分比,并且保留2位小数。
C.金额单位a)当使用金额单位为元时,金额乘以1。
b)当使用金额单位为万元时,金额乘以0.0001。
c)当使用金额单位为百万时,金额乘以0.000001。
d)当使用金额单位为亿元时,金额乘以0.00000001。
2.5.列表样式以列状格式展现报表数据,具体应用应根据实际情况决定。
A.列表边框颜色,样式,宽度。
颜色:黑色,样式:实线,宽度:1pt。
B.列表列标题边框,字体,背景颜色。
边框的颜色,样式,宽度分别用黑色,实线,0.5pt。
字体大小、粗细:默认,黑体。
背景颜色:默认。
C.列表列正文字体,边框,背景颜色。
字体:默认,常规。
边框的颜色,样式,宽度分别用黑色,实线,0.25磅。
必要时可以为报表添加背景图片。
D.列表页脚字体,边框,背景颜色。
字体:默认,黑体。
边框的颜色,样式,宽度分别用黑色,实线,0.25磅。
E.报表查询日期在报表页面的页脚使用报表函数asfodate()。
F.报表查询时间在报表页面的页脚使用报表函数asfotime()。
G.报表页面页码在报表页面的页脚使用报表函数PageNumber()函数。
2.6.交叉表样式按维度以交叉状格式展现报表数据,具体应用应根据实际情况决定A.交叉表边框颜色,样式,宽度。
颜色:黑色,样式:实线,宽度:1pt。
B.交叉表节点成员边框,字体,背景颜色。
边框的颜色,样式,宽度分别用黑色,实线,1pt。
字体大小、粗细:默认,黑体。
背景颜色:默认。
C.交叉表资料单元格字体,边框,背景颜色。
字体大小、粗细:默认,常规。
边框的颜色,样式,宽度分别用黑色,实线,0.25磅。
背景颜色使用默认。
必要时可以添加背景图片。
Cognos报表开发规范D.交叉表角字体,边框,背景颜色。
字体大小、粗细:默认,黑体。
边框的颜色,样式,宽度分别用黑色,实线,1磅。
背景颜色使用默认。
E.交叉表页脚字体,边框,背景颜色。
字体:默认,黑体。
边框的颜色,样式,宽度分别用黑色,实线,0.25磅。
F.报表查询日期在报表页面的页脚使用报表函数asfodate()。
G.报表查询时间在报表页面的页脚使用报表函数asfotime()。
H.报表页面页码在报表页面的页脚使用报表函数PageNumber()函数。
3. Cognos部署规范3.1.目录的规划1)至少包含一级目录2)根据需要可以设置多级目录3)具体应用的目录只建立在模型目录下,并且报表应放在实现该报表的模型目录下。
4)报表不能放在公共文件目录下。
5)存放报表的目录不能再存放其它目录。
6)共享报表可以在公共文件夹的根目录设置子目录,但是必须由管理员设定。
7)目录命名规则:目录存放报表业务主题英文简称+报表目录的中文名称。
3.2.部署包导出要点1)选择公共文件夹和目录内容2)禁止导入后禁用选项3)包含Cognos组和角色4)包含访问权限和对外部名称空间的引用5)将所有者设置为执行导入的用户6)应用于新条目和现有条目7)保存并运行一次。