cognos计划表

cognos计划表
cognos计划表

cognos计划表

篇一:coGnoS报表开发流程

报表开发

a)模块概述

B)处理流程和处理逻辑1)处理流程图

B)处理逻辑

如图:基本的处理流程有三个部分,元数据准备、模型设计、报表设计。针对本系统的情况,报表的制作分为三类,从cUBE出报表、直接从事实表出报表、从指标出报表。从制作方式来讲其中直接从事实表出报表、从指标出报表的方法是完全相同的。

首先形成元数据模型描述。将数据库结构描述成需要的结构,然后将元数据发布到cognos服务器上。同时cognos的oLaP转换工具通过元数据描述可以将数据库中数据按照业务主题的维度、指标等因素,转换成文件型的多维立方体。这些多维立方体也作为数据源,通过元数据模型进行描述,发布到cognos服务器上。

然后通过浏览器访问发布在门户上的元数据,并在其基础上制作报表。

详细过程:

1.元数据准备

本阶段主要准备cognos与数据库之间连接的语义层,封装数据库底

层表和

字段,建立表连接,为后续开发人员和最终用户提供一个贴合报表需求的数据库结构视图,设计要点是结构清晰、效率优化。本部分工作主要是使用cognosFrameworkmanager。对于三种报表均需要这一步骤。其主要流程有:

a.添加数据源,导入物理层数据结构。

b.定义表连接关系。

c.在物理层的基础上创建表示层QUERY,这些QUERY的设计基于如何更方便在后面的步骤中制作报表,并且要充分考虑性能的优化。如果是为从cUBE出报表的QUERY,需要按照该多维模型的需要去设计QUERY。

d.发布元数据。如果是为从cUBE出报表的QUERY,可以发布为iQd的格式,或直接使用。2.模型设计

本阶段的主要工作是根据需求分析来规划oLaP应用主题,然后根据oLaP应

用主题建立数据模型,对于出报表使用的模型,基本的设计思路就是使报表的行列科目可以用模型的维度中的类别或者类别的计算来描述。这部分工作主要是使

用cognosTransfomer来完成,开发人员在cognosTransformer提供的图形化设计界面中设计

a.导入iQd数据源。进行必要的加工。

b.通过拖拽等方式设计维度、层次和指标。

c.定义模型中的计算,包括维度计算、指标计算等。

d.添加cUBE,定义cUBE的设置。

e.检查问题,并采用少量数据验证数据集市设计,当各方面满足需求

后,该阶段即告完成。

在这一步中,实际上是通过图形化的界面将设计阶段涉及好的多维模型物理化。

例如下面的模型结构:

3.报表开发

前端的使用包括分析、查询、报表三类,元数据和cUBE发布后,分析和查

询可以直接使用。报表开发包含两类报表:直接从数据库中取得数据的报表,包括从指标库出的报表,以及从cognosPowercubes数据集市中取得数据的oLaP报表。选择使用何种类型来制作报表时要综合考虑,对于明细查询型的报表,比如最大十家,以及客户信息统计,包括人行报表(实际上是对指标库的查询)等,采用直接从数据库中取得数据的报表比较合适,效率也不会有问题。对于交叉统计型的报标,从cUBE出就更为合适,不仅制作过程方便,而且效率优于数据库处理。cognos的报表开发过程不需要编写脚本和程序,仅需在报表设计界面中进行鼠标拖拽式设计,即可实现复杂的报表,如下图所示:通过报表开发,可以形成各种面向用户的丰富的展现内容。如仪表盘报表,自动综合报告等。基本的步骤有:a.选择元数据。b.拖拽报表。

c.定义报表样式,表头、数据格式等。

d.添加提示用过滤条件。

e.对于复杂的报表,还需要进行添加计算、添加汇总、点定义、多查询设置、钻取等。

在这一步骤,对于直接从数据库中取得数据的报表,包括从指标库出

的报表,和从cognosPowercubes数据集市中取得数据的oLaP报表的开发过程时没有太大区别的。最大的不同是开发使用的源数据的结构不同,一种是表、字段的数据库结构,一种是oLaP的多维结构。篇二:cognos+SdK+小结三(权限开发小例子)

cognos应用小例子(权限控制)

1.1.概述

用户角色权限这部分主要可以实现

1.第三方认证

2.新建角色;

