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前台报表规范一、控件命名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)、查询功能查询区域根据日期维度拆分为年报、月报、日报快捷查询按钮。
cognos报表数据项表达式函数的应用
c o g n o s报表数据项表达式函数的应用(总45页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--cognos 报表数据项表达式函数的应用手册文档信息批复信息文件控制文档编号CCBBI_PM061110_001 版 本号密级内部资料目录1引言 .............................................................. 错误!未定义书签。
编写目的 ...................................................................... 错误!未定义书签。
背景 .............................................................................. 错误!未定义书签。
参考资料 ...................................................................... 错误!未定义书签。
术语定义及说明 .......................................................... 错误!未定义书签。
2汇总函数 ...................................................... 错误!未定义书签。
aggregate ...................................................................... 错误!未定义书签。
average ......................................................................... 错误!未定义书签。
count ............................................................................. 错误!未定义书签。
Cognos8.3函数使用手册
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].[日期].[日期])),[销售金额]))我的更多文章。
cognos8.3函数使用手册V1.0
1、lastPeriods(12,[2008/4月])
解释
1、返回[2008/4月]前12个月
3.5
原型
openingPeriod ( level [ , member ] )
说明
在指定级别上某一成员的子项当中,返回第一个同胞成员。通常与时间维度配合使用
案例
1、openingPeriod([每日一览N].[日期].[日期].[月],[2008年])
2.8
原型
lead ( member , index_exp )
说明
返回排在指定成员之后特定位数的同胞成员
案例
1、lead([2008/6],5)
解释
1、[2008/11]返回的月份为[2008/6]后移index_exp,即5个月
2.9
原型
members ( hierarchy | level )
案例
1、closingPeriod([每日一览N].[日期].[日期].[月],[2008年])
解释
1、返回[2008年]对应[每日一览N].[日期].[日期].[月]最后月
3.4
原型
lastPeriods ( integer_exp , member )
说明
返回同一级别中以指定成员结尾的成员集。返回的成员数是“integer_exp”的绝对值。如果“integer_exp”为负数,则返回指定成员后面的成员,包括指定成员。通常与时间维度配合使用
说明
返回指定(命名)级别上指定成员的祖项,或返回以下级别上指定成员的祖项:指定成员上面指定数量的级别。
注:当存在多个此类祖项时,结果可能不一致
案例
1、ancestor([机动车交通事故责任强制保险],1)
Cognos报表调优
报表设计调优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查询与报表和多维分析工具
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给经理们提供了三种处理异常数据(落入指定值域外的数据)的选择方案:★条件过滤器、仅提取落在特定限值之外的项值,用户可以指定他们特定的项值,也可以从一预定义的表列中选取。
cognos安装使用教程
Cognos的主界面包括菜单栏、工具栏、导航窗格、工作区和状态栏。菜单栏提供文件、 编辑、视图等基本操作;工具栏提供常用功能的快捷按钮;导航窗格显示项目、文件夹 和报表等资源的树状结构;工作区用于显示和编辑报表;状态栏显示当前登录用户和系
统状态信息。数据源配置01Fra bibliotek添加数据源
在Cognos中,可以通过“数据源”向导添加新的数据源。支持的数据
硬件要求
安装Cognos的服务器应具备足够 的内存、处理器和存储空间,以确 保系统的稳定运行和性能。
网络要求
确保服务器可以访问互联网,以便 下载安装包和获取更新。
安装包准备
从官方网站下载最新版本的Cognos 安装包。确保选择与您的操作系统和 硬件兼容的版本。
在下载安装包之前,请仔细阅读官方 文档,了解安装过程中的注意事项和 常见问题。
确保服务器的防火墙和安全设置允许Cognos的正常运行,包括网络通 信和文件访问等。
03
cognos安装步骤
安装向导启动
下载Cognos安装包
从IBM官方网站或其他可信来源下载 Cognos的安装包。
启动安装程序
双击下载的安装包,启动Cognos的安装向 导。
选择安装语言
在安装向导中选择您偏好的安装语言。
源类型包括关系型数据库、多维数据库、XML文件等。添加数据源时需
要提供数据源的名称、类型、连接字符串等信息。
02
配置数据源属性
在数据源配置界面中,可以设置数据源的属性,如连接超时时间、查询
超时时间、最大连接数等。这些属性可以根据实际需要进行调整,以优
化系统性能。
03
测试数据源连接
配置完成后,可以点击“测试连接”按钮,验证数据源配置是否正确。
中国建设银行Cognos报表、分析、查询培训教程-经典收藏
China Construction Bank. | 25
对列表中的数据进行处理 “广西区分行”列中的数据源是从层次维来的,默认情况下有上 下钻取功能,可点击右键后可选择“向下追溯”或“向上追溯”。
China Construction Bank. | 26
106评级求分位数与求四分位数操作类似只不过求四分位数是缺省分成四档而求分位数的分档数量可以自定义107常量添加单个项目添加实际作用就是添加常数行或者常数列这样就可以进行有常数参与的计算但是添加的常数列行不计入汇总108常量添加单个项目添加结果页面109常量添加数量添加实际上就是添加一个固定数值的列110常量添加数量添加结果页面111常量添加添加完常数列后的应用可以参与之前各种操作类型的计算112其它操作排序113其它操作操作页面114显示设置可以点击相应的按钮进行显示设置115显示设置举例116过滤设置前面提到的上下文和排除操作实际也是过滤的一种形式都是对显示的内容进行筛选117过滤设置最高最低定义118过滤设置最高最低定义以最高举例求即期资产对应的余额最高的10家一级行119过滤设置最高最低定义以最高举例求及其资产余额最高的10家一级行的结果页面被隐藏和被排除项目不会被加进来120过滤设置最高最低定义以最高举例求中国建设银行总行本级对应科目余额占前10的科目121结果页面可以看到因为科目中即期资产占总科目余额的百分比已经超过10所以只显示一个
接、并集、交集等,可以视实际情况使用。除另外还可以直接写SQL语句和 MDX语句。在解决实际问题的时候可以灵活运用,去弥补COGNOS系统提供 显示数据格式的不足。
China Construction Bank. | 39
IBM_Cognos_功能说明
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)。
Cognos报表开发规范
深圳天源迪科信息技术股份有限公司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开发技巧总结文档
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的高级报表制作技巧--Variable
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函数
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)报表的过滤条件以及url参数详解,解决OR-ERR-021 问题
献给所有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]上面这个问题困扰了我很长时间,在网上提问,搜索也找不到答案,最后贝克汉姆的一个回答帖子给我了启示.现在将解决办法记录下来,希望这个问题不要再困扰更多像我一样的新手们.。
2024年度Cognos基础知识及操作入门
2024/2/2
17
04 数据源连接与配置
2024/2/2
18
关系型数据库连接配置方法
01
确定数据库类型和版本:如Oracle, SQL Server, MySQL等。
02
安装并配置相应的数据库驱动程序。
2024/2/2
03
在Cognos Configuration中创建数据源连接,配置数据库连接属性 ,如服务器地址、端口、数据库名、用户名和密码等。
美化技巧
通过调整图表颜色、添加数据标签、设置图例等技巧提升图表美观 度。
注意事项
避免过度装饰,保持图表简洁明了,突出数据主题。
2024/2/2
27
06 仪表板设计技巧与实践
2024/2/2
28
仪表板布局规划原则
简洁明了
避免过度复杂的设计,保持整体布局的清晰 和简洁。
一致性
保持设计风格、色彩、字体等的一致性,提 升用户体验。
Cognos基础知识及操 作入门
2024/2/2
1
目录
Contents
2024/2/2
• 认知Cognos • Cognos基础概念 • Cognos操作界面介绍 • 数据源连接与配置 • 报告设计技巧与实践 • 仪表板设计技巧与实践 • Cognos高级功能应用 • 总结与展望
2
01 认知Cognos
设置阈值
为关键指标设置阈值,当数据超过或低于阈值时,触发预 警。
自定义预警规则
根据业务需求,自定义复杂的预警规则,例如,当销售额 连续三个月下降时触发预警。
预警通知
通过邮件、短信等方式,及时将预警信息通知给相关人员 。
2024/2/2
35
中国建设银行Cognos报表、分析、查询培训教程-经典收藏
China Construction Bank. | 36
查询 “查询”为数据的显示提供了一个结构,在报表中显示的数据是通 过 “查询”从数据源中获取数据的,类似于数据库中视图的概念。 “查询”
图标 如下图:
China Construction Bank. | 33
页面简介
China Construction Bank. | 34
报表页面
报表页面如下图示:
China Construction Bank. | 35
报表页面
• 可插入对象栏中的内容就是Framework发布包的内容 • 工作区则是拖拉可插入对象制作报表的地方 • 属性栏就是工作区上各对象的属性,点击工作区上的对象就可以
China Construction Bank. | 14
创建当模Q型u中e的r查y询S项t被u拖d到i列o表报后,表各项的数据即显示出来,其实这已是报
表的 结果了。接着为报表添加过滤条件,如下图所示,首先点击“编辑数据”栏,然后 在列表中选定一列,这里假定选定“证券名称”列,最后点击左边的“过滤器”。
Cognos Connection门户界面
China Construction Bank. | 7
QueryStudio使用培训
• QueryStudio简介 • 创建QueryStudio报表 • 对报表中的数据进行处理 • 定义条件样式
China Construction Bank. | 8
China Construction Bank. | 32
页面简介
在ReportStudio系统中,页面分为两种,一种是报表页面, 即是报表运行最后要显示数据的页面,是必需的。另一种是提示 页面,是为用户选择过滤条件提供的一个页面,如果报表中同时 包含这两种页面,则运行后先显示提示页面,供用户选择条件 后,再转到报表页面,而报表页面显示的数据则是经过从提示页 面的选择条件过滤后的数据。查看页面的情况可将鼠标放到“页 面资料管理器”面板上,即弹出,如下图:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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作用:按行返回指定的一组值在指定行数上的移动合计。