cognos报表知识整理
Cognos报表展示
Cognos
• 我们可以把商业智能看成一种解决方案。商业智能的关键是从许多来自不同的企业运作系统的数据中提取出 有用的数据并进行清理,以保证数据的正确性,然后经过抽取(Extraction)、转换(Transformation)和 装载(Load),即ETL过程,合并到一个企业级的数据仓库里,从而得到企业数据的一个全局视图,在此 基础上利用合适的查询和分析工具、数据挖掘工具、OLAP工具等对其进行分析和处理(这时信息变为辅助 决策的知识),最后将知识呈现给管理者,为管理者的决策过程提供支持。目前,商业智能产品及解决方案 大致可分为数据仓库产品、数据抽取产品、OLAP产品、展示产品、和集成以上几种产品的针对某个应用的 整体解决方案等。
上钻,下钻,穿透钻取,到 任意相关信息
自助式报表,查询和分析, 提高了最终用户得到信息 的速度
用户
和MS Office无缝集成
多语言支持
为用户屏蔽数据的复杂性
低培训和支持成本,支持广泛的用户范围
Cognos技术特点
考察角 度 友好性
统一元 数据 Web方式
前端工具
界面简洁,从简单到复杂报表都是直 接使用鼠标拖拽,不需要编写程序 所有的前端功能使用统一的元数据。
ห้องสมุดไป่ตู้
议程
1.Cognos工具介绍 2.Cognos报表解决方案 ▪ 1).动态交互式报表 ▪ 2).仪表盘式报表 ▪ 3).图文并茂复杂报表 ▪ 4).中国式复杂报表 ▪ 5).统计分析报表 3.Cognos报表工具特点
仪表盘报表显示
议程
1.Cognos工具介绍 2.Cognos报表解决方案 ▪ 1).动态交互式报表 ▪ 2).仪表盘式报表 ▪ 3).图文并茂复杂报表 ▪ 4).中国式复杂报表 ▪ 5).统计分析报表 3.Cognos报表工具特点
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基础知识及操作入门
调整数据库连接池大小, 以适应并发访问需求。
使用缓存技术,提高数据 访问速度。
05 报告设计技巧与实践
报告布局与样式设置方法
布局原则
遵循简洁明了、重点突出、信息完整等原则,合理规 划报告布局。
样式设置
通过调整字体、颜色、背景等样式元素,提升报告整 体视觉效果。
标题与段落
实时数据刷新机制设置方法
数据源配置
确保数据源连接正常,并设置合适的数据刷新频率。
缓存策略
合理利用缓存机制,减轻服务器负担,提高数据加载速度。
异步加载
采用异步加载技术,避免页面卡顿和数据延迟现象。
实时推送
结合WebSocket等实时通信技术,实现数据的实时推送和更新。
仪表板性能优化建议
数据预处理
在数据源端进行数据清洗、聚合等预处理操 作,减少数据传输量和计算复杂度。
最近访问
显示用户最近访问的报告或仪表板,方便快速进 入。
菜单栏与工具栏功能详解
01
菜单栏
包括文件、编辑、查看、插入、 格式、工具、窗口和帮助等菜单 项,提供全面的操作选项。
工具栏
02
03
右键菜单
提供常用功能的快捷按钮,如保 存、打印、剪切、复制、粘贴、 撤销和重做等。
在报告或仪表板中右键单击元素 ,可弹出针对该元素的特定操作 菜单。
立方体(Cube)
多维数据集的一种表现形式,由多个维度和度量组成,用于数据分析 和报表展示。
维度(Dimension)
描述数据业务特性的层级结构,如时间、地区、产品等。
度量(Measure)
用于聚合计算的数值型数据,如销售额、利润等。
多维数据集(Multidimension…
(COGNOS)系统使用笔记资料
COGNOS使用笔记目录1 系统架构 (3)1.1I MPROMPTU W EB R EPORTS及其相关组件的系统架构 (3)1.2P OWER P LAY E NTERPRISE S ERVER及其相关组件的系统架构 (5)2 系统安装 (6)2.1N ETSCAPE D IRECTORY S ERVER的安装和配置 (7)2.1.1 Netscape Directory Server 4.12 的安装 (7)2.1.2N ETSCAPE D IRECTORY S ERVER 的配置 (7)2.2的安装和配置 (7)2.2.1 Data Store 的安装 (7)2.2.2 Impromptu Web Reports Server 的安装 (7)2.2.3 GateWay 的安装 (8)2.2.4 Impromptu Web Reports Administration、IWR Samples、IWR Online Books的安装 (8)2.3 的安装 (8)2.3.1 Access Manager Admin Tools、Access Manager Trusted Signon SDK、Common Logon Server 、Ticket Server的安装 (8)2.3.2 配置Access Manager Administration (8)2.3.3 配置Access Manager Configuration (9)2.3.4 PowerPlay Enterprise Server、PowerPlay Enterprise Server Administration 的安装 (9)2.3.5 配置Web Server (10)2.3.6 Upfront、Upfront Server Administration 的安装 (10)2.4 MPROMPTU 6.0A DMIN E DTION的安装 (10)2.5C OGNOS D ISTRIBUTE S HUTTLE B UILDER的安装 (11)2.6的安装 (11)2.7A DOBE A CROBAT R EADER 的安装 (11)2.7.的安装 (11)2.7.2 Adobe Acrobat Reader 简体汉字的安装 (11)2.8激活I MPROMPTU W EB R EPORTS 的R EPORT S ERVER (11)2.9在U PFRONT中添加SERVER (11)3 系统开发流程 (12)3.1开发流程图 (12)3.2I MROMPTU报表的开发流程 (12)3.3P OWER P LAY报表的开发流程 (12)1 系统架构数据仓库实施中,前端分析中的利器Cognos,通常会用到其以下两大块:Impromptu 和PowerPlay。
Cognos制作报表--基本范例5
常用控件、功能、方法介绍1、页面:在COGNOS report studio系统中,页面分为两种,一种是报表页面,即是报表运行最后要显示数据的页面,是必需的。
另一种是提示页面,是为用户选择过滤条件提供的一个页面,如果报表中同时包含这两种页面,则运行后先显示提示页面,供用户选择条件后,再转到报表页面,而报表页面显示的数据则是经过从提示页面的选择条件过滤后的数据。
查看页面的情况可将鼠标放到“页面资料管理器”面板上,即弹出,如下图:2、查询:“查询”图标如下图:“查询”为数据的显示提供了一个结构,在报表中显示的数据是通过“查询”从数据源中获取数据的,类似于数据库中视图的概念,打开一个查询,结构如下图:左边红圈中是该查询中的数据结构,或理解为一个表中的字段,而右边红圈中是一些过滤的条件,类似于查询语句中的where句中的条件。
3、变量:分为三种变量,第一种是布尔变量,只有两种取值,第二种是字符串变量,可有多个取值,第三种是语言种类变量。
一般来说,前面两种用得比较多。
其实,这里“变量”的概念与提示页面中传给报表页面的“参数变量”是完全不同的,也和程序设计中的变量有所不同。
如下图:通常变量中有一个表达式,变量的取值就是根据表达式的结果等到的,如上图选中的是布尔变量,有“是”与“否”两个值。
例如表达式为“帐面收入“度量值>2000元,那么当结果为真是取值“是”,反之取“否”。
同理,在字符串变量中,各个取值是事先由用户输入的,这点与布尔变量不同,而表达式中的结果有可能与其中一个取值相同。
总的来说,通过“变量”可以控制控件、页面等的显示和隐藏,显示的样式等。
4、列表与交叉表:两者相同的地方就是都是用于显示数据,一般与“查询”联系起来,其实列表与交叉表只是提供一种显示的格式,而真正获取数据的还是“查询”。
两者不同的地方就是数据表达的形式不一样。
下面举个例,如下图:要显示的数据是:部门,产品,帐面收入。
分别用两种表显示,其实功能是一样的,只是表示的格式不同,交叉表交叉的单元格就是确定某一部门某一产品的帐面收入。
Cognos制作报表--基本范例2
模型的物理和逻辑定义
1,模型定义的规范:将模型分为2个部分,分别为物理层和逻辑层,物理层为从数据源引入表的物理定义和连接关系,逻辑层为业务视角下的逻辑定义。
2,物理层的建立:根据数据分析,设计模型中需创建的物理表,以便尽可能的提高查询语句的运行效率(比较理想的结构是星形结构,一个中间表和多个物理维表)。
在根名字空间(和数据源同名)下,建立一个名为物理层的目录,在物理层文件夹下执行Run Metedate Wizard将数据源中相关的物理表引入这个目录,然后将这些表建立连接关系,建议不要有Orphan表。
如下图:
3,逻辑层的定义:在根名字空间下,建立一个名为逻辑层的目录,在逻辑层文件夹下生成Query Subject,Query Subject的字段都是根据业务逻辑从物理层从引入,建议字段名都为中文。
逻辑层中的表为事实表和维表的结构,在事实表中包含维度的编码值和指标的值,维表中包括每个维度上编码值和其名称的对应关系。
也可以根据需要建立Regular Dimension(3.4说明),在逻辑层中不要建立逻辑表之间的关系。
如下图:
层次的名字空间,不同的名字空间定义不同的物理层和逻辑层。
cognos开发实用文档_整理
1.模糊查询.[R_D_OFFER_PACKAGE_LIST].[OFFER_NAME] like '%' ||?offer_name? ||'%'2.动态更改报表名报表名称随着提示框的内容而变化。
如下图所示:制作过程如下:报表标题的动态部分是由“Text Item”做的,像上图中的“一月南京”是由两个“Text Item”组成的,分别指向两个选择框。
具体操作如下:1、拉一个“Text Item”到报表标题中2、选中该“Text Item”元素,在属性框中找到“Report Expression”项。
点击“…”,在弹出的对话框中选择参数“Parameters”选项卡,3、通过双击某一参数,将该参数选入窗口的右边,点击“ok”。
这样就实现了“Text Item”到这个参数的关联。
如下图:3.在报表数据中增加柱状图形1、在列表中增加三个HTML项目2、三个HTML项目元素的属性设置如下:1、html属性(<div style="background-color:maroon;overflow:hidden;height:10px;width:)description属性(div)2、report Expression属性([CHARGE]/10000000*2)description属性(real)3、html属性(px"> </div>)description属性(/div)3、结果如图所示4.页面钻取有下图这样一张交叉表展示话单数,现在我们希望通过点击话单数指标来查看某一天、某个地区的业务量各指标值,这个时候就需要用到钻取功能。
新建钻取子表报表保存为“子表”;添加子表的接收参数建立钻取链接选中父表内容,右键点击,选择追溯新建追溯,在目标报表栏,浏览选择钻取目标是“子表”;修改接收参数来源接收参数默认是点击的内容“NUM_CDRS”,需要修改为area参数接收“AREA_NAME”,time参数接收“TIME_CODE”;点击确定,钻取链接就设置完成了。
cognos 学习笔记
63byt56 邮箱1. 仪表板轴?2.饼图的表现形式3.自定义坐标轴4.超链接和图片怎么重叠2. 图标定位370,550,一个页面单个图表的时候,一般定位700,1100px. 表格定位:高度看情况。
宽度1100或10243. 当前日期-1,可类似表示为[FJSL_DW].[日期].[日] in( _add_days(current_date,-1))4. 日期字段显示:substring ([FJSL_DW].[日期].[日],1,4)+'年'+[FJSL_DW].[日期].[月]+substring ([FJSL_DW].[日期].[日],9,10)+'日'+[FJSL_DW].[日期].[周]5 . Mod(rownumber(),2)=1 或者 0,列表隔行换颜色,0是第一行有颜色,1是第二行有颜色;6. topCount([FJSL_DW].[住院病区].[病区代码],10,[住院收入])7.例子:case when [场所信息].[RIS 检查室].[检查室]='CT检查室1' then '64层xxxx'when [场所信息].[RIS 检查室].[检查室]='急诊CT' then '128排xxxx' when [场所信息].[RIS 检查室].[检查室]='新MRI01' then '飞利xxxx' when [场所信息].[RIS 检查室].[检查室]='CT检查室2' then '64层xxxx' when [场所信息].[RIS 检查室].[检查室]='新MRI02' then '西门xxxx' when [场所信息].[RIS 检查室].[检查室]='拍摄室3' then '西门xxxx' when [场所信息].[RIS 检查室].[检查室]='拍摄室9' then '西门xxxx' when [场所信息].[RIS 检查室].[检查室]='急诊DR' then '飞利xxxx' when [场所信息].[RIS 检查室].[检查室]='国内DR' then '岛津xxxx' when [场所信息].[RIS 检查室].[检查室]='移动DR' then '西门xxxx' when [场所信息].[RIS 检查室].[检查室]='乳腺检查室10' then 'GExxxx' when[场所信息].[RIS 检查室].[检查室]='移动DR2' then '移动xxxx' when[场所信息].[RIS 检查室].[检查室]='数字胃肠' then '数字xxxx'when[场所信息].[RIS 检查室].[检查室]='门诊CR' then '门诊xxxx'when[场所信息].[RIS 检查室].[检查室]='DSA室' then 'DSxxxx'when[场所信息].[RIS 检查室].[检查室]='门诊CT' then '门诊xxxx'when[场所信息].[RIS 检查室].[检查室]='口腔拍片室' then '口腔xxxx' else [场所信息].[RIS 检查室].[检查室] end8.调色板<RSClipboardFragment version="2.0"><chartPalette><chartColor value="#3C6494"/><chartColor value="#993333"/><chartColor value="#799244"/><chartColor value="#634D7E"/><chartColorvalue="#39869B"/><chartColor value="#C27535"/><chartColor value="#4978B1"/><chartColor value="#B34A47"/><chartColor value="#91AF53"/><chartColor value="#775D97"/><chartColor value="#46A1B9"/><chartColor value="#E78C41"/><chartColor value="#7E9BC8"/><chartColor value="#CA7E7D"/><chartColor value="#AEC683"/><chartColor value="#9B89B3"/><chartColor value="#7CBBCF"/></chartPalette></RSClipboardFragment>9.图注显示到图标底部:选定图注---属性--定位大小---绝对位置显示为否---才可以看到位置选项---选择底部10.y轴度量排序,先选择查询项,然后点y轴度量,在数据项里有个预排序11.横坐标星期排序,先排日期,在再选择星期排序,ok12.在柱状图上面显示数值,先选中图标中的系列,在图标标签位置----值---选择为---显示---值位置选择顶部外侧。
Cognos资料
分页、1.拖一个一行两列的表格到报表画布中。
2.分别拖一个块对象到表格的每一列中。
3.拖一个交叉表到表格左边一列的块中。
4.拖入相应字段填充交叉表,在本例中,所用字段为cognos自带示样包中的Go Sales(query)--> Sales (query) 中的一些字段,具体如下图5.按住Ctrl键,同时点击所有的交叉表行,交叉表列以及交叉表度量,在属性窗格的字体和文本下设置空白属性为无换行,然后设置交叉表行标题的水平排列为居中。
6.复制交叉表,将其粘贴到表格右边一列的块中。
7.在属性窗格中,命名左边的交叉表为leftCrosstab,右边的交叉表为rightCrosstab。
8.隐藏左边交叉表leftCrosstab的交叉表列和交叉表度量,按住Ctrl键,点击左边交叉表的所有列和所有度量,在属性窗格中的方框对象下,设置方框类型属性为无。
同样地隐藏右边交叉表rightCrosstab的交叉表角和交叉表行。
9.分别拖两个HTML项目到表格右边列的块对象的两边,使块在HTML项目包裹之中复制下面的代码到前面的HTML项目中,该段代码中可以根据需要修改width的值,以适应度量区域的宽度:<div id="freeze" style=" overflow:auto; overflow-y: hidden; white-space:nowrap; width:500px;">复制下面的代码到后面的HTML项目中:</div>10.点击表格右边一列中的块对象,在属性窗格中的方框对象的填充属性中设置其下填充为14px,这样是为了保证滚动条没有挡住最下面的一条数据。
11.拖一个HTML项目到表格的下面,然后复制下面的代码到该HTML项目中,根据自己电脑分辨率的大小,需要修改代码中original_width的值:<script>var original_width = 1280; // Original screen width in which report was developedvar current_width = screen.width; // Detects width of the screenif(current_width != original_width){//Get width of the ‘right’ blockvar set_width = parseInt(document.getElementById("freeze").style.pixelWidth);if ((set_width + current_width – original_width) > 0){//Add the difference of current screen width and// original screen width to adjust the block sizeset_width = (set_width + current_width – original_width) +"px";document.getElementById("freeze").style.width = set_width;}}</script>12.选中表格左边一列,设置其水平排列为居右,垂直排列为顶部,在大小和溢出属性中设置其宽度为1%。
Cognos报表开发技巧整理
1实现行属性的目录树展开功能。
1.1在LIST报表中的现实1.拖入6个字段,并且对产品系列、产品类型分组,如下图:2.添加产品系列、产品类型的页眉3.拆分产品系列、产品类型的单元格4.将产品系列、和产品类型的汇总拖到产品名称处5.删除产品系列,产品类型6.打开列表的锁7.按住CTRL,拖动数量、单位成本、单价到产品类型,产品系列的页眉处8.在report page中插入HTML控件,然后拷贝如下代码进去,下面代码主要是定义了两个函数,一个用于目录树的展开与缩进,另一个用于页面初始化时隐藏一些数据,下面代码只支持到2层目录,更详细的含义可参考的在交叉表中实现目录树功能的注释。
代码如下:<script>function ExpandCollapse( el ){var tr = el.parentElement.parentElement;var tbl = tr.parentElement.parentElement;var sDisplay = ( el.src.indexOf( "minus" ) == -1 ) ? "" : "none";var sDisplayReverse = ( el.src.indexOf( "minus" ) == -1 ) ? "none" : "";el.src = "../pat/images/PropertyGroup_" + ( el.src.indexOf( "minus" ) == -1 ? "minus" : "plus" ) + ".gif";for ( var i = tr.rowIndex + 1; i < tbl.rows.length; i++ ){var trCurrent = tbl.rows( i );if ( trCurrent.cells( 0 ).firstChild && trCurrent.cells( 0 ).getElementsByTagName( "IMG" ).length ){if ( tr.cells(0).style.paddingLeft =="" && trCurrent.cells(0).style.paddingLeft =="20px" ){if (el.src.indexOf( "minus" ) == -1 ){trCurrent.cells(0).getElementsByTagName("IMG").item(0).src = "../pat/images/PropertyGroup_plus.gif";}}else {break;}}if ( tr.cells(0).style.paddingLeft =="" && trCurrent.cells(0).style.paddingLeft =="40px" && el.src.indexOf( "minus" ) >0 ){trCurrent.style.display = sDisplayReverse;}else {trCurrent.style.display = sDisplay;}}}function StartHidden(el){var tbl=el.parentElement.parentElement.parentElement.parentElement;for (var i = 0; i < tbl.rows.length; i++){var trCurrent = tbl.rows(i);if (trCurrent.cells(0).style.paddingLeft.indexOf("px") > -1){trCurrent.style.display = "none";}}}</script>9.拖入两个HTML项目插入到产品系列与产品类型单元格前面,修改成查询项目,并修改表达式产品系列中HTML控件代码如下:'<img onclick=''ExpandCollapse(this)'' src=''../pat/images/PropertyGroup_plus.gif'' style=''cursor:hand; vertical-align:middle; margin-right:2px''/><span onclick=''ExpandCollapse(this.previousSibling)'' style=''cursor:hand''>'+ [gosales_goretailers].[产品].[产品系列] + '</span>'产品类型中HTML控件代码如下:'<img onclick=''ExpandCollapse(this)'' src=''../pat/images/PropertyGroup_plus.gif'' style=''cursor:hand; vertical-align:middle; margin-right:2px''/><span onclick=''ExpandCollapse(this.previousSibling)'' style=''cursor:hand''>'+ [gosales_goretailers].[产品].[产品类型] + '</span>'10.删除掉产品系列和产品类型11.设置产品类型的填充为左侧20,设置产品名称的填充为左侧4012.增加列表页脚(注意,这里的HTML控件一定要放入表页脚里面,否则不能实现隐藏数据的功能),并拷贝HTML代码,删除掉列表页脚几个字代码如下:<img onload='StartHidden(this)' src='../pat/images/blank.gif'/>13.选择列表,并设置列表每页行数为9999(这样就不用再翻页了)14.这样一个树状报表就做好了,剩下就是调整颜色,样式的工作了1.2交叉表实现在交叉表中现实目录树有两种方法,第一种主要技术是通过UNION等方法首先实现类似分组的功能,然后再利用HTML代码实现,第二种的主要技术是建立在一定的前提下,前提是:在制作报表前已对数据模型进行了特殊的设计。
cognos使用技巧
回到第二张报表
设置点击返回,设置追溯
将第一张报表传过来的起始时间和截止时间再传回去
四、值提示级联
运行效果
选择年份,后面的月份可以根据年份级联显示
1、首先年和月必须有一定的关联关系,要不就是在一个cube里面的一个时间维度,年份可以确定月份,要不就是同一个维表的年和月字段,通过年份可以查询月份
//selectedNodes[selectedNodes.length] = inner["outerText"];
selectedNodes[selectedNodes.length] = node;
}
return selectedNodes;
};
var treeInput;
var treePrompt;
Html2:
<script type = "text/javascript">
function init()
{
//getFormWarpRequest()._oLstChoices_PromptYearInitial[2].selected = "true";
var form = getFormWarpRequest();
text = text+","+selectedNodes [k].getLabel()["outerText"];
}
treeInput.value = text.substring(1,text.length);
}
</script>
Html2:
<divid="region" onmousedown="Timer('inRegion','region2')" style="z-index:999;top:60;left:100;display:none;position:absolute">
Cognos入门到精通基础知识
2019/10/17
12
客户端组件(二)
Event Studio 事件通知管理器
Metric Studio 监测、分析管理器
Report Viewer 报表查看器
2019/10/17
13
主题
基础介绍 解决方案 组件介绍 版本说明 安装与配置 多维模型设计 制作固定报表
5
技术架构
2019/10/17
6
解决方案
2019/10/17
7
工作流程
2019/10/17
8
Web用户界面
2019/10/17
9
主题
基础介绍 解决方案 组件介绍 版本说明 安装与配置 多维模型设计 制作固定报表
10
服务器组件
Cognos8BI Server 提供即席查询,报表制作,报表发布,OLAP多维分析等服务
Cognos 强大的报表制作和展示功能能够制作/展示任何形式的报表,其纯粹的Web 界面使用方式 又使得部署成本和管理成本降到最低。同时Cognos 还可以同数据挖掘工具、统计分析工具配合使 用,增强决策分析功能。
2019/10/17
4
主题
基础介绍 解决方案 组件介绍 版本说明 安装与配置 多维模型设计 制作固定报表
2019/10/17
16
Cognos 8.3(一)
组件:Cognos8 BI服务器 Cognos8 关系模型开发工具 Cognos8 多维模型开发工具 语言包
开发流程: Cognos8.3以前版本的开发流程照常实用于该版本。
2019/10/17
17
Cognos 8.3(二)
说明: Transformer制作多维模型时,数据源的类型增加了Cognos 自身的报表和数据包,因此开发流程中
第一次接触cognos之第-5-部分-第一张复杂报表
第一次接触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 打开了您的第一个自助式设计分析。
cognos报表—知识整理
Cognos报表—知识整理一、提示页自动加载1、功能需求背景华中电网概况报表首页需要有日期参数,但是每次进入首页时出现日期选择框影响美观,所以为其增加提示页面,但根据要求不能增加提示页面,所以设计出提示页面自动加载。
通俗的讲就比如:出现提示页面,电脑自动点击确定进入主页面……2、功能实现方法步骤1:新建提示页面,新页面中内容包括:onload项目、完成按钮、日期提示框以及针对提示框的html项目。
如下图1图1步骤2:Onload项目中函数:详见图1<body onload= "initMon()"><script language="javascript">function initMon(){promptButtonFinish();}</script>二、进入页面后自动刷新一次1、功能需求背景电网概况报表电厂容量分析主页面中,需要自动根据日期刷新一次页面(具体原因参见三、特殊的日期过滤)2、功能实现方法步骤1:Onload项目加载函数,如图2图2步骤2:Js中函数新加一行代码,如图3图33、可参考报表电网概况报表>>1.电厂容量分析三、特殊的日期过滤1、功能需求背景电网概况中发电情况包括水、火、风三种发电方式,在数据库中体现即为水(火、风)电机组管理(参数)表。
根据用户要求,需要对全网水(火、风)当年新投机组容量等进行数据统计,2、设计思想1)将水、火、风机组管理表分别对应查询中取相同数据项,为U联做准备。
2)在三个查询中新建“投运年”数据项,取得机组投运年份。
表达式:substr(【投运日期】,1,4)3)将三个查询进行U联,给U联后的查询设置过滤条件,如图4图43、出现问题分析根据2、设计思想中进行操作,报表验证报错,不能对substr进行集操作,经查询得知,dm 数据库不支持在两层(原层和U联层)查询中同时使用substr。
Cognos_查询、报表培训
使用Query Studio、Report Studio制作报表
Cognos简介
什么是商务智能? 商务智能(Business Intelligence,简称BI)是
以数据仓库为基础,结合决策支持系统来帮助有关部 门,加强对业务信息的智能化管理,帮助企业获得竞 争优势的技术。它的作用包括:
QueryStudio简介
QueryStudio菜单
QueryStudio简介
QueryStudio工具栏
创建QueryStudio报表
点击“插入数据”栏,左边出现数据的模型结构,然后 将整个查询拖到右边的编辑区,如下图所示:
创建QueryStudio报表
当模型中的查询项被拖到列表后,各项的数据即显示出来,其实这已 是报表的结果了。接着为报表添加过滤条件,如下图所示,首先点击 “编辑数据”栏,然后在列表中选定一列,这里假定选定“证券名称” 列,最后点击左边的“过滤器”。
Cognos组件简介
关系型数 据库
关系型数 据库
数据集中、整合
数
数据仓库
其它数据 文件
据 源
层
Framework Manager
基于LDAP的安 全性控制
数据库连接定义 数据源定义
CognosPowerplay Transformation Server
PowerCubes数据立方体
Cognos server Web Server cognos用户
同时,如有需要,也可以将原来的“成交金额”列删除,并不会影响计算出来的列 “成交金额*2”。
对列表中的数据进行处理
“广西区分行”列中的数据源是从层次维来的,默认情况下有上 下钻取功能,可点击右键后可选择“向下追溯”或“向上追溯”。
Cognos术语汇编(doc13)
Cognos术语汇编累计(aggregate}包括汇总成分和FOR语句的计算,FOR语句指出了是按哪个组在进行累计运算。
累计计算与它在报表中的位置无关,与它所对应的组有关。
你可以进行下列累计运算:求和、最小值、最大值、平均值、计数、排序、百分位数、百分比、累积求和,累积最小值,累积最大值、累积平均值、累积计数和标准偏差。
累计也叫做汇总。
别名(alias)数据库表的另一个名称。
创建表的别名是为了建立自连接,你增加了同一表的两份复件,因此可以将一个表中的值联系起来,例如,当所有员工的数据都在一个数据库表中时,你可以查出哪个雇员为哪个经理工作。
你还可以建立表的别名,把它用于过滤器表达式,以创建表中部分数据的视图。
例如,你可以在“Manager/经理)”的姓名下面建立“Employee{员工)”表的别名,来创建每个经理雇员表的视图。
然后你可以在“Manager”表中使用过滤器表达式,创建该视图。
关联数据项(associated data item)链接到组数据项的数据项。
关联数据项压缩重复的数据值,但不会产生一个控制中断。
例如,如果“Customer Number(客户编号)”是组数据项,你可以把它规定为关联数据项而进行压缩。
这样,当“Customer Number”出现在报表中时,它只在组中出现一次。
把数据项标为关联会影响Impromptu汇总计算值。
另见组数据项自动关联(automatic association)新创建汇总组的关联。
创建汇总所在组的位置决定了它的关联。
如果使用“查询”对话框“数据”标签页中的“计算”按钮创建汇总,在运行查询前,汇总出现在“分组顺序”框的底部。
在运行查询以后,汇总出现在“分组顺序”对话框最后一组的下面。
如果将有自动关联的汇总移到报表中的新位置,它将出现在代表新位置的组下面。
另见汇总。
自动化(automation)另见OLE自动化。
位图(bitmap)由屏幕上像素组成、并以字节集形式存贮的图像。
Cognos入门到精通-高级知识库
Cognos Connection
元数据建模工具
Framework Manager
数据源
业务数据库 文本文件 Dbase文件、Access Cube
6 > 3/26/2019
展现层: 纯浏览器没有插件
Cognos 门户: 单点访问
- 采用Portlet技术 - 报表用户 - 分析用户 (OLAP 和 ROLAP) - 业务报表制作 (Ad Hoc Query) - 专业的报表制作
报表与查询 OLAP 分析
OLAP服务器 ETL工具 元数据模型 数据存储
5 > 3/26/2019
Cognos8应用结构
Cognos 8是Cognos基于Web的业务智能解决方案.
Query Studio Report Studio Analysis Studio
面向报表创建和管 理的Web界面
Bea WebLogic
IBM Websphere
12 > 3/26/2019
实例: 报表请求处理过程
Web server上的网关对http 调度器接收要运行报表的 SOAP 请求,并传 展现服务添加察看界面 (请求进行处理, 带有菜单、按钮 报表服务接收到调度器的请求,然后和 报表阅读器发送执行的报表请求到负责均 Content Manager 报表服务生成 html页面,并通过含有 和Content store通信,检索 HTML面 Web server 从用户浏览器中获得请求 报表服务根据报表定义查询数据库执行报表 Content 将其转换为 Manager SOAP 通信,索要决定报表内容和 协议兼容的请求,并把它 送请求到展现服务同时调用报表阅读器功 载平衡的调度器。调度器发送请求到本地 等),并发送完整的HTML页面到调度器 报表定义,然后将报表定义传送回报表服务 页的调度器发送一个反馈信息到展现服务 ,检索数据并格式化输出成被请求的风格 布局的报表定义( 传递给调度器 能 报表服务 report specification) ,再通过网关返回到用户的浏览器上
cognos7学习笔记
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_STA TUSwhere 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 详细组件列表:从大模块来看,Cognos产品组件只有三个:各个大模块的功能分别是:Cognos Powerplay Transformation Server:负责将数据源变成数据立方体;Cognos Powerplay Enterprise Server:负责将数据立方体以OLAP分析、OLAP报表等方式展现出来;Cognos ReportNet Server:负责实现基于数据库的数据查询、报表制作、仪表盘制作、报表/仪表盘展示等等;如果将Cognos 各个模块细分,则包含如下组件:二Cognos 组件功能介绍:参照上图,我们介绍一下每个Cognos组件的功能:Cognos Powerplay Transformation Server部分:Cognos Impromptu:主要用来连接数据库,形成数据源定义(IQD文件),Transformer会根据数据源定义到源数据库中抽取数据;Cognos Transformer:在Windows界面中提供一个图形化的模型设计界面,供开发人员设计模型和调试模型;在UNIX版本中,这个模块名称为Cognos Powerplay Transformer UNIX Client,增加了设计界面对服务器的控制菜单;Cognos Transformation Server:后台的OLAP数据抽取转换引擎,用来把源数据抽取出来形成数据立方体。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cognos报表—知识整理一、提示页自动加载1、功能需求背景华中电网概况报表首页需要有日期参数,但是每次进入首页时出现日期选择框影响美观,所以为其增加提示页面,但根据要求不能增加提示页面,所以设计出提示页面自动加载。
通俗的讲就比如:出现提示页面,电脑自动点击确定进入主页面……2、功能实现方法步骤1:新建提示页面,新页面中内容包括:onload项目、完成按钮、日期提示框以及针对提示框的html项目。
如下图1图1步骤2:Onload项目中函数:详见图1<body onload= "initMon()"><script language="javascript">function initMon(){promptButtonFinish();}</script>二、进入页面后自动刷新一次1、功能需求背景电网概况报表电厂容量分析主页面中,需要自动根据日期刷新一次页面(具体原因参见三、特殊的日期过滤)2、功能实现方法步骤1:Onload项目加载函数,如图2图2步骤2:Js中函数新加一行代码,如图3图33、可参考报表电网概况报表>>1.电厂容量分析三、特殊的日期过滤1、功能需求背景电网概况中发电情况包括水、火、风三种发电方式,在数据库中体现即为水(火、风)电机组管理(参数)表。
根据用户要求,需要对全网水(火、风)当年新投机组容量等进行数据统计,2、设计思想1)将水、火、风机组管理表分别对应查询中取相同数据项,为U联做准备。
2)在三个查询中新建“投运年”数据项,取得机组投运年份。
表达式:substr(【投运日期】,1,4)3)将三个查询进行U联,给U联后的查询设置过滤条件,如图4图43、出现问题分析根据2、设计思想中进行操作,报表验证报错,不能对substr进行集操作,经查询得知,dm 数据库不支持在两层(原层和U联层)查询中同时使用substr。
4、新的解决方法思路如下图:步骤1:从日期提示框中取出“年份”。
substring(ParamDisplayValue('结束日期'),1,4)步骤2:给取出的年份配html项目,以便读取……(见下图)步骤3:新增“文本框提示”,参数名为“年份”,为其配置html项目,以便读入年份及隐藏。
(见下图)步骤4:读取数据,详见js截图步骤5:取得年份参数,为查询增加过滤条件……5、可参考报表电网概况报表>>1.电厂容量分析四、js控制的条件块跳转1、功能需求背景电网概况中,用户需要了解变电站的详细信息,但是通过列表的方式无法展示变电站所有信息,所以我们通过新增条件快,通过js触发条件块跳转,获得详细信息。
2、需要组件1)点击对象对应的html项目:2)页面变量(比较固定)3)对应js代码3、功能实现思路点击“查看”,触发函数onclick="setInputValue(this);js中的对应函数起到触发条件块转变作用!4、注意事项Js控制的条件块跳转,要注意参数传递问题!例如,电网概况中,条件块跳转实现的都是根据概况信息跳转查看详细信息,以变电站为例,只想看到一个变电站的详细信息,所以传递参数必须保证唯一性!5、可参考报表电网概况报表>>5.电厂机组管理五、调度值班用日期1、功能描述根据选择的年月,判断该月有多少天和每天对应的星期,并将周末显示红色,效果图如下:2、功能实现方法1)制作界面如下2)js代码实现3、可参考报表六、鼠标移动,对应列表行变色1、功能效果图2、功能实现方法步骤一:增加html项目Html项目中js代码:步骤二:增加css标签Css标签中内容3、可参考报表任何已经完成的报表七、特色表头(滑动出现标签)1、功能需求背景福建调度安全分析报表迁移到华中,因为单张报表比较独立,报表之间没有关联,因此在每张报表中都添加了所有报表名称的标签,随之而来了一个问题,标签过多,严重影响美观……2、制作效果图3、功能实现方法3.1、制作界面3.2、实现思路通过div标签区分出不同级别的标题,通过js代码实现鼠标滑动到哪里,哪些标签隐藏,哪些显示的具体功能……3.3、实现功能代码3.3.1、css代码具体js代码:<style type="text/css">h4,div,ul,li,span{ padding:0px; margin:0px}/* 最外面DIV的样式*/#slidingBlock {over-flow:hidden;margin:0;height:60px;border:0;}#nav_box{width:458px;text-align:center;margin: 0;}#slidingBlock a{color:#fff;cursor:hand;text-decoration:underline;}#slidingBlock h4 {float:left;width:78px;line-height:27px;text-align:center;font-size:12px;over-flow:hidden;float:left;}#slidingBlock h4.menuNo {background-image: url(../samples/images/biaoqian2.jpg); background-repeat: no-repeat;}#slidingBlock h4.menuOn {background-position: 0px;color:#fff;background-image: url(../samples/images/biaoqian1.jpg); background-repeat: no-repeat;}#line{width:5px;height:27px;float:left;}#slidingBlock DIV.slidingList_none {display:none}#slidingBlock DIV.slidingList {width:500px;margin-top:17px;clear:both;background-color: #009999;}#slidingBlock DIV.slidingList ul {margin:0px;padding:0px; list-style:none; }#slidingBlock DIV.slidingList li {float:left;height:20px;line-height:20px;font-size:12px;text-indent:15px;}</style>3.3.2、第一个div标签3.3.3、一级标题3.3.4、div-list1标签3.3.5、a标签3.4、更换亮色标签通过标签进入不同类型下的报表时,点击进入后要实现大类型的光亮,小标题显示黄色。
下面举例说明:从【计划跟踪>潮流裕度】跳转到【预防控制>煤情分析】计划跟踪>潮流裕度预防控制>煤情分析界面跳转步骤1、更改div-liset1标签或者<a>标签更改前更改后更改前更改后步骤2 1、改变【潮流裕度】字体颜色2、增加【潮流裕度】追溯定义1、改变【煤情分析】字体颜色2、删除【煤情分析】追溯定义步骤3、改变一级标签,以实现背景图片的变换更改前更改前4、可参见报表调度安全分析报表八、鼠标移动到列表,箭头所指向相应的行变色。
在<onload>后加<javascript css>代码如下:<script>var x = document.getElementsByTagName("highlight");for (i = 0;i<x.length;i++){var tablerow=x[i].parentElement.parentElement;var temp;if(i%2==0){tablerow.className="ji";}else{tablerow.className.replace("ji","");tablerow.className="ou";}tablerow.onmouseover=function(){temp=this.className;this.className="over"; //this.className用来设置样式;鼠标悬停在上面的时候,over是样式内容,over接下面<style></style>里的内容(用来设置背景颜色和边框颜色)}tablerow.onmouseout=function(){this.className=this.className.replace("over",""); //清空样式,把over后面的内容用空格代替this.className=temp;}}</script><style>tr:hover,tr.over{background-color:ff6c00;color:ffffff;} //hover是鼠标滑过时的样式</style>九、条件快跳转“背景图片”转换背景图片../samples/images/daohang02.bmp 十、图片隐藏和显示显示:(出现隐藏图表提示)隐藏:(出现显示图表提示)点击位置1,位置3处的图标隐藏……设置:位置1:<span id='showText' onclick="showImg(this);" style="cursor:hand;"> showText:标记位置idonclick:单击事件触发位置4中showing函数。
style=”cursor:hand;”:鼠标移动到这里,变成手型。
位置2:<div id='showImage' style="display:">位置4:function showImg(el){var img = document.getElementById("showImage");var txt = el;if(img.style.display == "none"){img.style.display="";txt.innerHTML="隐藏图表";}else{img.style.display="none";txt.innerHTML="显示图表";}//具体的显示图表和隐藏图表的执行函数。