新建组织;

给角色添加用户、组织、角色;

给组织添加用户、组织;

读取当前角色(组织)已有的成员,给成员设置读写遍历等权限

3.给Foler,package,rs,as,qs报表设置权限,比如山东小麦专家和山东大豆专家看到不同的文件夹报表等;

这块和cognos在页面上设置权限的功能一样;不过是通过SdK自己包装了,为了给大家有个直观的产品集成的概念J2EE架构+cognos8.4环境下做了一个小功能demo,后面有效果图简单展示;

1.2.demo效果

为了给大家有个直观的产品集成的概念做了一个小小的功能demo,下面是几张截图效果:

不同登录用户看到不用的目录内容,点击查看,如果是报表,弹出窗

口,看到报表的运行结果页面,如果是文件夹就进入下级目录,另外有一个此用户可以看到的这个文件夹包含的报表数量的统计。

权限设置后,admin用户能看到的

分配权限以后,以user1用户登录,看到:

以user2用户登录,看到:

和cognos页面分配的效果一致;

设置过程(和cognos设置过程基本一样):

在此页面点击设置:

点击“添加”:

选择要添加角色或者组织的命名空间,在下面页面中点选“新增”就把此角色或组织添加到这个资源上,默认有读、遍历、执行权限;

添加用户也一样,点击“jn”命名空间可以看到组织机构成员等类型,添加第三方用户如下图:

篇三:iBmcognosBi最佳实践_报表设计高级提示和提示性能调优iBmcognosBi最佳实践:报表设计高级提示和提示性能调优

1简介

1.1目的

本文档旨在向报表创建者展示如何处理第一个提示页面性能低下的问题。

1.2适用范围

这里的信息只适用于iBmcognos8.2Bi。

2第一个提示页面的性能

当用户运行包含多个复杂查询的报表时,常常需要等待很长时间才会看到第一个提示页面出现。例如,在一个客户场景中,报表用了40秒才显示出第一个提示页面。

可以通过两方面的努力改进第一个提示页面的性能:

1)减少提示调节(promptreconciliation)的时间

2)减少为提示控件获取数据的时间

3提示调节

3.1什么是提示调节?

提示调节确保参数定义与参数的用法匹配。在筛选和计算中定义参数。在提示中使用定义好的参数。

参数定义包含几个关键项:

?基数–可以提供给参数的输入值的数量。

?离散性–决定输入值是定义单一值,还是定义一个值范围。

?可选性–决定参数在筛选或计算的上下文中是必需的,还是可选的。?数据类型–为了与引用的其他数据项或常量匹配,在筛选或计算的上下文中期望的数据类型。数据类型可以是numeric、

date、Time、dateTime、interval、String或memberUniquename(mUn)。

3.1.1筛选表达式

请考虑可选的筛选:

[ordernumber]=?pordernumber?

通过分析这个筛选,可以判断出参数pordernumber的一些性质:

基数:单一值

?等号表明只能使用单一值。

?使用多个值需要适当的操作符,比如“in”:

[ordernumber]in?pordernumber?

离散性:简单值

?等号表明了这一点。

?值的范围需要适当的操作符,比如“in_range”:[ordernumber]in_range?pordernumber?

o如果一个参数在多个上下文中使用,那么对于是范围值的参数,所有引用都必须是范围值。

可选性:可选的

?这个筛选定义为可选的,所以参数也是可选的。

?参数也可以是必需的。如果一个参数在多个上下文中使用,那么对于可选的参数,所有引用都必须是可选的。

数据类型:numeric

?这个参数是数字,因为ordernumber数据项是数字。

现在,把参数的特性应用于引用它的提示。这意味着,提示控件会体现参数的一部分特性,从而让提示控件与参数定义保持兼容。如果在创建的提示页面中引用参数,会在运行时修改提示定义,以便与参数的基数、可选性和离散性匹配。数据类型不匹配可能会导致运行时错误。如果没有创建的提示页面,那么这些特性应用于生成的提示页面上的提示。

3.1.2数据项表达式

与通过宏表达式定义的参数不同,在数据项表达式中使用的参数是必需的。

3.1.3宏表达式

在宏表达式中定义的参数1可以是可选的或必需的,可以是单一值或多值。

请考虑宏表达式:

#prompt(‘pordernumber’,‘integer’)#

