润乾报表使用手册_第1页
润乾报表使用手册_第2页
润乾报表使用手册_第3页
润乾报表使用手册_第4页
润乾报表使用手册_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上报表使用手册XX股份有限公司中国 济南目录1 概述该文档主要满足iES-E200电量采集系统中自定义报表制作编写。2 安装2.1 准备好安装程序2.2 安装中的选项点击安装程序,安装过程中会出现一下选择界面,请注意选择;2.3 授权文件配置启动报表设计器(),点击“系统/数据源”菜单,弹出窗口如下图所示:3 报表制作使用自定义报表的一个显著特点需要显示的对象具有某一项相同的属性,若没有相同属性可以人工设置相同属性; 方法一:对对象进行编码设置(可以利用母线、变压器编码信息进行人工设置相同属性);方法二:可以将对象添加到其他电量公式中;3.1 报表制作要求 支持非自然日

2、查询; 支持非自然月查询; 支持表码异常提示; 日、多日、月报表通用; 表码小数位数显示为4位;3.2 制作一张报表的步骤3.3 启动报表设计器启动报表设计器的方式有三种方法:方法一:在安装目录(比如默认的安装目录:C:Program FilesreportHomebin)寻找startup.bat的程序文件,双击运行即可;方法二:从程序组中选择:开始 - 程序 - 润乾报表 - 润乾报表设计器方法三:安装完润乾报表之后,在桌面上会出现润乾报表设计器的快捷方式,双击即可。润乾报表设计器的主界面,如下图所示:3.4 连接3.4.1 数据源对话框点击“配置/数据源”菜单,进入以下对话框:3.4.2

3、 编辑数据源如果有已编辑好的数据源,点击“连接”按钮。如果没有已编辑好的数据源,点击“新建”按钮,增加一个数据源,数据源的编辑界面如下:选择“关系型数据库”,点击“确定”按钮,进入下面的页面:在这里,我们将数据源名称命名为jdbc/RCCEEI,数据库类型选择ORACLE,客户端字符集选择GBK,数据字符集选择GBK,驱动程序选择oracle.jdbc.driver.OracleDriver,数据源URL为jdbc:oracle:thin:数据库IP:1521:db,用户为XXX,密码为?,点击“确定”按钮,建立此数据源. 至此,数据源建立完毕,点击“配置数据源”,选中要连接的数据源,点击“连

4、接”按钮,连接词数据源。3.4.3 注意事项需要和tomcat连接池配置一致:3.5 设计报表格式3.5.1 格式设计方法一:新建报表新建报表并根据客户需求设计报表格式包含标题、报表头、数据区,如下图:方法二:导入Excel文件点击“文件/打开”菜单,弹出窗口如下图所示:选择客户提供的报表,点击打开。方法三:根据现有报表修改 打开现有的报表文件,修改该文件使其符合客户要求;3.5.2 需注意事项 边框设置 对齐设置(字符左对齐,数字右对齐,标题、序号居中) 隐藏不显示的单元格(行属性和单元格属性向冲突时行属性优先) 删除没有用到的单元格3.6 定义3.6.1 参数的编辑点击“配置/参数”菜单,

5、弹出窗口如下图所示:可以对参数进行添加、修改、删除等操作;参数的值是从网页传递过来,此处参数名称应和网页一致;3.6.2 常用参数举例st:starttime简拼表示报表显示数据的开始时间,目前用秒数表示;et:endtime简拼表示报表显示数据的结束时间,目前用秒数表示;substaid:substationid简拼表示变电站ID;strhour:非自然日的开始时间的分钟数,8:00表示为:480;strdatetype:报表的时间类型,1为日报表,2为月报表,3为多日;lst:laststarttime简拼表示报表显示数据的开始时间的去年同期时间,目前用秒数表示;let:lastendti

