cognos开发技巧窍门情况总结资料文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cognos开发技巧总结文档1实现目录树展开功能
1.1在列表中实现目录树展开功能
1.插入一个列表,拖入5个字段,并且对运营商所在地分组
2.添加运营商所在地的页眉
3.拆分运营商所在地的单元格
4.解锁,将运营商所在地的汇总拖到运营商处
5.删除运营商所在地
6. 按住CTRL,分别拖动本周新增用户数、今年新增用户总数、期末用户总数到运营商所在地的页眉处
7. 在report page中插入HTML控件,然后拷贝如下代码进去
下面代码主要是定义了两个函数,一个用于目录树的展开与缩进,另一个用于页面初始化时隐藏一些数据,下面代码只支持到2层目录,更详细的含义可参考的在交叉表中实现目
录树功能的注释。
代码如下:
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";
}
}
}
8.拖入一个HTML项目插入到运营商单元格前面,修改成数据项,并修改表达式
运营商中HTML控件代码如下:
''+ [orc82].[D_OPERATIONROLES].[运营商所在地] + ''
9.删除掉运营商所在地
10.设置运营商的填充为左侧20
11.增加图片
增加树形的图片PropertyGroup_plus.gif,空白图片blank.gif到cognos相应的图片目录
12. 增加列表页脚
(注意,这里的HTML控件一定要放入表页脚里面,否则不能实现隐藏数据的功能),并拷贝HTML代码,删除掉列表页脚几个字
代码如下:
13.选择列表,并设置列表每页行数为9999(这样就不用再翻页了)
14.这样一个树状报表就做好了,运行报表,查看结果
2cognos 报表查询条件导出
以EXCEL2007,EXCEL2003,PDF格式导出报表时,一般输入的查询条件没有一起导出,希望将查询条件一起导出来。
在每个查询条件后面加入一个文本框
文本来源类型选报表表达式
表达式内容输入条件参数的名字
if (ReportOutput() <> 'HTML') then ParamDisplayValue('截止时间')