基数:单一值

?prompt()宏函数只接受单一输入值。

?可以用prompt()定义多个值:

#promptmany(‘pordernumber’,‘integer’)#

离散性:简单值

?提示宏总是简单值,而不是范围。

可选性:必需的

?没有默认值(这个宏函数的第三个可选参数)表明了这一点。

?包含可选参数的示例如下:

#prompt(‘pordernumber’,‘integer’,‘5’)#

3.2提示调节如何影响性能?

为了执行提示调节,iBmcognos8要检查查询,判断有哪些参数及其特性。查询越大、越复杂,这个过程花费的时间越长。

在iBmcognos8.1中,一个包含200多个查询的客户报表需要超过40秒才能显示出第一个提示页面。大多数时间花费在提示调节方面。

3.3在cognos8.2中如何改进提示调节?

在iBmcognos8.2中通过三种方式改进提示调节:

?更快的提示调节

?用于提示调节调优的报表服务器属性

?用于提示调节调优的查询属性

3.4iBmcognos8.2中更快的提示调节

首先,在iBmcognos8.2中提示调节过程已经得到优化,大大提高了速度。与iBmcognos8.1相比,这个过程花费的时间减少了75%到90%。例如,在iBmcognos8.2中客户示例报表的提示调节只花费了5秒,与iBmcognos8.1中的40多秒相比降低了80%。

只需迁移到iBmcognos8.2,就实现了80%的性能改进。不需要采取其他措施。

3.5用于提示调节调优的报表服务器属性

iBmcognos8.2为整个系统和具体报表的提示调节调优提供了三个相互关联的选项。

第一个选项是一个针对整个报表服务器启用的报表服务器高级属性:RSVP.PRomPT.REconciLiaTion。这个属性有几个值:comPLETE-在显示第一个提示页面之前,调节所有查询。这是默认设置,用来确保与以前版本的兼容性。

cHUnKEd–分批调节所有查询,直到调节了第一个提示页面所需的参数为止。以不固定的次序处理查询。可以用高级服务器属性RSVP.PRomPT.REconciLiaTion.cHUnKSizE修改cHUnK大小。默认

的cHUnK大小是5个查询。

GRoUPEd–按组调节查询,直到调节了第一个提示页面所需的参数为止。这些组如下:

?筛选的报表查询

?筛选的提示查询

?未筛选的报表查询

?未筛选的提示查询

按这些组的次序处理查询,直到调节了第一个提示页面中引用的所有参数为止。常常只需处理第一个或前两个组。但是,在某些情况下,需要处理所有查询。例如,如果在提示查询中的计算查询项中引用参数,就会发生这种情况。报表服务器调节第一个提示页面的参数之后,向用户显示这个页面。如果后续提示页面引用在已经处理的查询中没有的参数,在显示这些提示页面之前,报表服务器可能需要调节更多查询。

cHUnKEdGRoUPEd–分批调节查询组中的查询,直到调节了第一个提示页面所需的参数为止。

我们的客户场景只包含一个筛选的查询,但是假设报表中的所有200个查询都使用相同的参数进行筛选。GRoUPEd会同时调节这200个查询,因为所有查询都属于筛选的报表查询组。cHUnKEd每次调节x个查询,x是cHUnKEd大小(默认值为5)。因此对于cHUnKEdGRoUPEd,将调节5个查询。如果找到了第一个提示页面所需的参数,就显示页面。如果没有找到,就处理后5个查询,直到

cognos报表知识整理

Cognos报表—知识整理 一、提示页自动加载 1、功能需求背景 华中电网概况报表首页需要有日期参数,但是每次进入首页时出现日期选择框影响美观,所以为其增加提示页面,但根据要求不能增加提示页面,所以设计出提示页面自动加载。通俗的讲就比如:出现提示页面,电脑自动点击确定进入主页面…… 2、功能实现方法 步骤1: 新建提示页面,新页面中内容包括:onload项目、完成按钮、日期提示框以及针对提示框的html项目。如下图1 图1 步骤2: Onload项目中函数:详见图1

二、进入页面后自动刷新一次 1、功能需求背景 电网概况报表电厂容量分析主页面中,需要自动根据日期刷新一次页面(具体原因参见三、特殊的日期过滤) 2、功能实现方法 步骤1: Onload项目加载函数,如图2 图2 步骤2: Js中函数新加一行代码,如图3 图3

