cognos报表—知识整理
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报表展示

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制作报表--基本范例

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制作报表--基本范例13

制作钻取(上钻与下钻)1,一般的维表不能实现上钻和下钻功能,所以可以建立具有层次的数据模型。
2,新建一张报表并插入一个交叉表。
3,将机构维数据(假设机构有4层次)作为行,日期维数据(假设日期分为年、月、日3种层次)作为列,收入作为度量值。
4,点击“data”菜单的”drill behavior”项,弹出对话框,如下图:5,在”allow drill_up and drill down”一栏中打上勾,默认为对所有数据都可上钻和下钻,如果想屏蔽某行或列数据的上钻或下钻,则可以在”disable drill-up for”或”disable drill-up for”项中对不要钻取的数据项进打勾。
6,运行报表,在要对进行上钻或下钻的数据项中点击右键,再选中相应上钻或下钻项。
报表之间对象的互相引用在一张报表中创建了一个控件后,可以在自身或其它报表中对它进行引用,引用方式有两种,一种是直接的关联引用,即被引用的控件的修改会影响到引用它的控件。
另一种是复制引用,不会产生关联,只是复制副本。
1,在一张报表中选中要被引用的的控件,然后在属性栏中在“名称”项中输入一个唯一的标识名。
2,在要引用它的报表,比如另一张报表中需要用到这个控件,在打开另一张表后,在控件面板中将Layout Component Reference控件拖到要插入的地方,在弹出对话框中选择“其它报表”项,然后选择刚才建立被引用控件的报表,这时可看到“可引用控件”栏中会显示刚才创建的控件,选中即可。
3,点击控件,可以属性栏中的“嵌入”选项中选择引用的类型,即前面介绍的两种类型。
类的应用在COGNOS系统报表工具中,可以利用类对报表的格式进行统一调整,类似于CSS的功能。
1,下面举例,对下报表的列表进行格式化,如下图:2,打开类编辑界面,新建一个类,并设置了背景颜色和前景颜色,用于格式化列表中的单元格,如下图:3,创建了类之后,然后在列表中应用该类,如下图:4,在属性“类”中选择刚才创建的类。
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.拖一个一行两列的表格到报表画布中。
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基础知识及操作入门汇总
C o g n o s基础知识及操作入门1引言1.1 培训目标和目的基于Cognos进行分析模块的开发相关知识进行培训,包括Framework Manager、Report Studio、Transformer、Analysis Studio和Cognos安全。
1.2 主要内容1. 功能介绍和基本架构2. Framework Manager介绍3. Report Studio介绍4. Transformer介绍5. Analysis Studio介绍6.Cognos安全介绍2功能介绍和基本架构Cognos 8 的功能组件分为服务器端和客户端两部分,服务器端是基于SOA构架的Cognos 8服务,以Web Service的方式接受和处理用户请求;客户端程序是开发人员使用,用于构建CUBE和Cognos 8元数据的工具,它们分别是:TransFormer 和 FrameWork Manager。
用户制作、浏览业务分析都是基于浏览器的,不需要安装插件或客户端,在浏览器端,用户可以访问以下组件:Report Studio、 Analysis Studio、 Query Studio。
3Framework ManagerFramework是元数据模型工具。
元数据模型是对数据源的业务描述。
数据源可以是数据库或者Cognos Cube数据源。
我们的分析数据存储在数据集市里,数据集市采用的是Sybase IQ,Cognos 8 连接Sybase IQ是通过ODBC方式。
3.1 发布数据库模型1.建好后的数据库视图2.建好的“业务视图”3.创建一个Package,如图4.发布完成后,你就可以通过浏览器用Report Studio、Analysis Studio 访问这个Package作分析了。
3.2 发布Cube1.打开 Cognos FrameWork,新建一个Project2.选择Data Source下一步3.选择一个已经建好的Cube数据源,也可以新建一个Cube数据源。
Cognos入门到精通基础知识
2020/3/23
16
Cognos 8.3(一)
组件:Cognos8 BI服务器 Cognos8 关系模型开发工具 Cognos8 多维模型开发工具 语言包
开发流程: Cognos8.3以前版本的开发流程照常实用于该版本。
2020/3/23
17
Cognos 8.3(二)
说明: Transformer制作多维模型时,数据源的类型增加了Cognos 自身的报表和数据包,因此开发流程中
2020/3/23
29
创建多维模型数据包
通过Framework Manager创建数据包,并发布到Cognos服务器
2020/3/23
30
Transformer
进入Transformer
2020/3/23
31
创建多维模型
导入数据源,创建维度,拖入指标,创建Cube
2020/3/23
32
创建多维模型注意事项
20)
进入Cognos Configuration,开始 > 所有程序 > IBM Cognos8 > IBM Cognos Configuration
Cognos配置界面
2020/3/23
23
配置步骤(二)
配置知识库
分配内存
2020/3/23
24
配置步骤(三)
2020/3/23
35
发布Cube
将Cube作为数据源创建,然后通过Framework Manager发布
2020/3/23
36
Analysis Studio多维分析
Analysis Studio界面
2020/3/23
37
主题
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 自身的报表和数据包,因此开发流程中
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
底层IP:
<div id='FlowurlDiv' style="display:none">
底层IP:
<div id='FlowurlDiv1' style="display:none">
底层IP:
<div id='FlowurlDiv2' style="display:none">
十二、增加报表提示页面
4
思路如下图:
步骤1:
从日期提示框中取出“年份”。
substring(ParamDisplayValue('结束日期'),1,4)
步骤2:
给取出的年份配html项目,以便读取……(见下图)
步骤3:
新增“文本框提示”,参数名为“年份”,为其配置html项目,以便读入年份及隐藏。(见下图)
步骤4:
读取数据,详见js截图
2
步骤1:
Onload项目加载函数,如图2
图2
步骤2:
Js中函数新加一行代码,如图3
图3
3
电网概况报表>>1.电厂容量分析
三、特殊的日期过滤
1
电网概况中发电情况包括水、火、风三种发电方式,在数据库中体现即为水(火、风)电机组管理(参数)表。根据用户要求,需要对全网水(火、风)当年新投机组容量等进行数据统计,
3
点击“查看” ,触发函数onclick="setInputValue(this);js中的对应函数起到触发条件块转变作用!
4
Js控制的条件块跳转,要注意参数传递问题!例如,电网概况中,条件块跳转实现的都是根据概况信息跳转查看详细信息,以变电站为例,只想看到一个变电站的详细信息,所以传递参数必须保证唯一性!
步骤5:
取得年份参数,为查询增加过滤条件……
5
电网概况报表>>1.电厂容量分析
四、
1
电网概况中,用户需要了解变电站的详细信息,但是通过列表的方式无法展示变电站所有信息,所以我们通过新增条件快,通过js触发条件块跳转,获得详细信息。
2
1)点击对象对应的html项目:
2)页面变量(比较固定)
3)对应js代码
}
#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:20px;
font-size:12px;
text-indent:15px;
}
</style>
3.3.2
3.3.3
3.3.4
3.3.5
3.4
通过标签进入不同类型下的报表时,点击进入后要实现大类型的光亮,小标题显示黄色。
下面举例说明:
从【计划跟踪>潮流裕度】跳转到【预防控制>煤情分析】
八、鼠标移动到列表,箭头所指向相应的行变色。
在<onload>后加<javascript css>
代码如下:
<script>
var x = document.getElementsByTagName("highlight");
for (i = 0;i<x.length;i++)
{
var tablerow=x[i].parentElement.parentElement;
if(img.style.display == "none"){
img.style.display="";
txt.innerHTML="隐藏图表";
}else{
img.style.display="none";
txt.innerHTML="显示图表";
}//具体的显示图表和隐藏图表的执行函数。
十一、挂流程图和表单
line-height:27px;
text-align:center;
font-size:12px;
over-flow:hidden;
float:left;
}
#slidingBlock h4.menuNo {
background-image: url(../samples/images/biaoqian2.jpg);
七、特色表头(滑动出现标签)
1
福建调度安全分析报表迁移到华中,因为单张报表比较独立,报表之间没有关联,因此在每张报表中都添加了所有报表名称的标签,随之而来了一个问题,标签过多,严重影响美观……
2
3
3.1
3.2
通过div标签区分出不同级别的标题,通过js代码实现鼠标滑动到哪里,哪些标签隐藏,哪些显示的具体功能……
}
#line{
width:5px;
height:27px;
float:left;
}
#slidingBlock DIV.slidingList_none {
display:none
}
#slidingBlock DIV.slidingList {
width:500px;
marginห้องสมุดไป่ตู้top:17px;
clear:both;
3.3
3.3.1
具体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;
Cognos报表—知识整理
一、提示页自动加载
1
华中电网概况报表首页需要有日期参数,但是每次进入首页时出现日期选择框影响美观,所以为其增加提示页面,但根据要求不能增加提示页面,所以设计出提示页面自动加载。通俗的讲就比如:出现提示页面,电脑自动点击确定进入主页面……
2
步骤1:
新建提示页面,新页面中内容包括:onload项目、完成按钮、日期提示框以及针对提示框的html项目。如下图1
<span title='查看流程图及管理规定' onclick="showtree1(this);" style="cursor:hand;">
Javascript中加函数
function showtree1(el){
var td = el.parentElement;
var flowid = td.getElementsByTagName("div")[0].innerText;
var tdSpan = document.getElementById("FlowurlDiv");
var ipinfo= tdSpan.innerText;
var url = ipinfo+flowid;
//alert(url);
window.showModalDialog(url,"","dialogWidth:1100px;dialogHeight:800px;dialogTop:100px;dialogLeft,100px");
图1
步骤2:
Onload项目中函数:详见图1
<body onload= "initMon()">
<script language="javascript">
function initMon(){
promptButtonFinish();}
</script>
二、进入页面后自动刷新一次
1
电网概况报表电厂容量分析主页面中,需要自动根据日期刷新一次页面(具体原因参见三、特殊的日期过滤)
var temp;
if(i%2==0)
{
tablerow.className="ji";
}
else
{
tablerow.className.replace("ji","");
tablerow.className="ou";
}
tablerow.onmouseover=function()
{
temp=this.className;
计划跟踪>潮流裕度
预防控制>煤情分析
界面跳转
步骤1、更改div-liset1标签或者<a>标签
更改前
更改后
更改前
更改后
步骤2
1、改变【潮流裕度】字体颜色
2、增加【潮流裕度】追溯定义
1、改变【煤情分析】字体颜色
2、删除【煤情分析】追溯定义
步骤3、改变一级标签,以实现背景图片的变换
更改前
更改前
4
调度安全分析报表
this.className="over"; //this.className用来设置样式;鼠标悬停在上面的时候,over是样式内容,over接下面<style></style>里的内容(用来设置背景颜色和边框颜色)