cognos报表知识整理Word文件下载.docx
《cognos报表知识整理Word文件下载.docx》由会员分享,可在线阅读,更多相关《cognos报表知识整理Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
三、特殊的日期过滤
电网概况中发电情况包括水、火、风三种发电方式,在数据库中体现即为水(火、风)电机组管理(参数)表。
根据用户要求,需要对全网水(火、风)当年新投机组容量等进行数据统计,
2、设计思想
1)将水、火、风机组管理表分别对应查询中取相同数据项,为U联做准备。
2)在三个查询中新建“投运年”数据项,取得机组投运年份。
表达式:
substr(【投运日期】,1,4)
3)将三个查询进行U联,给U联后的查询设置过滤条件,如图4
图4
3、出现问题分析
根据2、设计思想中进行操作,报表验证报错,不能对substr进行集操作,经查询得知,dm数据库不支持在两层(原层和U联层)查询中同时使用substr。
4、新的解决方法
思路如下图:
从日期提示框中取出“年份”。
substring(ParamDisplayValue('
结束日期'
),1,4)
给取出的年份配html项目,以便读取……(见下图)
步骤3:
新增“文本框提示”,参数名为“年份”,为其配置html项目,以便读入年份及隐藏。
(见下图)
步骤4:
读取数据,详见js截图
步骤5:
取得年份参数,为查询增加过滤条件……
5、可参考报表
四、js控制的条件块跳转
电网概况中,用户需要了解变电站的详细信息,但是通过列表的方式无法展示变电站所有信息,所以我们通过新增条件快,通过js触发条件块跳转,获得详细信息。
2、需要组件
1)点击对象对应的html项目:
2)页面变量(比较固定)
3)对应js代码
3、功能实现思路
点击“查看”
,触发函数onclick="
setInputValue(this);
js中的对应函数起到触发条件块转变作用!
4、注意事项
Js控制的条件块跳转,要注意参数传递问题!
例如,电网概况中,条件块跳转实现的都是根据概况信息跳转查看详细信息,以变电站为例,只想看到一个变电站的详细信息,所以传递参数必须保证唯一性!
5.电厂机组管理
五、调度值班用日期
1、功能描述
根据选择的年月,判断该月有多少天和每天对应的星期,并将周末显示红色,效果图如下:
1)制作界面如下
2)js代码实现
六、鼠标移动,对应列表行变色
1、功能效果图
步骤一:
增加html项目
Html项目中js代码:
步骤二:
增加css标签
Css标签中内容
任何已经完成的报表
七、特色表头(滑动出现标签)
福建调度安全分析报表迁移到华中,因为单张报表比较独立,报表之间没有关联,因此在每张报表中都添加了所有报表名称的标签,随之而来了一个问题,标签过多,严重影响美观……
2、制作效果图
3、功能实现方法
3.1、制作界面
3.2、实现思路
通过div标签区分出不同级别的标题,通过js代码实现鼠标滑动到哪里,哪些标签隐藏,哪些显示的具体功能……
3.3、实现功能代码
3.3.1、css代码
具体js代码:
styletype="
text/css"
h4,div,ul,li,span{padding:
0px;
margin:
0px}
/*最外面DIV的样式*/
#slidingBlock{
over-flow:
hidden;
margin:
0;
height:
60px;
border:
#nav_box{
width:
458px;
text-align:
center;
0;
#slidingBlocka{
color:
#fff;
cursor:
hand;
text-decoration:
underline;
#slidingBlockh4{
float:
left;
78px;
line-height:
27px;
font-size:
12px;
#slidingBlockh4.menuNo{
background-image:
url(../samples/images/biaoqian2.jpg);
background-repeat:
no-repeat;
#slidingBlockh4.menuOn{
background-position:
0px;
url(../samples/images/biaoqian1.jpg);
#line{
5px;
#slidingBlockDIV.slidingList_none{
display:
none
#slidingBlockDIV.slidingList{
500px;
margin-top:
17px;
clear:
both;
background-color:
#009999;
#slidingBlockDIV.slidingListul{
padding:
list-style:
none;
#slidingBlockDIV.slidingListli{
20px;
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>
后加<
javascriptcss>
代码如下:
script>
varx=document.getElementsByTagName("
highlight"
);
for(i=0;
i<
x.length;
i++)
{
vartablerow=x[i].parentElement.parentElement;
vartemp;
if(i%2==0)
{
tablerow.className="
ji"
;
}
else
tablerow.className.replace("
"
"
ou"
tablerow.onmouseover=function()
temp=this.className;
this.className="
over"
//this.className用来设置样式;
鼠标悬停在上面的时候,over是样式内容,over接下面<
style>
里的内容(用来设置背景颜色和边框颜色)
tablerow.onmouseout=function()
this.className=this.className.replace("
//清空样式,把over后面的内容用空格代替
this.className=temp;
tr:
hover,tr.over{background-color:
ff6c00;
ffffff;
}//hover是鼠标滑过时的样式
九、条件快跳转“背景图片”转换
背景图片../samples/images/daohang02.bmp
十、图片隐藏和显示
显示:
(出现隐藏图表提示)
隐藏:
(出现显示图表提示)
点击位置1,位置3处的图标隐藏……
设置:
位置1:
spanid='
showText'
onclick="
showImg(this);
style="
showText:
标记位置id
onclick:
单击事件触发位置4中showing函数。
style=”cursor:
”:
鼠标移动到这里,变成手型。
位置2:
divid='
showImage'
display:
位置4:
functionshowImg(el){
varimg=document.getElementById("
showImage"
vartxt=el;
if(img.style.display=="
none"
){
img.style.display="
txt.innerHTML="
隐藏图表"
}else{
显示图表"
}//具体的显示图表和隐藏图表的执行函数。
十一、挂流程图和表单
spantitle='
查看流程图及管理规定'
showtree1(this);
Javascript中加函数
functionshowtree1(el){
vartd=el.parentElement;
varflowid=td.getElementsByTagName("
div"
)[0].innerText;
vartdSpan=document.getElementById("
FlowurlDiv"
varipinfo=tdSpan.innerText;
varurl=ipinfo+flowid;
//alert(url);
window.showModalDialog(url,"
dialogWidth:
1100px;
dialogHeight:
800px;
dialogTop:
100px;
dialogLeft,100px"
}
底层IP:
FlowurlDiv'
FlowurlDiv1'
FlowurlDiv2'
十二、增加报表提示页面
(1)双击“页面资源管理器”中的“提示页面”
(2)进行1操作后出现如下界面:
从左边“可插入对象”中将“页面”拖入中间位置的“提示页面”中即可。
十三、图表主轴显示如(1月2月……)样式(从小到大排序)问题
效果图:
从数据项中取得数据为(0102……)样式,目的要取得下图样式,对此进行操作
操作步骤:
(1)外界面操作。
属性:
排序(已定义)类别(x轴)
(2)查询资源管理器—相对查询—(排序、月份)
相应过滤条件:
月份:
排序:
(to_number([月份]))将月份转换成数字型,可消除数字前面的0.
十四、字段设置问题
操作图:
工具栏中增加“字段设置”
十五、提取当前月第一天问题
代码:
scripttype='
text/javascript'
functionsubtractDay()
vardtToday=newDate();
vardtYesterday="
01"
varstrYesterday=[dtToday.getUTCFullYear(),dtToday.getMonth()+1,dtYesterday].join("
-"
document.getElementById('
situationInput'
).value=strYesterday;
returnstrYesterday;
functionshowDate(){
pickerControlPDate1.setValue(subtractDay());
//pickerControlPDate2.setValue(subtractDay())
十六、根据屏幕大小自动控制报表条件快大小
1)给“条件快”配ID
2)onload加载页面自动调用函数
3)如上所述函数内容
具体代码内容:
functioninitHtml(){
varwh=(window.screen.availHeight-480)+'
px'
vardiv1=document.getElementById("
heighthtml"
vardiv2=div1.childNodes[0];
div2.style.height=wh;