cognos报表数据项表达式函数的应用
- 格式:doc
- 大小:283.00 KB
- 文档页数:46
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前台报表规范一、控件命名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)、查询功能查询区域根据日期维度拆分为年报、月报、日报快捷查询按钮。
c o g n o s报表数据项表达式函数的应用(总45页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--cognos 报表数据项表达式函数的应用手册文档信息批复信息文件控制文档编号CCBBI_PM061110_001 版 本号密级内部资料目录1引言 .............................................................. 错误!未定义书签。
编写目的 ...................................................................... 错误!未定义书签。
背景 .............................................................................. 错误!未定义书签。
参考资料 ...................................................................... 错误!未定义书签。
术语定义及说明 .......................................................... 错误!未定义书签。
2汇总函数 ...................................................... 错误!未定义书签。
aggregate ...................................................................... 错误!未定义书签。
average ......................................................................... 错误!未定义书签。
count ............................................................................. 错误!未定义书签。
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].[日期].[日期])),[销售金额]))我的更多文章。
报表设计调优1Report Stuido设计调优1.1手写SQL定制报表查询通过Tabular SQL对象的使用,可以任意组织需要的SQL语句,定制报表的查询,查询结果会以查询项的形式在报表中被使用。
具体操作步骤如下:1.选中报表模型对象。
2.在左下方的属性栏中点击Generated SQL属性,弹出报表模型对应的Native SQL。
3.在Generated SQL窗口中选择Convert to SQL,弹出SQL编辑窗口,在此进行SQL语句的组织,组织好的SQL语句可以通过Validate按钮进行校验。
4.返回的SQL结果将以查询项的形式在报表定制中被使用。
注:在SQL语句的编写中除了可以使用本地数据库支持的标准数据库函数外,还可以接受FRAMEWORK中支持的宏函数,例如:#prompt(‘P_DATE’,’date’)#。
此中调优策略虽然支持非常灵活的SQL语句组织,但是由于已经不是通过工具自动生成SQL,因此在业务人员定制报表时,须熟练掌握数据库SQL语句。
1.2报表函数的使用在报表函数的使用上,尽可能使用应用数据库能够解析的本地数据库函数,函数列表中的通用函数,在处理时会将函数放在报表服务器进行运算,从而增大了报表服务器的性能开销。
注:可以通过Generated SQL查看使用函数是否是提交给本地数据库进行运算。
1.3过滤条件顺序调整根据数据库优化策略,可能需要将过滤条件的顺序进行调整,可以在Filters窗口中进行设置。
这里只有将过滤条件的Usage属性设置为Required,才会在Generated SQL中看到对应的where子句过滤条件。
注:因表关联而自动生成的where子句会自动组织在where子句的最后,该顺序不能调整。
1.4查询字段、查询表顺序调整根据数据库的优化策略,可能需要将查询字段的顺序进行调整,可以在Data Items窗口中进行设置。
查询SQL语句中,From关键字后面的表顺序是按照select关键字后出现的字段顺序进行设置的。
COGNOS查询与报表和多维分析工具国家信息中心北京优信佳信息系统有限公司查询与报表工具 2标准报表 2 即席报表 3 I MPROMPTU信息目录 4 部署伸缩性 4 I MPROMPTU W EB Q UERY 5多维分析工具——POWERPLAY 5数据探察 6 特殊性报告的排序7 快速、高效的信息提取7是业界领先的商务智能工具供应商,其最主COGNOS要的产品是查询与报表工具Imprompwu和多维分析工具PowerPlay。
本文简要介绍这两种产品。
查询与报表工具Impromptu是企业级交互式数据库查询与报表生成系统,由于它不仅可以分发给任意Impromptu用户,而且由于Impromptu支持Web 功能,报表也可以在组织机构内任意一台桌面发布和浏览。
对于IS 来说,Impromptu的面向对象的体系结构确保了在所有用户和所有报表之间的控制和管理一致性。
标准报表基于预定义规则和常规报表是最为普通的报表活动——Impromptu以比其他任何报表工具更迅速和更省力的方式为整个企业创建大量标准报表。
对那些阅览标准报表的人们来说,Impromptu灵活性意味着报表内容可以轻易地加以提炼以适合个人所需。
通过简单的点击工具条,用户可以容易地对信息进行分组、排序和过滤。
选取表和提示符以及异常报表也增加了分布式标准报表的价值。
选取表和提示符使用户具有在报表中选择特定查看项目的灵活性。
当汇总一份Impromptu报表时,报表作者可以创建一些项值称为“选取表(picklists)”,用户可以单击鼠标从表中选择一个项值,对于包含众多项值的报表,Impromptu给出提示符,以允许用户指定他们想看的项值或项值范围。
行列选取表进一步缩小了用户在报表中选取信息的范围。
Impromptu给经理们提供了三种处理异常数据(落入指定值域外的数据)的选择方案:★条件过滤器、仅提取落在特定限值之外的项值,用户可以指定他们特定的项值,也可以从一预定义的表列中选取。
IBM Cognos 升级版8.4新增功能优势说明1Cognos优势1.1功能级优势1.1.1强大的报表制作、部署和自动发布和报表管理功能利用Cognos报表的Web发布管理服务器,灵活的部署能力和负载均衡,发布成百上千份的报表。
用户能够非常方便的制作报表,自动在Web 上发布报表。
企业内部和外部的所有类型用户无需经过培训都可以通过Web访问、察看、打印报表。
由于Cognos自身具有强大的报表制作功能,所以Cognos 能满足上千用户在各自的桌面或远程访问所需的各种报表需求,特别是对复杂格式不均衡表头报表的支持(俗称“中国特色报表”),使得Cognos在国内的报表应用中更是遥遥领先竞争对手。
Cognos所有的报表制作都是免开发免编程的,用户仅需通过鼠标操作即可制作任意复杂格式的报表,这种易用性较之竞争对手的编码式报表制作要领先一个时代。
1.1.2有效的分析方法:“分析-然后-查询”(Analyze-Then-Query)Cognos Analyze – Then – Query 的数据访问方式使用户能够以所想的方法去探察业务数据——先分析汇总信息,然后再查看隐藏的细节。
通过Powerplay Enterprise Server与ReportNet产品的完美结合,Cognos为OLAP数据和关系型数据库中的细节数据之间搭建了通畅的桥梁,用户仅需一次鼠标点击,便可由宏观视图钻取到微观细节。
1.1.3对多种数据源的支持和数据整合能力Cognos产品能够连接多种关系型数据源和文本型数据源,能将DB2、Informix、SQL Server、Oracle、Microsoft SQL Server、Teradata等多种关系型数据库中的数据抽取并融合在一起,形成完整的企业级数据视图。
1.2性能级优势1.2.1Olap server 的优势和快速的数据访问分析能力Cognos 具有强大的专业化的OLAP 数据引擎(OLAP 服务器),它能产生多维数据分析的立方体(Cubes)。
深圳天源迪科信息技术股份有限公司DIC 版本:1.0COGNOS报表开发规范1模型定义1,打开Frame Manager程序,如下图:2,新建一个项目,建完后,打开该项目,如下图:3,在界面左边中选择“Packages”,然后单击右键新建一个包。
按照提示一步步做,其中有一步是从数据库的表选所要用到的表,打勾为选用。
4,点击”Diagram”显示表,但表之间还没有建立联接关系,通过建立各表关系后如下图5,然后将该包发布,点击右键该包选择“Publish Package”将其发布。
2模型的物理和逻辑定义1,模型定义的规范:将模型分为2个部分,分别为物理层和逻辑层,物理层为从数据源引入表的物理定义和连接关系,逻辑层为业务视角下的逻辑定义。
2,物理层的建立:根据数据分析,设计模型中需创建的物理表,以便尽可能的提高查询语句的运行效率(比较理想的结构是星形结构,一个中间表和多个物理维表)。
在根名字空间(和数据源同名)下,建立一个名为物理层的目录,在物理层文件夹下执行Run Metedate Wizard将数据源中相关的物理表引入这个目录,然后将这些表建立连接关系,建议不要有Orphan表。
如下图:3,逻辑层的定义:在根名字空间下,建立一个名为逻辑层的目录,在逻辑层文件夹下生成Query Subject,Query Subject的字段都是根据业务逻辑从物理层从引入,建议字段名都为中文。
逻辑层中的表为事实表和维表的结构,在事实表中包含维度的编码值和指标的值,维表中包括每个维度上编码值和其名称的对应关系。
也可以根据需要建立Regular Dimension(3.4说明),在逻辑层中不要建立逻辑表之间的关系。
如下图:4,物理层和逻辑层的建立是灵活的,上面说的只是简单的结构,可以根据需要建立多层次的名字空间,不同的名字空间定义不同的物理层和逻辑层。
3模型设计的一些技术要点1,首先要了解数据库表的定义和业务需求,以便将报表设计所关联的物理表引入到物理层中。
Cognos开发技巧总结文档1实现目录树展开功能1.1在列表中实现目录树展开功能1.插入一个列表,拖入5个字段,并且对运营商所在地分组2.添加运营商所在地的页眉3.拆分运营商所在地的单元格4.解锁,将运营商所在地的汇总拖到运营商处5.删除运营商所在地6. 按住CTRL,分别拖动本周新增用户数、今年新增用户总数、期末用户总数到运营商所在地的页眉处7. 在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 = "/cognos8/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 = "/cognos8/images/PropertyGroup_plus.gif";}}else {break;}}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>8.拖入一个HTML项目插入到运营商单元格前面,修改成数据项,并修改表达式运营商中HTML控件代码如下:'<img onclick=''ExpandCollapse(this)'' src=''/cognos8/images/PropertyGroup_plus.gif'' style=''cursor:hand; vertical-align:middle; margin-right:2px''/><span onclick=''ExpandCollapse(this.previousSibling)'' style=''cursor:hand''>'+ [orc82].[D_OPERATIONROLES].[运营商所在地] + '</span>'9.删除掉运营商所在地10.设置运营商的填充为左侧2011.增加图片增加树形的图片PropertyGroup_plus.gif,空白图片blank.gif到cognos相应的图片目录12. 增加列表页脚(注意,这里的HTML控件一定要放入表页脚里面,否则不能实现隐藏数据的功能),并拷贝HTML代码,删除掉列表页脚几个字代码如下:<img onload='StartHidden(this)' src='/cognos8/images/blank.gif'/>13.选择列表,并设置列表每页行数为9999(这样就不用再翻页了)14.这样一个树状报表就做好了,运行报表,查看结果2cognos 报表查询条件导出以EXCEL2007,EXCEL2003,PDF格式导出报表时,一般输入的查询条件没有一起导出,希望将查询条件一起导出来。
Cognos的高级报表制作技巧--Variables【IT168 技术】IBM Cognos 商业智能系列软件提供了专业报表的制作平台,尤其在报表之间的关联分析上有着很强大的功能。
本文从基于条件的动态报表制作和报表之间的穿透钻取两个方面介绍如何用 IBM Cognos 商业智能软件制作出专业的报表。
基于条件制作动态报表在使用报表时,用户往往希望某些“异常数据”能够突出显示,以便其更快速了解数据的总体状态。
如:性能数据一旦超过设定的阀值,则突出显示为黄色或者红色;在其他情况下显示为绿色。
IBM Cognos Report Studio 就提供了这样一种机制,在用户生成报表的时候,能够自动根据开发人员事先设定好的条件以及显示格式,对报表进行动态显示。
在制作基于条件的动态报表时,需要注意三要素。
第一个要素是条件,条件是用以判断的规则,通常为一个变量表达式及其一系列取值,如,上面的性能数据超过阀值。
第二个要素是用于和条件绑定的特定数据项 (Data Item),条件表达式只有和具体的数据项相关,以数据项运行时的取值作为条件输入,才能达到动态显示报表的目的,如,上面提到的性能数据。
第三个要素条件格式,即在条件表达式的某一特定取值下,报表显示的格式,如字体,颜色,阴影等。
总得来说,基于条件的动态报表的实现就是根据某特定数据项在报表运行时的取值,计算变量表达式的取值,并根据变量表达式的取值,决定报表的显示格式。
Cognos 支持三种类型的变量:字符串变量,布尔变量和语言变量。
以下的三小节将分别介绍使用这三种变量制作动态报表的过程。
使用字符串变量制作动态报表在 2.1 节中,我们将介绍简单的使用字符串变量的制作动态报表的过程。
我们希望实现根据项目状态的取值,动态显示报表中“项目状态”单元格的背景颜色:当项目状态为R(Red) 时,项目状态单元格的背景显示为红色;当项目状态为 Y(Yellow) 时,项目状态单元格的背景显示为黄色;当项目状态为 G(Green) 时,项目状态单元格的背景显示为绿色;当项目状态为 C (Complete) 时,项目状态单元格的背景显示为蓝色。
Cognos函数(一) - 时间函数在之前的博客中,我们了解了ReportStudio的大概功能,在这一系列的博客中,会分享一下Cognos函数的使用,在做报表时,熟练地使用函数,还是很有帮助的。
我们先来了解下时间函数官方文档:Cognos Report Studio User Guide 10.2.1.pdf从网上找到的文档:/detail/jolingogo/7206013这里的时间函数和数据库中的时间函数差不多,主要是对时间进行一些处理。
这里列几个常用的,很简单1. _add_days ( date_expression, integer_expression )2. _add_months ( date_expression, integer_expression )3. _add_years ( date_expression, integer_expression )4. _first_of_month ( date_expression )5. _last_of_month ( date_expression )增加天数啊,月份啊,月份的第1天啊,最后1天啊,都是很常用的,在过滤器中使用比较常用,主要来对日期进行过滤需求:我们现在只显示今天和昨天2天的数据1. 选择数据包2. 基本报表3. 添加过滤器[java]view plaincopyprint?1.[销售].[时间].[时间].[天].[日期] = cast(?p_year?|| '-' ||?p_month?|| '-' ||?p_date? as date)2.or3.[销售].[时间].[时间].[天].[日期] = _add_days (4. cast(?p_year?|| '-' ||?p_month?|| '-' ||?p_date? as date) , -15.)4.运行一下报表好了,简单的例子就实现了。
献给所有cognos新手关于: 基于维度(cube)建立的报表的过滤条件参数解决OR-ERR-021 问题若您已经建立好过滤条件,只要求解决error,请略过第一部分.第一部分:建立维度的过滤条件首先使用Report Studio 打开要加过滤条件的报表.1点击查询资源管理器,要加过滤条件的查询.2 展开要加过滤条件的维度,这里选择的是区划key3将这树状拖入到右边的数据项中,插入层级选择所有层级.4将数据项拖到明细过滤器中,写表达式定义添加参数过滤,验证一下即可.第二部分与前台交互(url方式)若要和前台交互,需以下几个步骤说明:访问的url包括以下url最基本的地址,加上特定的参数.http://<server-name>/cognos8/cgi-bin/cognos.cgi?b_action=xts.run&m=portal/launch.xts若要查看report运行的html需要加以下参数:1ui.tool=CognosViewerui.tool 打开文件的方式,可选CognosViewer/AnalysisStudio2 ui.object= /content/package[@name='pk_ds_yjzs__6']/report[@name='yjzs_rs_2']ui.object 对象的搜索路径(可以在cognos门户->IBM Cognos内容->报表所在文件夹->报表属性->查看搜索路径ID URL 中找到)具体步骤如下:点击cognos内容找到报表所在文件夹点击报表操作中的第一个图标查看属性点击搜索路径id 和URL复制搜索路径3 ui.action=runUi.action 对文件的操作方式run 运行报表,还有其他属性这里不再继续赘述 .4 p_qh=[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]P_qh 指的是传入的参数,与上面表达式中定义的区划相对应,(*千万记得传入的参数需要以p_开头)可以是一个也可以是多个.记得用&分开.因为是基于维度的过滤条件,所以普通的传值,例如P_qh=330100 cognos不会识别,会报错,意外类型的参数值:它只能识别维度内的member,所以,要加的参数应该是这种格式的:[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]它是怎么来的呢? 打开查询,选择加过滤条件的维度数状结构在这里成员中的每一项都是可以加到过滤条件中的,查看的方法,右键点击[区划key],属性,成员唯一名称复制下来也可以选择[区划key]下级的其他成员,例如衢州,5 run.prompt=falseRun.prompt 是否显示提示页面,默认为true显示,这里选为false不显示 .完整url实例:(*参数名称区分大小写切记)http://192.168.1.103/cognos10/cgi-bin/cognos.cgi?b_action=xts.run&m=portal/launch.xts&ui.tool= CognosViewer&ui.object=/content/package[@name='pk_ds_yjzs__6']/report[@name='yjzs_rs_2']&ui.action=run&p_rylx=[ds_ yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]&run.prompt=false这里运行报表有一个常见的问题,就是乱码的问题,如果url中有中文字符串,需要进行转码.(记得只对参数值转码即可,千万别把整个url都进行转码了,转换的编码使用utf-8即可)Java中使用.URLEncode.encode()转码即可,其他的还没有试过,有别的事例希望大家share一下.除了url也可以使用表单实现附:当过滤条件可能为多值的时候只需要在url中多传参数即可&p_qh=[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]&p_qh=[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330300]上面这个问题困扰了我很长时间,在网上提问,搜索也找不到答案,最后贝克汉姆的一个回答帖子给我了启示.现在将解决办法记录下来,希望这个问题不要再困扰更多像我一样的新手们.。
ERPF报表维护手册建设银行ERPF项目文档编号CCBBI_PM061110_001版本号V1.00密级内部资料cognos报表数据项表达式函数的应用手册文档信息批复信息文件控制目录1引言 (5)1.1编写目的 (5)1.2背景 (5)1.3参考资料 (5)1.4术语定义及说明 (5)2汇总函数 (6)2.1aggregate (6)2.2average (6)2.3count (6)2.4maximum (7)2.5median (7)2.6minimum (7)2.7moving-average (7)2.8moving-total (8)2.9percentage (9)2.10percentile (9)2.11quantile (9)2.12quartile (10)2.13rank (11)2.14running-average (11)2.15running-count (12)2.16running-difference (12)2.17running-maximum (13)2.18running-minimum (13)2.19running-total (14)2.20standard-deviation (14)2.21standard-deviation-pop (15)2.22total (15)2.23variance (15)2.24variance-pop (15)3业务日期/时间函数 (17)3.1_add_days (17)3.2_add_months (17)3.3_add_years (17)3.4_age (18)3.5_day_of_week (18)3.6_day_of_year (18)3.7_days_between (18)3.8_days_to_end_of_month (19)3.9_first_of_month (19)3.10_last_of_month (19)3.11_make_timestamp (20)3.12_months_between (20)3.13_week_of_year (20)3.14_years_between (20)3.15_ymdint_between (21)4块函数 (22)4.1_firstFromSet (22)4.2_remainderSet (22)5供应商特定函数(Oracle函数) (23)5.1add_months (23)5.2ascii (23)5.3char_length (23)5.4chr (23)5.5concat (24)5.6decode (24)5.7dump (24)5.8greatest (24)5.9initcap (25)5.10instr (25)5.11instrb (25)5.12least (26)5.13length (26)5.14lengthb (26)5.15lpad (26)5.16ltrim (27)5.17months_between (27)5.18new_time (27)5.19next_day (27)5.20nls_initcap (28)5.21nls_lower (28)5.22nls_upper (28)5.23nvl (28)5.24replace (29)5.25round (29)5.26rpad (29)5.27rtrim (30)5.28sign (30)5.29soundex (30)5.30substr (30)5.32to_char (31)5.33to_date (31)5.34to_number (31)5.35translate (32)5.36trunc (32)5.37trunc (32)5.38vsize (32)5.39{sysdate} (33)5.40{user} (33)6Oracle Cast函数 (34)6.1cast_varchar (34)6.2cast_timestamp (34)7Oracle数学函数 (35)7.1Log (35)8Oracle三角函数 (36)8.1acos (36)8.2asin (36)8.3atan (36)8.4atan2 (36)8.5cos (37)8.6cosh (37)8.7sin (37)8.8sinh (37)8.9tan (38)8.10tanh (38)9通用函数 (39)9.1_format (39)9.2_round (39)9.3abs (39)9.4cast (39)9.5ceiling (40)9.6character_length (40)9.7coalesce (40)9.8current_date (40)9.9current_time (41)9.10current_timestamp (41)9.11exp (41)9.12extract (41)9.13floor (42)9.15localtime (42)9.16localtimestamp (42)9.17lower (43)9.18mod (43)9.19octet_length (43)9.20position (43)9.21power (44)9.22sqrt (44)9.23substring (44)9.24trim (44)9.25upper (45)1引言1.1编写目的整理cognos的report studio中在数据项表达式中比较常用的函数的应用。
并可供以后需要用到的同事参考。
1.2背景在开发报表过程中积累的一些经验和总结。
1.3参考资料Cognos中的帮助文档和oracle的参考文档。
1.4术语定义及说明2汇总函数2.1aggregate用法:aggregate ( expr [ auto ] )aggregate ( expr for [ all | any ] expr { , expr } )aggregate ( expr for report )作用:根据表达式的聚合类型,返回使用相应的聚合函数计算得出的值。
Example:aggregate ([本期余额])根据数据项[本期余额]的聚合类型,返回使用相应的聚合函数计算得出的值。
如果[本期余额]是sum()得到,则返回所有[本期余额]的合计。
2.2average用法:average ( [ distinct ] expr [ auto ] )average ( [ distinct ] expr for [ all | any ] expr { , expr } )average ( [ distinct ] expr for report )作用:返回选定数据项的平均值。
关键字distinct的作用是,当某个数据项有多个重复的项时,当中只有一个数据项有效。
Example:average ( [本期余额] )返回所有[本期余额]的平均值2.3count用法:count ( [ distinct ] expr [ auto ] )count ( [ distinct ] expr for [ all | any ] expr { , expr } )count ( [ distinct ] expr for report )作用:返回选定数据项的数量,但不包括NULL值。
关键字distinct的作用是,当某个数据项有多个重复的项时,当中只有一个数据项有效。
Example:count( [行号] )返回所有[行号]总的数量。
2.4maximum用法:maximum ( [ distinct ] expr [ auto ] )maximum ( [ distinct ] expr for [ all | any ] expr { , expr } )maximum ( [ distinct ] expr for report )作用:返回选定数据项的最大值。
关键字distinct的作用是,当某个数据项有多个重复的项时,当中只有一个数据项有效。
Example:Maximum ([本期余额])返回数据项[本期余额]中的最大值。
2.5median用法:median ( expr [ auto ] )median ( expr for [ all | any ] expr { , expr } )median ( expr for report )作用:返回选定数据项的中间值。
Example:median ( [本期余额] )返回数据项[本期余额]中的中间值2.6minimum用法:minimum ( [ distinct ] expr [ auto ] )minimum ( [ distinct ] expr for [ all | any ] expr { , expr } )minimum ( [ distinct ] expr for report )作用:返回选定数据项的最小值。
关键字distinct的作用是,当某个数据项有多个重复的项时,当中只有一个数据项有效。
Example:minimum ( [本期余额] )返回数据项[本期余额]中的最小值2.7moving-average用法:moving-average ( numeric_expr , numeric_expr [ at exp {, expr } ] [ <for-option> ] [ prefilter ] )moving-average ( [ distinct ] numeric_expr , numeric_expr [ <for-option> ] [ prefilter ] )<for-option> ::= for expr {, expr } | for report | auto作用:按行返回指定的一组值在指定行数上的移动平均值。
<for-option>定义函数范围。
at option 定义聚合级别,只能在关系数据源上下文中使用。
关键字distinct的作用是,当某个行有多个重复的行时,当中只有一个行有效。
Example:moving-average ([本期余额],3)2.8moving-total用法:moving-total ( numeric_expr , numeric_expr [ at exp {, expr } ] [ <for-option> ] [ prefilter ] )moving-total ( [ distinct ] numeric_expr , numeric_expr [ <for-option> ] [ prefilter ] )<for-option> ::= for expr {, expr } | for report | auto作用:按行返回指定的一组值在指定行数上的移动合计。