3、可参考报表 电网概况报表>>1.电厂容量分析 三、特殊的日期过滤 1、功能需求背景 电网概况中发电情况包括水、火、风三种发电方式,在数据库中体现即为水(火、风)电机组管理(参数)表。根据用户要求,需要对全网水(火、风)当年新投机组容量等进行数据统计, 2、设计思想 1)将水、火、风机组管理表分别对应查询中取相同数据项,为U联做准备。 2)在三个查询中新建“投运年”数据项,取得机组投运年份。表达式:substr(【投运日期】,1,4) 3)将三个查询进行U联,给U联后的查询设置过滤条件,如图4 图4 3、出现问题分析 根据2、设计思想中进行操作,报表验证报错,不能对substr进行集操作,经查询得知,dm 数据库不支持在两层(原层和U联层)查询中同时使用substr。 4、新的解决方法 思路如下图:

COGNOS服务器安装配置手册

一系统环境说明 用户说明: 安装与使用过程中的用户 Root:系统补丁安装用户 Cognos:软件安装,运行用户 目录说明: 请先使用Root创建以下目录,并将相应文件拷贝到相应目录中,修改目录所有者为cognos,后面的安装进行均以cognos身份进行, 安装目录 /tmp/share/app/apache_32:apache安装目录 /tmp/share/app/cognos:Cognos安装目录(根据安装规范实际安装到/tmp/share/app/cognos/c10) /tmp/share/app/jdk1.6.0_45:java安装目录(安装版本为java 32位) /tmp/share/app/OpenDJ-2.4.5:LDAP服务OpenDJ安装目录 /tmp/share/app/oracle_32:oracle客户端安装目录 源文件目录: /tmp/share/app/setup/Cognos:Cognos安装源文件目录 /tmp/share/app/setup/httpd-2.2.24:apche源代码目录

默认配置文件说明 .bash_profile cognos10_linux.conf tnsnames.ora mecool-20131204.ldif httpd.conf kettle-start.bat MECOOLDB-BACK.sql create schema.SQL Cognos SVR安装时的RPM.txt .bash_profile:用户cognos的登录用户角本,路径为/home/cognos/ Cognos10_linux.conf:apache的Cognos虚拟目录配置信息,路径为 /tmp/share/app/apache_32/conf Tnsnames.ora:连接oracle服务的配置信息,路径为/tmp/share/app/oracle_32/network/admin Mecool-20131204.ldif:OpenDJ目录内容备份,安装系统导入路径为 /tmp/share/app/setup/OpenDJ-2.4.5 Kettle-start.bat:etl启动文件,供windows任务计划调用 MECOOLDB-BACK.sql:为mecool数据仓库mecool用户表,存储过程等定义 Create schema.sql:为oracle表空间,用户创建语句 Httpd.conf:为apche配置文件,本文件不用拷贝,供阅读本文件apache配置部分参考Cognos SVR安装时的RPM:RHEL6.4(64位版本)验证安装所需数据包,RHEL6.4为默认安装,如无意外,请顺序执行包安装 提供上述文件是可以直接在上述文件中修改相关配置路径信息,方便安装配置操作。

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说明),在逻辑层中不要建立逻辑表之间的关系。如下图:

cognos安装手册

Cognos 安装手册 1.Linux 环境下cognos安装 1.1. 安装的必要条件 1、创建oracle账户:在数据库中创建cognos使用的数据库账户,并且保证有权访问数据 库。 2、准备一台Linux环境的服务器,并创建后安装cognos使用帐户。 3、为安装文件目录分配足够的磁盘空间。 4、启动数据库监听,确保数据库正常 5、如果是需要使用oracle数据库,安装对应的数据库客户端32位。 6、准备一台连接linux服务口机器,安装SSH Secure Shell Client及TightVNC Viewer。1.2. IBM Cognos Business Intelligence for Linux安装1.2.1. 安装jdk 1、在data目录下新建java文件夹,然后将文件上传至java文件夹。 Cd /data/ Mkdir java

2、然后查看jdk安装文件的权限,如果没有执行权限,则需为该文件添加执行权限,执行jdk 安装文件。

