1、首先打开IBM COGNOS CONFIGURATION在里面配置报表访问的数据库2、然后进入FrameWork Manager,先给数据取一个名字,我们给数据包取名的规则是fs开头,后面加上报表编号,最后数字是用来区分是汇总表,还是明细表Project name:报表包名Location:报表存放的路径3、选择数据源这里,如果是时实报表选择cxdb,非实时选择cnplapp,这里的数据其实是在cognos服务器上配好的,所以名字并不是随便取的。
4、进入页面后在页面的左边会出现一个树型菜单,cnpl是数据包,data sources是数据源, packages是发布包5、双击数据包会展现出开发界面。
这里有一些选项。
SQL标签中是我们要放的SQL语句。
TEST是我们可以用来测试语句是否正确,Query Information在这里我们是要修改sql语言的种类(如图)这里有一个下拉菜单Sql Type,这里我默认的是cognos 它的意思是sql语言类型是cognos 型的,第二是native,意思是自然型的,也就是我们平常所使用的语法。
选择后点击ok后,就可以写sql语句了。
这里,我们建议,不要直接在cognos sql里面写,而是写在pl/sql中写好测试好后,粘到cognos里面来,这样准确性高。
6、cognos的参数传递对于在cognos中配置页面参数,这里有自己的语法。
一般都是以#开头,然后以#结尾#sq():意思是前后有单引号#prompt("areaorg", "token")#:prompt是传一个值,areaorg是我们的控件名,token是指传递的参数是字符串型的,integer是指传递的参数是整型的.#promptmany("areaorg", "token")#: promptmany是指可以传递多个值下面,我给出平常我们用到的配置参数的一些例子:#prompt("areaorg", "token")#:传递一个参数#promptmany("areaorg", "token")#:传递多个参数#sq(promptmany("areaorg", "token"))#:参数前后用单引号括上以上这些都是必添项,有时,还有一些非必添项((to_char(PRJCT_ID) in (#promptmany("prjct_id", "token", "0000") #) and'0000' not in(#promptmany("prjct_id", "token", "0000") #)) or'0000'in(#promptmany("prjct_id", "token", "0000") #))7、cognos测试点击test,在出现的页面右下脚,在点击test,出现的页面,是让我们输入参数值。
带*号的是必添项,其它是非必添项。
测试通过后,我们就可以发布数据包了。
8、发布数据包右键点击Package,选择create后,我们为发布的数据包取上一个名字,然后,接下来就是一直下一步了,最后点击finish就可以了。
到此处,我们在后台cognos里的操作就完成了9、注意事项在我们做数据包的时候,做好是数据包名和发布包名取一样。
还要记住一定要修改sql语言的类型。
Cognos前台页面开发打开IE,我们输入http://10.3.7.17:9300/p2pd/servlet/dispatch这个地址,后进入cognos前台页面。
我们看到,文件夹里面放的都是我们画的前台页面,而下面蓝色的文件夹,就是我们后台发布生成的数据包。
我们选择一个数据包后,选择右上脚的启动按钮下,选择Report Studio,进入编辑页面,打开页面后,展现给我们的是一个选项框里面的选项,就是我们平常开发报表时,要用到的各种表,这里我们选择列表,这也是我们最常用到的一种开发模式。
选择完后,我们就可以把左边的数据包拖到右边的列表中,就会出现上图的样子。
下面我们来细说一下页面的要求。
一、表头:如果是单行表头,我们可以在SQL语句中起别名的时候,直接取上中文名,这样,我们可以减少在页面的改名,如果是多行表头,我们就不能那样作了,我们要建页眉,我们先择第一列。
然后选择菜单上的结构,选择创建页眉和页脚如果是两行表头,我们选国创建的页眉,然后在选择菜单中的结构中的页眉和页脚,在选择‘在上方插入列表行单元格’我们要几行表头,就输入几就可以了。
二、计算汇总:这里很简单,我们只是选中要计算的列,然后选择菜单中的合计就可以了三、分页:我们现在的要求是每页显示10000条。
选中第一列,然后在页面的左下脚的属性窗口中,我们点击列表单元格,在出现的菜单中选择列表。
然后在每页行数中写上10000,就可以了四、在第一行增加汇总选中表头,创建页眉,然后选择分割列表单元格,然后选择新创建的页眉,解锁,解锁后,把下面的汇总条,选中复制到新创建的页眉上,在把锁给锁上。
五、列表的文字不换行我们为了页面的好看,所以要求每一个小单元格中的中文字不需要换行,我们选中一个单元格,然后在属性窗体中选择空白,在出现的下拉菜单中,选择无换行六、修改数据格式我们报表中的数据显示,对于金额,收入,要保留小数点后两位,日期只需要到秒,这些,我们都可以在前台页面进行操作,选中金额列然后选择属性窗体中的数据格式在小数位数里面写2,然后在里写上0.00这样,关于金额方面的就OK了下面是对日期的调整七、报表的跳转,导出1)报表第一行为打印控件右对齐:打印控件新增方法:1.在“工具箱”中选择“块”拖到报表标题块之前2.在“工具箱”中选择“HTML项目”拖到新增的块中,并在HTML项目中新增如下代码:<style>@media print {.f_hidden{display:none;}}</style><img src="/p2pd/ps/portal/images/icon_printer.gif" onclick="javascript:window.print();" style="cursor:han d;" class="f_hidden" alt="打印报表" ><img src="/p2pd/ps/portal/images/icon_document_coc_excel.gif" onclick="javascript:oCV_NS_.getRV().vie wReport('XLWA');" style="cursor:hand;" class="f_hidden" alt="导出EXCEL"><img src="/p2pd/ps/portal/images/series7/icon_newsitem_pdf.gif" onclick="javascript:oCV_NS_.getRV().vie wReport('PDF');" style="cursor:hand;" class="f_hidden" alt="导出PDF">3.选中新增的“块”选择右对齐对于明细页面需要新增"返回"按钮(在打印按钮之前)代码如下:<img src="/p2pd/explore/images/icon_undo16.gif" onclick="javascript:history.back();" style="cursor :hand;" class="f_hidden" alt="返回">2)报表第二行为报表标题3)报表第三行为报表的统计周期,居中对齐统计周期时间段格式,现说明如下:1.在“工具箱”中选择“块”拖到报表标题块之后2.在“工具箱”中选择“HTML项目”拖到新增的块中,并在HTML项目中新增如下代码:<div style="font-size:12px"> 开始时间:3.在“工具箱”中选择“布局计算”拖到“HTML项目”之后,内部代码如下:substring (ParamDisplayValue('beginday'),1,4)+"年"+substring (ParamDisplayValue('beginday'),5,2)+"月"+substring (ParamDisplayValue('beginday'),7,2)+"日"4.在“工具箱”中选择“HTML项目”拖到新增的“布局计算”之后,并在HTML项目中新增如下代码: 结束时间:5.在“工具箱”中选择“布局计算”拖到新增“HTML项目”之后,内部代码如下:substring (ParamDisplayValue('endday'),1,4)+"年"+substring (ParamDisplayValue('endday'),5,2)+"月"+substring (ParamDisplayValue('endday'),7,2)+"日"6.在“工具箱”中选择“HTML项目”拖到新增的“布局计算”之后,并在HTML项目中新增如下代码:</div>4)报表主体居中对齐报表表头边框颜色:#608BB4;报表表头背景颜色:#BFD2E2;5)报表页脚调整,中间为页码,右下角为打印时间,格式为,例:打印时间:2009-03-05 15:05:201.将页脚左侧中“日期控件”拖至右侧“时间控件”之前双击“日期控件”,调整日期样式为“短”,分隔符为“-”,日期排序为“年,月,日”,显示年为“显示实际”,显示月和显示日为“两位数字”双击“时间控件”,调整时间样式为“短”,分隔符为“:”,显示上午和下午为“否”,显示时、显示分和显示秒为“两位数字”,时钟调整为“24小时”2.在“日期控件”之前,“日期控件”之后,“时间控件”之后分别新增一个“HTML项目”控件三个控件代码分别为:1. <span style="font-size:12px">打印时间:2. 3. </span>八、报表的下钻选中要下钻的某一列,然后选择菜单中的追溯我们点击追溯后,在出现的页面中,点击左下脚的小太阳,新增一个追溯,然后选择参数下面的小铅笔,给下钻页面传递参数,我们要在方法中选择传递类型如果参数是控件中传的,我们就要选择传递参数值,如果是我们查出来的值,就要选择传递数据项值。