当前位置:文档之家› 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。

4、新的解决方法思路如下图:步骤1:从日期提示框中取出“年份”。

substring(ParamDisplayValue('结束日期'),1,4)步骤2:给取出的年份配html项目,以便读取……(见下图)步骤3:新增“文本框提示”,参数名为“年份”,为其配置html项目,以便读入年份及隐藏。

(见下图)步骤4:读取数据,详见js截图步骤5:取得年份参数,为查询增加过滤条件……5、可参考报表电网概况报表>>1.电厂容量分析四、js控制的条件块跳转1、功能需求背景电网概况中,用户需要了解变电站的详细信息,但是通过列表的方式无法展示变电站所有信息,所以我们通过新增条件快,通过js触发条件块跳转,获得详细信息。

2、需要组件1)点击对象对应的html项目:2)页面变量(比较固定)3)对应js代码3、功能实现思路点击“查看”,触发函数onclick="setInputValue(this);js中的对应函数起到触发条件块转变作用!4、注意事项Js控制的条件块跳转,要注意参数传递问题!例如,电网概况中,条件块跳转实现的都是根据概况信息跳转查看详细信息,以变电站为例,只想看到一个变电站的详细信息,所以传递参数必须保证唯一性!5、可参考报表电网概况报表>>5.电厂机组管理五、调度值班用日期1、功能描述根据选择的年月,判断该月有多少天和每天对应的星期,并将周末显示红色,效果图如下:2、功能实现方法1)制作界面如下2)js代码实现3、可参考报表六、鼠标移动,对应列表行变色1、功能效果图2、功能实现方法步骤一:增加html项目Html项目中js代码:步骤二:增加css标签Css标签中内容3、可参考报表任何已经完成的报表七、特色表头(滑动出现标签)1、功能需求背景福建调度安全分析报表迁移到华中,因为单张报表比较独立,报表之间没有关联,因此在每张报表中都添加了所有报表名称的标签,随之而来了一个问题,标签过多,严重影响美观……2、制作效果图3、功能实现方法3.1、制作界面3.2、实现思路通过div标签区分出不同级别的标题,通过js代码实现鼠标滑动到哪里,哪些标签隐藏,哪些显示的具体功能……3.3、实现功能代码3.3.1、css代码具体js代码:<style type="text/css">h4,div,ul,li,span{ padding:0px; margin:0px}/* 最外面DIV的样式*/#slidingBlock {over-flow:hidden;margin:0;height:60px;border:0;}#nav_box{width:458px;text-align:center;margin: 0;}#slidingBlock a{color:#fff;cursor:hand;text-decoration:underline;}#slidingBlock h4 {float:left;width:78px;line-height:27px;text-align:center;font-size:12px;over-flow:hidden;float:left;}#slidingBlock h4.menuNo {background-image: url(../samples/images/biaoqian2.jpg); background-repeat: no-repeat;}#slidingBlock h4.menuOn {background-position: 0px;color:#fff;background-image: url(../samples/images/biaoqian1.jpg); background-repeat: no-repeat;}#line{width:5px;height:27px;float:left;}#slidingBlock DIV.slidingList_none {display:none}#slidingBlock DIV.slidingList {width:500px;margin-top:17px;clear:both;background-color: #009999;}#slidingBlock DIV.slidingList ul {margin:0px;padding:0px; list-style:none; }#slidingBlock DIV.slidingList li {float:left;height:20px;line-height:20px;font-size:12px;text-indent:15px;}</style>3.3.2、第一个div标签3.3.3、一级标题3.3.4、div-list1标签3.3.5、a标签3.4、更换亮色标签通过标签进入不同类型下的报表时,点击进入后要实现大类型的光亮,小标题显示黄色。

下面举例说明:从【计划跟踪>潮流裕度】跳转到【预防控制>煤情分析】计划跟踪>潮流裕度预防控制>煤情分析界面跳转步骤1、更改div-liset1标签或者<a>标签更改前更改后更改前更改后步骤2 1、改变【潮流裕度】字体颜色2、增加【潮流裕度】追溯定义1、改变【煤情分析】字体颜色2、删除【煤情分析】追溯定义步骤3、改变一级标签,以实现背景图片的变换更改前更改前4、可参见报表调度安全分析报表八、鼠标移动到列表,箭头所指向相应的行变色。

在<onload>后加<javascript css>代码如下:<script>var x = document.getElementsByTagName("highlight");for (i = 0;i<x.length;i++){var tablerow=x[i].parentElement.parentElement;var temp;if(i%2==0){tablerow.className="ji";}else{tablerow.className.replace("ji","");tablerow.className="ou";}tablerow.onmouseover=function(){temp=this.className;this.className="over"; //this.className用来设置样式;鼠标悬停在上面的时候,over是样式内容,over接下面<style></style>里的内容(用来设置背景颜色和边框颜色)}tablerow.onmouseout=function(){this.className=this.className.replace("over",""); //清空样式,把over后面的内容用空格代替this.className=temp;}}</script><style>tr:hover,tr.over{background-color:ff6c00;color:ffffff;} //hover是鼠标滑过时的样式</style>九、条件快跳转“背景图片”转换背景图片../samples/images/daohang02.bmp 十、图片隐藏和显示显示:(出现隐藏图表提示)隐藏:(出现显示图表提示)点击位置1,位置3处的图标隐藏……设置:位置1:<span id='showText' onclick="showImg(this);" style="cursor:hand;"> showText:标记位置idonclick:单击事件触发位置4中showing函数。

style=”cursor:hand;”:鼠标移动到这里,变成手型。

位置2:<div id='showImage' style="display:">位置4:function showImg(el){var img = document.getElementById("showImage");var txt = el;if(img.style.display == "none"){img.style.display="";txt.innerHTML="隐藏图表";}else{img.style.display="none";txt.innerHTML="显示图表";}//具体的显示图表和隐藏图表的执行函数。

相关主题