润乾报表入门_第1页
润乾报表入门_第2页
润乾报表入门_第3页
润乾报表入门_第4页
润乾报表入门_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 前言鉴于目前报表开发没有一个统一的规范,每个开发的风格和习惯也不一致,所以动手写了这份报表开发文档,一来有助于统一大家的报表的风格,提供一些常见问题的解决方案,二来方便以后新人的学习使用。本人也是略懂皮毛,有什么错误和不足之处,欢迎大家补充修改。2.报表工具安装解压后运行 安装文件,按引导完成安装。其中,在初次打开报表文件和发布报表文件的时候(后续会提到),会提示我们需要lic文件,就是下图中的两个lic文件。Figure 13.报表工具的使用3-1 配置数据源使用报表时需要先对数据源进行配置:Figure 2选择新建一个数据源:Figure 3项目中默认使用的数据源名称为reportjn

2、di.参考图3进行配置后,点击连接,进行数据源连接,这样就完成了报表服务器与数据库的连接。3-2 新建报表目前的报表形式分为两部分,一是用来显示查询结果的“报表名.raq”文件,另一个是用来提供查询条件的“报表名_arg.raq”文件。我们只需要在保存文件的时候,按上述格式命名,打开.raq文件时,会自动打开相关的_arg.raq文件。3-3 结果显示报表设计首先新建一张报表,直接点击左上角工具栏上的即可。按照给定的表样设计好报表名名、列名。如下图,这里提供一种样式当做参考模板,如客户无特殊需求,希望各开发按照统一的样式标准进行设计,有助于提高所有报表的统一性,后面还会提到一些规范,希望大家也

3、可以遵守起来。Figure 4报表名这一行,采用黑色、二号字,加粗。列名采用白色、三号字,加粗,背景色使用淡紫色(颜色相近即可)。若每一列下面还要分列,则使用黑色、小三号字,结果数据使用黑色、四号字。Figure 5设定好报表样式后,开始根据逻辑进行取数,设置每一列的宽度时,如果需要在一行中完整显示的,要选择“按单元格内容扩大”,并去掉“自动换行”。Figure 6报表通过配置的“数据集”进行取数。点击配置数据集,新增一个数据集,大部分逻辑,通过sql检索即可完成,若遇到比较复杂的也可以使用存储过程。Figure 7在“语法”中输入sql语句,获得我们想要的查询结果:然后在报表中通过数据源名.

4、select(列名),即可获得我们要的数据,select方法还 提供了排序等功能,详细用法可以参考安装D:develop安装包安装包,帮助文档,licrunqian_helpdoc使用手册报表设计润乾报表4.5用户手册.chm,通过搜索关键字,可以了解相关的功能,开发的时候可以多使用这个手册。3-4 查询条件报表设计很多时候需要根据一些条件来对数据进行筛选,点击左上角新建报表,选择填报报表,生成一张空白报表,设计好需要的查询条件,例如:Figure 8在设计的时候需要统一一下样式:从上往下,每行四个查询条件,黑色小三号字体。右击查询条件后面的空白格,选择填报属性们可以选择编辑风格,如所属机构、

5、银行大类这些条件,我们一般使用下拉数据集,通过数据集进行取数,可以分别设置显示列和数据列。Figure 9比较常用的编辑风格包括下拉日历,下拉列表框以及普通的文本编辑框。通过配置查询条件所在格的WEB变量名,可以在结果报表中通过相同的参数名获得该单元格的数据。Figure 10在结果报表中,点击配置参数,配置对应的参数名Figure 11在这里配置好以后,我们在数据集中也需要配置参数,然后在sql语句中,使用“?”与该参数进行绑定。需要注意的是,sql语句中的?与参数中的参数是按照顺序一一对应绑定的,有几个“?”就有几个参数,而且对应顺序要一致。如下图,参数列表中第9,第10个参数为banki

6、d,在sql语句中,对应的刚好也是第9,第10个“?”Figure 12Figure 133-5 发布报表完成报表的设计之后,点击右上方的“发布报表” ,可以将报表发布到指定路径中。再点击Internet图标,就可以在网页中查看报了。Figure 144.常见问题及解决方案4-1 分组,排序经常要对查询结果进行排序和分组,报表工具自带group语法,可以在sql里先用order by排好序,然后在报表工具里使用group进行分组。常用的select排序和group排序是:ds1.select(AAA,false,BBB),从数据集ds1中获取AAA字段,并根据BBB字段进行排序ds1.grou

7、p(AAA,true),把数据集ds1中所有记录按照AAA字段降序排列,然后根据AAA进行分组对组织进行排序,可以通过org_level和org_id两个条件来排序。4-2 非必填查询条件有时候查询条件很多,使用的时候往往不是所有的条件都要输入,这时可以在sql的判断中加上 or ? is null。如图12所示,对非必填的条件,加上 or ? is null,就可以在没有传该条件参数的时候也能查出数据。(如果条件为多选,设置的数据类型为“字符串组”,这种情况下如果写 or ? is null 是会报错的,这里提供一种处理方法:在绑定参数的时候需要特殊处理,如下图,typecode为多选条件的

8、变量名,第一个变量为正常的字符串组变量,第二个变量特殊处理,如果为null时,赋值1,如果不是,赋值2,这样在sql中判断的时候,只要将 or ? is null 改为 or ? = 1即可完成对空值的判断。这样配置后,对应的sql应该写成 and (code in (?) or ? = 1))4-3 组织隔离需要对查询条件中的“组织机构”下拉框进行数据隔离时,可以这样配置数据集:SELECT org_code|-|org_name namecode,org_id from tsys_organization t where org_id in(SELECT org_id FROM tsys_

9、organization start with org_id = nvl(? , 6000001) CONNECT BY NOCYCLE PRIOR org_id = PARENT_ID)ORDER BY org_code“?”表示传进来的expectedorgID,这样就只能选到登录用户所在组织的本级以及下级组织。4-4 是否包含下级需要这个条件时,查询报表需要添加一个下拉列表框,假设“1”表示“是”,“0”表示“否”,WEB变量名为“includesubs”,设置该单元格不能为空,则默认选择“是”。在结果报表的sql中,需要判断的字段为id,可以参考下面的代码:and ( (?

10、 is not null and ( (?=1 and id in(SELECT org_id FROM tsys_organization START WITH org_id =? CONNECT BY NOCYCLE PRIOR org_id = PARENT_ID) or (?=0 and id=?) or ( ? is null and ( (?=1 and id in(SELECT org_id FROM tsys_organization START WITH org_id =? CONNECT BY NOCYCLE PRIOR org_id = PARENT_ID) or (?=0 and id=?) )10个?对应的参数为:Figure 15上诉代码的逻辑是:如果选了“组织”条件,那么是否包含下级就根据这个组织来进行判断,选是,就显示该组织及下级的数据,选否,只显示该组织的数;如果没有选“组织”条件,则以登录用户的组织ID(expectedorgID)作为参考组织。4-5 中文传参乱码和无法分页问题类似于开户行这类查询条件,由于数据太多,无法做成下拉的形式,就只能通过文本输入进行模糊查询,但是有时候发现报表工具在传中文时会变成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论