cognos8.3固定报表的开发
- 格式:doc
- 大小:1.22 MB
- 文档页数:22
Cognos问题总结说明:下述问题对应的Cognos版本是8.11.问题:错误DPR-DPR-1035、DPR-CMI-4007不停的往日志里写错误,导致日志文件过大。
原因:1 Cognos服务正常运行但没有进行注册,无法找到ContentManager2 Cognos服务注册正常,且服务显示关闭,但仍然继续写pogo日志,原因是只有boot进程正常关闭, Cognos用到的其他BI 及java进程还在运行,无法正常找到ContentManager报错.解决方案:有以下两种1 注册Cognos,即会有相应的ContentManager,不会因为查找不到ContentManager而报错。
2 UNIX下通过PS -ef|grep BI, PS -ef|grep java查看仍在运行的进程,将其关闭,就不会再查找ContentManager。
2.问题:错误QE-DEF-0374,RQP_DEF-0354,QE-DEF-0144每点一次报表都会发生。
原因:没有生成过滤参数提示页。
解决方案:有以下两种1在报表设计中加提示页,执行步骤如下1.1 单击下图中间的图标,创建提示页图2.11.2 生成的提示页如图2.2图2.21.3在图2.2中设计所需的提示页面,并保存。
1.4重新运行该报表,就会消除上述错误。
2在Cognos提供的sdk调用时可过滤URL在最后面加上&prompt=false。
(建议采用第二种方法解决问题)3.问题:部分报表运行超时,报内存不足的错误(生产环境)原因: 1 有些报表在reportStudio中SQL语句关联比较复杂,将两个查询结果再进行关联,cognos就会调用本地SQL,在本地对结果及进行排序过滤、关联, 没有索引,执行效率不如数据库.2 cognos server中配置的sort buffer size过小解决方案:1将有可能出现本地SQL的查询尽量在数据库中完成,优化数据库设计。
cognos报表开发常见异常问题解决1,QE-DEF-0368 Unable to decrypt user name and password credentials from the content store. Review and save the Cognos Configuration settings to configure your reporting environment.再Framework中save出现此错误.解决方案:在.../c8/configuration目录下删除csk和..key..文件,重新进入即可2,RQP-DEF-0103 Cross joins are not permitted.Enable cross joins in the model解决方案:1. Open the model in Framework Manager.2. Click the "Project" menu, and then "Edit Governors..."3. Set "Cross-Product joins" to "Allow."4. Publish the package.5. The report should be able to be run without the cross join error now.3,RQP-DEF-0326不允许身份为“{All Authenticated Users, Everyone, Consumers, QueryUserClass_RCDT}”的用户使用自定义SQL解决方案:administrator登陆Cognos Connection 进入安全-》功能,选择Report Studio,点击《用户定义的SQL》设置属性--》权限将改写从父条目获取访问权限勾选上4,UDA-SQL-0458 PREPARE 失败,因为此查询要求在本地处理数据。
定制计划表定时导出报表一、根目录设置首先需要在IBM Configuration中设置定时导出报表的根目录,点击“开始”->程序->IBM Cognos 10->IBM Cognos Configuration打开Configuration页面,如下图在菜单栏中点击“操作”->“编辑全局配置”,进入全局参数配置页面,点击tab页名称为“常规”,如下图:在“档案库位置文件系统根目录”中配置需要导出文件的具体位置,注意阅读下方关于此参数输入的格式的描述。
配置完成后,点击确定退出全局参数配置对话框,重新启动cognos服务。
二、配置具体报表导出文件夹通过IE访问cognos主页,进入IBM Cognos Administration,点击“配置”菜单,如下图:在配置页面中的左侧菜单中选择调度程序和服务,在右侧出现的管理界面中选择定义文件系统位置。
如下图:在文件系统位置定义页面,选择新建创建根目录下的具体文件夹。
注意:前一小节介绍的是根目录,本小节介绍的是具体目录,在本例中报表导出位置的具体目录为:c://output/report,其中c://output是在configuration中设置的,report是在cognos Administration中设置的。
三、设置报表计划表进入公共文件夹中,找到需要导出的报表,在报表列表页面最右端工具按钮组中找到计划表,并点击该功能按钮,如下图:在计划表配置页面中可以根据需要设置定时导出的频率、以及报表导出的格式和导出位置,如下图:在配置页面中首先选择“改写默认值”按钮,通过导出格式和文件保存位置两个设置参数调整报表导出的格式(PDF、HTML等)和导出后文件保存的位置。
注意:此处频率不要设置过密,这样会导致系统压力过大。
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文件地址,下一步至完成。
安装配置安装安装环境Windows2003+IIS+SQL Server2K(SP4)Cognos8.3安装Cognos8BI Server插入安装光盘后会自动弹出安装界面,若没有弹出可以打开光盘,双机win32文件夹下的issetup.exe进行安装进入到Welcome to the Installation Wizard安装页面,这里选择的是安装过程所用的语言。
默认是Englis,保持默认,点击下一步进入License Agreement,选择I accept,然后点击next进入Installation Location页面,在这里保留默认安装路径,点击next若对应文件夹不存在,则会提示是否在安装过程中创建文件夹的询问,点击Yes继续进入Component Selection页面,默认情况下Cognos Content Database是不选的,保持默认Cognos Content Database是指Cognos的内容存储库,cognos将所有的报表定义,计划等都存在其中,默认安装的是derby。
点击Next,进入Shortcuts Folder页面,这里实际上是显示安装以后cognos在开始菜单中的名称和位置,默认安装就可以。
点击Next进入Installation Summary,列出汇总信息以供用户确认点击Next开始安装点击Finish完成安装安装Cognos其他组件我这里所说的Cognos其他组件包括Framework Manager、TransFormer、和Language Package。
FrameworkManager和Transformer的安装过程和BI Server基本一样,只是过程中会提示文件夹已经存在,是否覆盖,还有会提示是否对有冲突的部分进行备份,若选择备份,则会在安装结束后在下方提示给用户备份文件的位置。
注意:FrameworkManager和Transformer最好和BI Server安装在同一路径下,这样一来三个组件共用一组配置文件一个Cognos Configuration进行配置,否则会在开始菜单中出现多个cognos文件夹,多个cognos configuration,给初学者配置造成不必要的麻烦。
Cognos8.3函数使用手册分类:cognos1top and bottom functions 1.1bottomCount1.2topCount1.3bottomPercent1.4bottomPercent1.5topPercent1.6bottomSum1.7topSum2value functions 2.1completeTuple2.2Tuple2.3value2.4caption2.5substring2.6roleValue2.7ordinal3案例分析:3.1维度成员组合(union、members)案例1:查询表达式:union(members([ids_fspg_biz_ply_calc].[机构维].[机构维].[部门组]),members([ids_fspg_biz_ply_calc].[机构维].[机构维].[分公司]),all)3.2维度成员排序组合(hierarchize、union、members)案例1:查询表达式:hierarchize(union(members([ids_fspg_biz_ply_calc].[机构维].[机构维].[部门组]),members([ids_fspg_biz_ply_calc].[机构维].[机构维].[分公司]),all))3.3维度类别组合(hierarchy、levels、level)通过下图了解类别与层级,A是“机构维”树,包含层级与成员,B是各层级与明细成员,互相独立层次,hierarchy()函数,对A和B都可以选择。
选择A和成员名称,只显示根节点与当前成员集,3.4RS中基于CUBE数据源的同期、本年累计等MDX写法所有的例子中:month参数指向月粒度、year参数指向年粒度。
日期层次结构为:年、季度、月、日1. 去年同期:即查询月为200905的话,该指标为200805该指标total([金额] within set parallelPeriod([日期].[日期层次结构].[年],1,[日期].[日期层次结构].[月]->?mon?))2. 本年累计:即查询月为200905的话,该指标为200901-200905期间发生total([金额] within set periodsToDate([日期].[日期层次结构].[年],[日期].[日期层次结构].[月]->?mon?))3. 去年同期止累计:即查询月为200905的话,该指标为200801-200805期间发生total([金额] within set periodsToDate([日期].[日期层次结构].[年],parallelPeriod([日期].[日期层次结构].[年],1,[日期].[日期层次结构].[月]->?mon?)))4. 有史以来累计发生:查询月为200805,则为从时间第一个节点截止200805期间发生1)如果提示使用的是[日期].[日期层次结构].[月].[月 - Key]total([金额] within setfilter(members([日期].[日期层次结构].[月]),[日期].[日期层次结构].[月].[月 - Key]<=?month?))2)如果提示使用的是[日期].[日期层次结构].[月]total([金额] within setlastperiods(1000,[日期].[日期层次结构].[月]->?month?))5. 查询粒度为年,统计上半年、下半年上半年余额(即时点类指标):total([余额] within set subset(descendants([日期].[日期层次结构].[年]->?year?,[日期].[日期层次结构].[月]),5,1))上半年发生额(即时段类指标):total([金额] within set subset(descendants([日期].[日期层次结构].[年]->?year?,[日期].[日期层次结构].[月]),0,6))这里subset()这个函数和substring()类似,只不过subset截取的是一个set (集合)中的某些成员而已,并且注意subset()第一个是0而不是1,这个和数组是类似的.6、同比与环比同比增长(以日期为行维)([销售金额]- value(tuple(parallelPeriod([ARPD-Sale].[日期].[日期].[年]),[销售金额])))/value(tuple(parallelPeriod([ARPD-Sale].[日期].[日期].[年]),[销售金额]))环比增长(以日期为行维)([销售金额]-value(tuple(prevMember(currentMember([ARPD-Sale].[日期].[日期])),[销售金额])))/value(tuple(prevMember(currentMember([ARPD-Sale].[日期].[日期])),[销售金额]))我的更多文章。
常用控件、功能、方法介绍1、页面:在COGNOS report studio系统中,页面分为两种,一种是报表页面,即是报表运行最后要显示数据的页面,是必需的。
另一种是提示页面,是为用户选择过滤条件提供的一个页面,如果报表中同时包含这两种页面,则运行后先显示提示页面,供用户选择条件后,再转到报表页面,而报表页面显示的数据则是经过从提示页面的选择条件过滤后的数据。
查看页面的情况可将鼠标放到“页面资料管理器”面板上,即弹出,如下图:2、查询:“查询”图标如下图:“查询”为数据的显示提供了一个结构,在报表中显示的数据是通过“查询”从数据源中获取数据的,类似于数据库中视图的概念,打开一个查询,结构如下图:左边红圈中是该查询中的数据结构,或理解为一个表中的字段,而右边红圈中是一些过滤的条件,类似于查询语句中的where句中的条件。
3、变量:分为三种变量,第一种是布尔变量,只有两种取值,第二种是字符串变量,可有多个取值,第三种是语言种类变量。
一般来说,前面两种用得比较多。
其实,这里“变量”的概念与提示页面中传给报表页面的“参数变量”是完全不同的,也和程序设计中的变量有所不同。
如下图:通常变量中有一个表达式,变量的取值就是根据表达式的结果等到的,如上图选中的是布尔变量,有“是”与“否”两个值。
例如表达式为“帐面收入“度量值>2000元,那么当结果为真是取值“是”,反之取“否”。
同理,在字符串变量中,各个取值是事先由用户输入的,这点与布尔变量不同,而表达式中的结果有可能与其中一个取值相同。
总的来说,通过“变量”可以控制控件、页面等的显示和隐藏,显示的样式等。
4、列表与交叉表:两者相同的地方就是都是用于显示数据,一般与“查询”联系起来,其实列表与交叉表只是提供一种显示的格式,而真正获取数据的还是“查询”。
两者不同的地方就是数据表达的形式不一样。
下面举个例,如下图:要显示的数据是:部门,产品,帐面收入。
分别用两种表显示,其实功能是一样的,只是表示的格式不同,交叉表交叉的单元格就是确定某一部门某一产品的帐面收入。
Cognos 8.3 BI自动刷新Cube简要配置设计简述:Cognos Transformer是Cognos V8.3多维分析模型设计工具,经过前几个本版的演变,部分功能已经整合Web Server服务中,而Cognos 8.4又重新PowerPlay Studio组件;在7.3的版本中有PPES服务,全方位支持Cube展现、性能优化、页面美化、发布等功能操作。
虽然Transformer在原有基础上做了简化,但相应的功能集成到了BI Web Server服务中,以致用户操作与调整配置相对繁琐。
前些时间与Cognos技术工程师交流,也提到最版本存在缺陷是在所难免,往后版本中会更加人性化和界面化。
国内BI圈很难找到Cognos系统教学资料,更没有相关书籍。
这与Cognos产品有关,一年一个版本,产品不断发展,版本不断更新,新产品替代旧产品,而大多数企业BI系统,使用Cognos BI产品会延续好几年,买Cognos技术服务是需要资金,对企业来讲,把精力放在自己维护人员身上。
据了解,国内众多BI分析系统或者MIS系统,在前端开发都是满足客户OLAP分析、报表、即席查询三大模块。
本文档,是自己项目中摸索与记录下的资料,并不代表统一标准解决方案。
基于Windows环境开发设计模型,手工调度Cube运行比较简单,但需要维护人员触发。
而对于一个庞大的数据仓库系统,按照业务部门需求来定义数据集市,根据需求设计不同类型的分析主题,同时设计的OLAP分析模型也增多。
在设计阶段,感觉不到分析模型给系统的压力,必须考虑利用调度工具来自动运行,这样可以大大减少维护工作压力,可利用系统资源空闲时运行。
Cognos系统配置检查打开Cognos Configuration配置,检查“Authentication”下的认证配置,如:dbAuth是第三方认证登录域名。
在下图中:A区和B区的“dbAuth”名字必须相同时,调用批处理命令行加载登录信息才能通过认证。
Cognos8固定报表
1、Framework Manager 介绍
Framework Manager 为ReportNet 提供元数据模型的开发环境
Framework Manager 中的模型是来自一个或多个数据库的数据结构的业务展现。
在Framework Manager 中,开发模型的工作是在一个项目(Project)中进行,在项目的最上层包括:
Framework Manager 是一个基于Windows 的应用程序。
在Framework Manager 项目中,将和以下对象进行交互:
Framework Manager 的工作流程如下所示:
模型 名字空间 数据源 参数映射 包
模型–可以发布到ReportNetserver 的元数据集 名字空间–对象的容器,提供一个唯一名称 查询主题–映射到数据源(如:表)中相应对象并使用描述如何检索数据(如:列)的SQL 语句 查询项–包含在一个查询主题中,映射到数据源中的一个列关系–说明一个查询主题中的数据与另一个查询主题中数据的之间的关系
参数映射–在报表运行时,用参数创建允许替换的条件查询主题
包–包含查询主题的一个子集(或一个完整集)和项目中定义的其它对象;可将其发布,作为一个模型供报表作者使用
2、固定报表的制作2.1、导入数据表
打开Framework Manager
选择“Create a new project…”创建一个新的项目输入保存的项目名称和路径,单击“OK”
选择语言
选择“Data Sources”
单击“Next”出现我们之前所配好的数据源
选择所需要的数据表
下面只要选择默认的“Next”即可以导入所有需要的数据表
2.2、发布数据包
导入表之后呈现如下界面,可以在此界面中添加表之间的关联、编辑表的select语句、添加需要的字段,过滤值等等,编辑完成后可以发布一个数据包。
选择创建表之间的关系、编辑数据源查询主题的SQL等等。
对地域表tb_b_dim_area表进行处理,只要本地网的相关字段。
右键选择选项“Edit Definition…”
可以直接在SQL里写select,也可以通过过滤或者计算。
“Filters”是过滤选项卡
“Calculations”是添加计算的选项卡
如:过滤地域为“不详”和“全省”的值。
建立表之间的关系:
建立好表之间的关系如下图:
此时就可以发布一个数据包了
右键点击Packages->create->Package
输入发布的包名称
选择发布的数据表
下面只要默认点击下一步就可以了
发布完成。
2.3、制作固定报表
发布完包以后,可以在cognos8的运行界面上看到刚才发布的包
点击此数据包,选择新建“Report Studio”,进入报表开发界面
进入“Report Studio”界面,选择空白的报表
空白的报表界面如下图所示:
在工具栏上拖拽需要制作的报表类型
每张报表制作过程都有些区别,在这里不一一列出,下面是做好的报表界面
报表的运行界面如下:
在保存报表后,我们在主页上面可以看到对应包的文件夹下面有刚制作好的报表
右键选择“属性”
获取该报表的URL,只要在地址栏输入此URL,则可以显示该报表。
固定报表开发全过程完毕。