6、me简拼表示报表显示数据的结束时间的去年同期时间,目前用秒数表示;yearsecs:表示报表显示数据的开始时间的年初时间,目前用秒数表示;lyearsecs:表示报表显示数据的开始时间的上一年的年初时间,目前用秒数表示;3.7 定义3.7.1 宏的编辑点击“配置/宏”菜单,弹出窗口如下图所示:可以对宏进行添加、修改、删除等操作;宏的赋值可以使用具体的数字、参数或者表达式;3.7.2 常用宏举例1、对参数进行处理的宏startyear= mid(str(dateTime(st*1000),0,4);表示开始时间的年份。endyear= mid(str(dateTime(et*1000),0,4)

7、 ;表示开始时间的月份。startmonth= mid(str(dateTime(st*1000),5,7);表示结束时间的年份。endmonth= mid(str(dateTime(et*1000),5,7);表示结束时间的月份。2、在数据集中进行替换的宏 3.8 建立3.8.1 数据集的编辑点击“配置/数据集”菜单,弹出窗口如下图所示:可以对数据集进行添加、删除、修改等操作;常见数据集包括描述信息和历史数据数据集;描述信息数据集:计量点数据集、母线数据集、主变数据集、线路数据集、CT数据集等;历史数据数据集:表码数据集、电量数据集等;3.8.2 常用数据集举例母线供电量开关数据集:sele

8、ct a.id as id,, a.parts_id as cparts_id, b.parts_type,b.parts_id as parts_id, as switch_name,b.start_date,b.end_date ,c.voltage_level as voltage_level,b.parts_para as parts_para,b.cal_sign as cal_sign,d.voltage_level as gvoltage_levelfrom calc_desc a,calc_para b,switch c ,generatrix d wh

9、ere a.id=b.calc_id and a.parts_type=9 and a.parts_id =d.id and a.parts_para=0 and c.id=b.parts_id and d.substation_id=$substaid and (b.start_date=$starttime)or(b.start_date=$endtime)CT数据集:select mp_id,run_date,coef from ct where run_date=$starttime and mp_id in(select b.parts_id as parts_id from cal

10、c_desc a,calc_para b,switch c ,generatrix d where a.id=b.calc_id and a.parts_type=9 母线公式中的计量点and a.parts_id =d.id and c.id=b.parts_id and d.substation_id=$substaidand (/公式时效判断(b.start_date=$starttime) or(b.start_date=$endtime) order by run_date desc电量数据集:SELECT mp_id,power_type,sum(total_value) as t

11、otal_value from( select mp_id, mod(power_type,10)+10 as power_type,sum(total_value) as total_value from mp_day_e$year WHERE datetime=$starttime and datetime$endtime and power_type,false,true),即可按照输入参数隐藏列。3.9.6 应用主要说明在同一张报表中有几个同一类型数据区(如在一张报表中分别显示该变电站能所有母线的计算分量的详细信息);可以根据实际情况分别对多条母线分别设置单元格属性,更方便的是采用人工

12、干预主格的方式实现;以下图为例说明:1. 首先在A16单元格中设置需要显示的母线的ID;2. 在17行到27行完成一条母线的各类数据的赋值;3. 从17行到27行设置左主格为A16;3.10 报表预览报表预览主要用于验证报表是否正确,点击工具栏中的预览图标,弹出参数赋值对话框,根据实际情况对各个参数赋值后,点击“确定”按钮;如果预览界面正常,说明我们报表建立成功3.11 报表发布 。4 报表部署4.1 部署位置目前在下放置一些常见的报表模板部署时可以根据实际情况进行删减;目录结构 -dayreport /放置日报表模板 -company /放置不需要选择厂站的日报表模板 -substation

13、/放置需要选择厂站的日报表模板 -monthreport /放置月报表模板-company /放置需要选择厂站的月报表模板 -substation/放置需要选择厂站的月报表模板4.2 Web中显示 在web菜单“数据浏览”项中的“应用日报表”对应自定义日报表的显示、“应用月报表”对应自定义月报表的显示;5 重要概念5.1 数据源顾名思义,数据的来源。在数据源中存储了所有建立数据库连接的信息。就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接。 数据源标准属性包括: 1、databaseName String 数据库名称,即数据库的SID。 2

14、、dataSourceName String 数据源接口实现类的名称。 3、description String 对数据源的描述。 4、networkProtocol String 和服务器通讯使用的网络协议名。 5、password String 用户登录密码。 6、portNumber 数据库服务器使用的端口。 7、serverName String 数据库服务器名称。 8、user String 用户登录名。 如果数据是水,数据库就是水库,数据源就是连接水库的管道,终端用户看到的数据集是管道里流出来的水。5.2 数据集数据集是包含数据表的对象,可以在这些数据表中临时存储数据以便在应用程序

15、中使用。如果应用程序要求使用数据,则可以将该数据加载到数据集中,数据集在本地内存中为应用程序提供了待用数据的缓存。即使应用程序从数据库断开连接,也可以使用数据集中的数据。数据集维护有关其数据的更改的信息,因此可以跟踪数据更新,并在应用程序重新连接时将更新发送回数据库。5.3 参数在我们设计一张报表的时候,很少有里面的数据是固定不变的,常常需要根据一些条件来过滤出我们想要的数据。这就需要通过参数的形式控制报表中的数据。 下面,根据前面的报表,我们加入参数使它变成一张更灵活的报表。第一步:单击主菜单中的【配置】-【参数】。弹出“参数编辑”窗体,如下图所示: 第二步:点击【增加】按钮,新增一个参数,

16、默认名称为“arg1”,名称可根据自己的需要来命名。这里我们把【名称】和【描述】分别改成“name”和“员工姓名”,【数据类型】我们选择默认的“字符串”。如下图所示: 同样的方法增加一个“奖金”参数,【数据类型】设置为“数值型”。同样的方法增加一个“出生日期”参数,【数据类型】设置为“日期型”。同样的方法增加一个“性别”参数,【数据类型】设置为“字符串”。注:n 参数名称尽量用英文,中文容易在部署的时候出现乱码,徒增烦恼。n 在sql语句中不能使用参数5.4 宏定义宏是一个没有数据类型的字符串标识,在报表运算之前,系统会全面搜索整张报表的表达式定义,将所有的宏名替换成宏值。利用宏可以在报表中动

17、态的进行表达式的替换,根据用户传入的不同宏值,在报表中可以计算出不同的表达式结果,从而得到不同的报表信息,这样用户就不用根据不同的情况编制许多不同的报表了,大大减轻了用户的工作量。此外我们还可以利用宏来实现按一个数据集的任意字段查询,这是利用参数所不能实现的。其中:填报属性、数据集属性中的参数值,这两个地方目前不能用宏,其它地方的表达式都可以使用 属性值不能用宏,宏只能用在表达式中 表达式中的引用方法为$宏名 宏不能写在引号里面5.5 单元格任意选中一个单元格,在设计器的右边就会出现该单元格的属性列表,大家可以看到,每个属性都有属性值和表达式两种,如下图所示:这两种有什么区别呢? 首先,属性值

18、和表达式是互斥的,定义了属性值,就不必定义表达式,定义了表达式,就不必定义属性值。其次,属性值是在编辑报表时就写死了的,在报表运行时不必经过运算,也不会被改变。例如:你在单元格的背景色的属性值中定义了红色,那么报表运行时,它就是红色,不会被运算,不会被改变。而属性的表达式在报表运行时,会被运算,该属性的最终属性值取决于表达式的运算结果值。例如:你在单元格的背景色的属性的表达式中编辑条件表达式,则满足不同的条件显示不同的颜色。在属性表达式中可以用“value()”来指代当前单元格的数据值。5.6 主格根格(报表首格)报表左上角的灰色单元格称为报表首格,也称为根格。它用于存储描述整个报表的属性。如

19、下图所示:根格(报表首格)的书写规则为:0这里要强调的是 0而不是0主格和附属格单元格进行扩展的过程中,缺省情况下,相对于其右(下)边的单元格而言,扩展格是主动复制的,被称为其它格(其右/下的格)的主格,而其右(下)的单元格是被动跟随复制的,被称为扩展格的附属格或子格。主格和附属格是相对的概念,即某格是另一格的主格或附属格,不存在单独的主格和附属格。从主格的定义中看,显然只有扩展格才能是其它格的主格!要注意的是,在缺省情况下,扩展格左(上)的格并不是其附属格,只有右(下)的格才是其附属格。特别地,某个单元格的主格属性可以人为被改变。6 常用函数系统提供各种类型的函数,下面就常用的函数进行介绍;

20、其他函数可以通过系统提供的帮助来学习。6.1 数据集函数6.1.1 select()从数据集的当前行集中选取符合条件的记录, 例1:ds1.select( name ) 从数据源ds1中选取name字段列的所有值,不排序 例2:ds1.select( #2, true ) 从数据源ds1中选取第二个字段列的所有值并降序排列 例3:ds1.select( name,false,sex=1) 从数据源ds1中选取性别为男性(1)的name字段列的值并升序排列 例4:ds1.select( name, true, sex=1, id ) 从数据源ds1中选取性别为男性的name字段列的值并按id字段降序排列6.1.2 select1()从数据集中按顺序检索到符合过滤条件的第一条记录,返回其selectExp值 例1:ds1.select1(name) 返回数据集ds1中第一条记录的name字段值 例2:ds1.select1(name,score90) 从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值6.1.3 count()计算数据集当前记录行集中,满足条件的记录数6.2 单元格函数6.2.1 if()例1:if(v

温馨提示

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

评论

0/150

提交评论