1、cognos报表知识整理Cognos报表知识整理一、提示页自动加载1、功能需求背景华中电网概况报表首页需要有日期参数,但是每次进入首页时出现日期选择框影响美观,所以为其增加提示页面,但根据要求不能增加提示页面,所以设计出提示页面自动加载。通俗的讲就比如:出现提示页面,电脑自动点击确定进入主页面2、功能实现方法步骤1:新建提示页面,新页面中内容包括:onload项目、完成按钮、日期提示框以及针对提示框的html项目。如下图1图1步骤2:Onload项目中函数:详见图1function initMon() promptButtonFinish();二、进入页面后自动刷新一次1、功能需求背景电网概况
2、报表电厂容量分析主页面中,需要自动根据日期刷新一次页面(具体原因参见三、特殊的日期过滤)2、功能实现方法步骤1:Onload项目加载函数,如图2图2步骤2:Js中函数新加一行代码,如图3图33、可参考报表电网概况报表1.电厂容量分析三、特殊的日期过滤1、功能需求背景电网概况中发电情况包括水、火、风三种发电方式,在数据库中体现即为水(火、风)电机组管理(参数)表。根据用户要求,需要对全网水(火、风)当年新投机组容量等进行数据统计,2、设计思想1)将水、火、风机组管理表分别对应查询中取相同数据项,为U联做准备。2)在三个查询中新建“投运年”数据项,取得机组投运年份。表达式:substr(【投运日期
3、】,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:取得年份参数,为查询增加过滤条
4、件5、可参考报表电网概况报表1.电厂容量分析四、js控制的条件块跳转1、功能需求背景电网概况中,用户需要了解变电站的详细信息,但是通过列表的方式无法展示变电站所有信息,所以我们通过新增条件快,通过js触发条件块跳转,获得详细信息。2、需要组件1)点击对象对应的html项目:2)页面变量(比较固定)3)对应js代码3、功能实现思路点击“查看”,触发函数onclick=setInputValue(this);js中的对应函数起到触发条件块转变作用!4、注意事项Js控制的条件块跳转,要注意参数传递问题!例如,电网概况中,条件块跳转实现的都是根据概况信息跳转查看详细信息,以变电站为例,只想看到一个变电
5、站的详细信息,所以传递参数必须保证唯一性!5、可参考报表电网概况报表5.电厂机组管理五、调度值班用日期1、功能描述根据选择的年月,判断该月有多少天和每天对应的星期,并将周末显示红色,效果图如下:2、功能实现方法1)制作界面如下2)js代码实现3、可参考报表六、鼠标移动,对应列表行变色1、功能效果图2、功能实现方法步骤一:增加html项目Html项目中js代码:步骤二:增加css标签Css标签中内容3、可参考报表任何已经完成的报表七、特色表头(滑动出现标签)1、功能需求背景福建调度安全分析报表迁移到华中,因为单张报表比较独立,报表之间没有关联,因此在每张报表中都添加了所有报表名称的标签,随之而来
6、了一个问题,标签过多,严重影响美观2、制作效果图3、功能实现方法3.1、制作界面3.2、实现思路通过div标签区分出不同级别的标题,通过js代码实现鼠标滑动到哪里,哪些标签隐藏,哪些显示的具体功能3.3、实现功能代码3.3.1、css代码具体js代码:h4,div,ul,li,span padding:0px; margin:0px/* 最外面DIV的样式 */#slidingBlock over-flow:hidden;margin:0;height:60px;border:0;#nav_boxwidth:458px;text-align:center;margin: 0;#slidingB
7、lock 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.men
8、uOn background-position: 0px;color:#fff;background-image: url(./samples/images/biaoqian1.jpg);background-repeat: no-repeat;#linewidth:5px;height:27px;float:left;#slidingBlock DIV.slidingList_none display:none#slidingBlock DIV.slidingList width:500px;margin-top:17px;clear:both;background-color: #0099
9、99;#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;3.3.2、第一个div标签3.3.3、一级标题3.3.4、div-list1标签3.3.5、a标签3.4、更换亮色标签通过标签进入不同类型下的报表时,点击进入后要实现大类型的光亮,小标题显示黄色。下面举例说明:从【计划跟踪潮流裕度】跳转
10、到【预防控制煤情分析】计划跟踪潮流裕度预防控制煤情分析界面跳转步骤1、更改div-liset1标签或者标签更改前更改后更改前更改后步骤21、改变【潮流裕度】字体颜色2、增加【潮流裕度】追溯定义1、改变【煤情分析】字体颜色2、删除【煤情分析】追溯定义步骤3、改变一级标签,以实现背景图片的变换更改前更改前4、可参见报表调度安全分析报表八、鼠标移动到列表,箭头所指向相应的行变色。在后加代码如下:var x = document.getElementsByTagName(highlight);for (i = 0;ix.length;i+) var tablerow=xi.parentElement.
11、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接下面里的内容(用来设置背景颜色和边框颜色) tablerow.onmouseout=function() this.c
12、lassName=this.className.replace(over,); /清空样式,把over后面的内容用空格代替 this.className=temp; tr:hover,tr.overbackground-color:ff6c00;color:ffffff; /hover是鼠标滑过时的样式九、条件快跳转“背景图片”转换背景图片./samples/images/daohang02.bmp十、图片隐藏和显示显示:(出现隐藏图表 提示)隐藏:(出现显示图表 提示)点击位置1,位置3处的图标隐藏设置:位置1: showText:标记位置id onclick:单击事件 触发位置4中show
13、ing函数。 style=”cursor:hand;”:鼠标移动到这里,变成手型。位置2:位置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=显示图表; /具体的显示图表和隐藏图表的执行函数。十一、挂流程图和表单Javascript中加函数function
14、showtree1(el) var td = el.parentElement; var flowid = td.getElementsByTagName(div)0.innerText; var tdSpan = document.getElementById(FlowurlDiv); var ipinfo= tdSpan.innerText; var url = ipinfo+flowid; /alert(url); window.showModalDialog(url,dialogWidth:1100px;dialogHeight:800px;dialogTop:100px;dialog
15、Left,100px); 底层IP:底层IP:底层IP:十二、增加报表提示页面(1)双击“页面资源管理器”中的“提示页面”(2)进行1操作后出现如下界面:从左边“可插入对象”中将“页面”拖入中间位置的“提示页面”中即可。十三、图表主轴显示如(1月 2月)样式(从小到大排序)问题效果图:从数据项中取得数据为(01 02)样式,目的要取得下图样式,对此进行操作操作步骤:(1)外界面操作。属性:排序(已定义) 类别(x轴)(2)查询资源管理器相对查询(排序、月份)相应过滤条件:月份:排序:(to_number(月份))将月份转换成数字型,可消除数字前面的0.十四、字段设置问题效果图:操作图:工具栏中
16、增加“字段设置”十五、提取当前月第一天问题代码:function subtractDay() var dtToday = new Date(); var dtYesterday = 01; var strYesterday = dtToday.getUTCFullYear(), dtToday.getMonth()+1,dtYesterday .join(-); document.getElementById(situationInput).value = strYesterday ; return strYesterday; function showDate()pickerControlP
17、Date1.setValue(subtractDay();/pickerControlPDate2.setValue(subtractDay()十六、根据屏幕大小自动控制报表条件快大小1)给“条件快”配ID2)onload加载页面自动调用函数3)如上所述函数内容具体代码内容:function initHtml() var wh = (window.screen.availHeight - 480) + px; var div1 = document.getElementById(heighthtml); var div2 = div1.childNodes0; div2.style.height=wh;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1