3、用文本编辑器打开/etc/profile,在文件未尾加入java环境变量,再输入:wq,保存。 Vi /etc/profile, I: JAVA_HOME=/data/java/jdk.6.0_35 PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME export PATH export CLASSPATH :wq 4、执行配置文件令其生效,之后执行命令验证是否安装成功。

Cognos开发之Cube

Cognos 8开发之Cube V1.0

知识成果简要信息表

第一章 Cognos简介 1.概述 Cognos展现的报表基于统一的元数据模型。统一的元数据模型为应用提供了统一、一致的视图。用户可以在浏览器中自定义报表,格式灵活,元素丰富,而且可以通过Query Studio进行即席的开放式查询。Cognos还具有独特的穿透钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)等功能,使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解,有效地将各种相关的信息关联起来,使用户在分析汇总数据的同时能够深入到自己感兴趣的细节数据中,以便更全面地了解情况,做出正确决策。 Cognos强大的报表制作和展示功能能够制作/展示任何形式的报表,其纯粹的Web界面使用方式又使得部署成本和管理成本降到最低。同时Cognos还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。进行合作,推动以AIX 技术为中心的创新,同时开发、测试和使用各种用于支持AIX 操作系统的新应用和中间件。 2 . Cognos 8 的功能组件介绍: Cognos 8 的功能组件分为服务器端和客户端两部分,服务器端是基于SOA构架的Cognos 8服务,以Web Service的方式接受和处理用户请求;客户端程序是开发人员使用,用于构建CUBE 和Cognos 8元数据的工具,它们分别是:TransFormer 和FrameWork。用户制作、浏览报表和业务分析都是基于浏览器的,不需要安装插件或客户端,在浏览器端,用户可以访问以下组件:Report Studio 、Query Studio 、Analysis Studio。同时用户也可以基于Cognos提供的SDK开发应用直接访问Cognos 8 服务。 Cognos 8产品结构图:

cognos文档

1、首先打开IBM COGNOS CONFIGURATION在里面配置报表访问的数据库 2、然后进入FrameWork Manager,先给数据取一个名字,我们给数据包取名的规则是fs开头,后面加上报表编号,最后数字是用来区分是汇总表,还是明细表 Project name:报表包名 Location:报表存放的路径 3、选择数据源 这里,如果是时实报表选择cxdb,非实时选择cnplapp,这里的数据其实是在cognos服务器上配好的,所以名字并不是随便取的。 4、进入页面后 在页面的左边会出现一个树型菜单,cnpl是数据包,data sources是数据源, packages是发布包

5、双击数据包 会展现出开发界面。这里有一些选项。SQL标签中是我们要放的SQL语句。TEST是我们可以用来测试语句是否正确,Query Information在这里我们是要修改sql语言的种类(如图) 这里有一个下拉菜单Sql Type,这里我默认的是cognos 它的意思是sql语言类型是cognos 型的,第二是native,意思是自然型的,也就是我们平常所使用的语法。选择后点击ok后,就可以写sql语句了。这里,我们建议,不要直接在cognos sql里面写,而是写在pl/sql中写好测试好后,粘到cognos里面来,这样准确性高。 6、cognos的参数传递 对于在cognos中配置页面参数,这里有自己的语法。 一般都是以#开头,然后以#结尾 #sq():意思是前后有单引号 #prompt("areaorg", "token")#:prompt是传一个值,areaorg是我们的控件名,token是指传递的参数是字符串型的,integer是指传递的参数是整型的. #promptmany("areaorg", "token")#: promptmany是指可以传递多个值 下面,我给出平常我们用到的配置参数的一些例子:

Cognos报表开发技巧整理

1实现行属性的目录树展开功能。 1.1在LIST报表中的现实 1.拖入6个字段,并且对产品系列、产品类型分组,如下图: 2.添加产品系列、产品类型的页眉

3.拆分产品系列、产品类型的单元格 4.将产品系列、和产品类型的汇总拖到产品名称处

5.删除产品系列,产品类型 6.打开列表的锁

7.按住CTRL,拖动数量、单位成本、单价到产品类型,产品系列的页眉处 8.在report page中插入HTML控件,然后拷贝如下代码进去,下面代码主要是定义了两个函数,一个用于目录树的展开与缩进,另一个用于页面初始化时隐藏一些数据,下面代码只支持到2层目录,更详细的含义可参考的在交叉表中实现目录树功能的注释。 代码如下: