手动修改Cognos柱状图的提示

浏览: 2177

改变cognos的柱子、x轴提示: 

1.先让X轴显示达到要求,因为它是一个图片,是Server返回来给web的,我们无法在生成图片后去修改 

2.当X轴和柱子的显示、title提示均不一致时,做法有点特殊 

a.先拖入组合数据项A_B_C,把文本来源改为数据项值,数据项值来源改为单一数据项A 

b.让自定义标签显示,来源为数据项值,数据项值为组合数据项A_B_C 

c.最终修改的结果是: 

图表文本项:A ->A 

图表标签:  A_B_C ->A_B_C 

运行后,柱子上的提示是:A_B_C = A,  X轴提示是:A_B_C = A,X轴显示值是:A 

3.接下来我们就要利用JS来遍历报表生成的<map><area ...><area ...></mpa>标示,手动修改area.title的值 

来让柱子提示变为: 

A文本 = A 

B文本 = B 

C文本 = C 

X轴提示变为: 

A文本 = A 

<script type="text/javascript"> 
var areas = document.getElementsByTagName("area");
for (var i = 0; i < areas.length; i++) {
var area = areas[i];
if (area.getAttribute("type") == 'chartElement') {
var title = area.title;
var s = title.split("\n");
var tempStr = s[0].split("=")[0].split("#");
if(tempStr[1] != "" ){
var starttimeStr = tempStr[0];
var objNameStr = tempStr[1];
var namecgiStr = tempStr[2];
var myTitleValue = "小区 = " + namecgiStr + "\n开始时间 = " + starttimeStr + "\n分析范围 = " + objNameStr;
area.title = myTitleValue + "\n" + s[1];
}
else{
var starttimeStr = tempStr[0];
var namecgiStr = tempStr[2];
var myTitleValue = "小区 = " + namecgiStr + "\n开始时间 = " + starttimeStr;
area.title = myTitleValue + "\n" + s[1];
}
}
else{
var title = area.title;
var s = title.split("=");
var myXTitle = "小区 = " + s[1];
area.title = myXTitle;
}
}
</script>

推荐 0
本文由 cognos小白 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册