当前位置:文档之家› cognos使用存储过程

cognos使用存储过程

cognos使用存储过程
cognos使用存储过程

1)创建自定义类型包

create or replace package cc11.pkg_my_types is

-- Author : SONGJIE

-- Created : 2008-9-18 14:42:08

-- Purpose : 自定义的类型

-- Public type declarations

type cursorType is ref cursor; --定义游标结果集

end pkg_my_types;

2)创建返回结果集的函数

create or replace function cc11.f_get_cur_result(intID NUMBER ) return cc11.pkg_my_types.cursorType IS rc cc11.pkg_my_types.cursorType;

sqlstr VARCHAR2 (500);

BEGIN

if intID=0then

--静态测试,直接用select语句直接返回结果

open rc for select prod_id,created_date,state,block_reason from cc11.prod;

else

--动态sql赋值,用:w_id来申明该变量从外部获得

sqlstr := 'select prod_id,created_date,state,block_reason from cc11.prod where prod_id>:aa';

--动态测试,用sqlstr字符串返回结果,用using要害词传递参数

open rc for sqlstr using intid;

end if;

return rc;

END f_get_cur_result;

3)创建返回结果集的存储过程

create or replace procedure p_test_get_prod(initID number ,rc out cc11.pkg_my_types.cursorType ) as

sqlstr VARCHAR2 (500);

begin

if initID=0then

open rc for select prod_id,created_date,state,block_reason from cc11.prod;

else

sqlstr:='select prod_id,created_date,state,block_reason from cc11.prod where prod_id>:aa';

open rc for sqlstr ;

end if;

end;

4)在sqlplus中用存储过程回显结果集的方法:

var iable cc refcursor // var cc refcursor

exec cc11.p_test_get_prod(0,:cc)

print cc

--注意:此存储过程的方法不能在pl/sql Developer 中实现

5)用函数回显结果集的方法

select pkg_test_get_prod.get(0) from dual

select cc11.f_get_cur_result(100) from dual;

6)在cognos中以存储过程作为数据源来生成报表

重点:数据源的属性要改设置(设置成下图所示的结果)

(说明:cognos创建报表的其他操作步骤这里不作详细的说明,重点是指出需要引起注意的配置问题)

说明:

Query Processing 和 Rollun Processing要改成 Local选项,否则发布模型时会报错(如下)

注意以下文字

测试的例子:

包的路径

生成的报表:get_prod_from_procedure

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 权限管理(重点)

Cognos 权限管理 1.1.编写目的 (2) 1.2.开发工具 (2) 2.报表权限设置 (2) 2.1.第三方目录管理器 (2) 2.1.1.NTML (3) 2.1.2.Sun ONE LDAP (5) 2.1.3.IBM Cognos Service (13) 2.1.4.Java Project (24) 2.2.报表服务器权限管理 (25) 2.2.1.cognos用户权限控制 (25) 2.2.2.设置文件夹访问权限 (28) 2.2.3.设置报表访问权限 (30) 2.2.4.设置报表服务器功能权限 (31) 2.2.5.cognos中增加新的分组 (32) 2.2.6.cognos中增加新的联系人 (33) 2.3.FrameWork权限管理 (34) 2.3.1.FM控制报表发布包权限 (34) 2.3.2.FM控制报表数据展示权限 (36) 2.3.1.手动安全数据控制 (37) 2.3.2.FM中查询项权限控制 (38)

引言 1.1.编写目的 本文档是结合以往的开发经验,从实际报表开发出发,详细介绍了ReportNet报表设计流程、开发技巧,报表性能调优、FM建模规范及技巧讲解。总结的文档希望对大家在日后的开发中带来帮助。 1.2.开发工具 ●FrameWork Manager10.1.0模型 ●Business Intelligence Server 32-bit 10.1.0 Windows Multilingual)报表服务器。 2.报表权限设置 2.1.第三方目录管理器 众所周知,cognos自身并不带用户管理模块,需要嵌入第三方的用户管理,可以使用sunone 的ldap服务器作为用户管理模块的较为常见,采用第三方管理报表服务器权限,首先要先将报表

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层目录,更详细的含义可参考的在交叉表中实现目录树功能的注释。 代码如下: