安讯报表生成器技术手册_第1页
安讯报表生成器技术手册_第2页
安讯报表生成器技术手册_第3页
安讯报表生成器技术手册_第4页
安讯报表生成器技术手册_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、.安讯报表生成器技术手册目 录1、安讯操作技巧及问题22、模版配置参数约定33、报表参数相关函数34、安讯报表生成器44.1生成器涉及表结构44.1.1模板配置信息表,表名: sec_model_config44.1.2模板参数表,表名: sec_model_params_config44.1.3生成报表配置表,表名: sec_report_dispatch44.1.4生成报表参数表,表名: sec_report_params54.2数据库配置说明54.3自动调度配置54.3.1Spring中正确使用Quartz和CronExpression(触发器)64.4axrgm.war包安装说明:94

2、.5安讯报表生成器前台使用说明94.5.1设计报表模板94.5.2配置报表模板94.5.3任务调度11自动调度管理114.5.4手动调度(该调度没有前置条件,即无论生成的数据是否有都会跑)134.5.5手动报表时间参数说明155、使用生成器调用安讯模板155.1定义安讯模版(略)155.2前台添加模板155.3配置前置条件和参数sql165.4模板生成xls文件175.4.1报表数据文件命名175.5自动跑数171、安讯操作技巧及问题1、 安讯安装的问题安装完毕后覆盖备份中的文件到安装目录,要求安装到c盘默认的目录下,发现别的目录老是不能用,原因不明可能是jdk、ora路径问题。2、 安讯Jd

3、bc配置要求驱动程序类名称:oracle.jdbc.OracleDriver连接url:jdbc:oracle:oci:actuate_rip如果本机没有配置监听actuate_rip,请配置actuate_rip,对应ip:21.56.4.186,服务名dbreport3、 模版的使用:预先定义好一个模版,里面有数据库联接,数据查询(空、时间、机构)。Svn上有模版可以使用4、 用安讯打开表格xls文件,直接粘贴到模版上继续开发,不用画表格。5、 横向可以合并单元格、纵向不要合并(否则查询数据有时报错)6、 group(Year Quarter, -Year -Quarter)多级分组、多级

4、排序的用法7、 初步判断定义的数据查询运行就会执行(data没引用的情况),所以没有必要的查询不要定义进去8、 使用offset可以简化单元行列条件的书写,可使单元格公式定义简化,能用尽量使用。9、 对于分组求和使用sum(cells(a) a为分组所在行的别名。10、 使用parent完成多级分组求和,注意标签的级别划分11、 关于行号的写法:#row( )-7&"." 注意:单元格风格 数字0有的时候不显示字符要留意单元格格式12、 使用隐藏列完成计算和显示数据#"= "&Q1:DKYE&" - "&

5、;Q_SY:DKYE13、 百分比的应用:#"= if( "&Q1:DKYE&" = 0 , 0 , "&Q1:BLJE&" / "&Q1:DKYE&")"14、 条件中使用like的方法:select(buscde like 0A*)注意要用*不是%!15、 在主子表显示数据的设计中,尽管一个数据源都出来了数据;建议使用2个数据查询分别处理不会造成数据没有而显示不全,比如机构、金额,机构应该使用字典,金额数据在关联显示就可以16、 查询语句要指定列名。禁止在查询中定

6、义如下语句:SELECT * FROM DUAL 此语句会出现下次打不开的情况提示,常规性错误,如果没有备份就只能重新作了17、 做好一个#sheet之后预览数据生成一个sheet表格,如果要新增一个表#sheet2切记不能在sheet中改名#sheet2,否则下次预览会造成#sheet2丢失的情况,#sheet2就白做了,一定要插入一个新的工作表在改名#sheet2在继续作就可以了,千万别偷懒使用原来生成的sheet18、 2-1序号的实现方法,注意写法#'=OFFSET('&col()&row()&',0,-2)' &'

7、;&"-"&'&'OFFSET('&col()&row()&',0,-1)'2、模板配置参数约定报表编号rep_num、(关键字) H-002301报表模板文件名rep_modle、(关键字):如:H-002301存贷款日报.vts模板文件路径rep_modle_dir。如:E:WORK H-002301存贷款日报.vts参数类:1、时间(CENDAT):时间参数都定位到天,整型,即yyyymmdd,缺省20081231频度:1位 FRE_REP 以下是频度字段对应解释 T -旬, M

8、-月, D -天,J -季, H -半年, Y -年 缺省“M”。2、机构号(ORGIDT ):符型 4位 缺省6243,(应该允许输入值 和sql 语句)3、部门号(DEPNUM):字符型2位 ,缺省00 (应该允许输入值 和sql 语句)4、汇总标记(SUMID):字符型1位 填写4或者9 ,缺省9 (应该允许输入值 和sql 语句)5、币种(CURCDE) : 字符型 3位 缺省999 (应该允许输入值 和sql 语句)参数1(FREE1): varchar(20) 缺省为空 (应该允许输入值 和sql 语句)参数2(FREE2): varchar(20) 缺省为空 (应该允许输入值 和

9、sql 语句)参数3(FREE3): varchar(20) 缺省为空 (应该允许输入值 和sql 语句)3、报表参数相关函数返回上月最后一天的整数SELECT TO_NUMBER(TO_CHAR(LAST_DAY(ADD_MONTHS(TO_DATE(TO_CHAR(20081231),'YYYY.MM.DD'),- 1),'YYYYMMDD')FROM DUAL;返回上年年底整数SELECT TO_NUMBER(TO_CHAR(TO_NUMBER(SUBSTR(TO_CHAR(20081231),1,4) - 1)|'1231')FROM D

10、UAL;返回去年同期整数SELECT TO_NUMBER(TO_CHAR(LAST_DAY(TO_DATE(TO_CHAR(TO_NUMBER(SUBSTR(TO_CHAR(20081231),1,4) - 1) | SUBSTR(TO_CHAR(20081231),5,2)|'01','YYYY.MM.DD'),'YYYYMMDD')FROM DUAL;返回上日日期的整数SELECT TO_NUMBER(TO_CHAR(TO_DATE(TO_CHAR(20081231),'YYYY.MM.DD') - 1,'YYYYMM

11、DD')FROM DUAL;合并单元格(标题)会造成错误!使用系统的函数P_TOOLS.get_date('jm',20080911)上月末sym,上年末 'snm',去年同期 'qntq',年初 'nc',年底 'nd,月初 'yc,月底 'ym',当前季度 'jd',季末 'jm4、安讯报表生成器4.1生成器涉及表结构4.1.1模板配置信息表,表名: sec_model_config字段名说明示例ID主键1REP_NUM报表编号,不能为空H-002301REP_M

12、ODEL模板中文描述安讯模版1REP_MODEL_DIR模板绝对路径,不能为空D:WorkAXRGMreportinput安讯模版1.vtsdispatch_frequency报表频度参见频度说明START_DATE生效日期,目前没用END_DATE失效日期,目前没用UPDATE_DATE更新日期,目前没用UPDATE_NAME更新人,目前没用4.1.2模板参数表,表名: sec_model_params_config字段名说明示例ID主键1MODEL_PARAM_NAME参数名称,唯一,不能为空ORGIDTDEFAULT_VALUE默认值6243VALUE_EXPLAIN参数说明,目前没用机

13、构编号MODEL_CONFIG_ID外键,指向sec_model_config表的主键14.1.3生成报表配置表,表名: sec_report_dispatch字段名说明示例ID主键1DISPATCH_FREQUENCY调度频度,目前删除不用DISPATCH_TIME调度时间WED-2009-03-17-15-10-00MODEL_CONFIG_ID外键,指向sec_model_config表的主键,调度所使用的模板ID1DISPATCH_DIR此生成的报表输出路径,不能为空D:WorkAXRGMreportoutputLAST_DISPATCH_TIME最后一次执行时间WED-2009-03

14、-17-15-10-00IS_RUN是否跑,不能为空,0代表不跑,1代表跑1TABLE前置条件设置默认SELECT 1 AS CT FROM DUAL4.1.4生成报表参数表,表名: sec_report_params字段名说明示例ID主键1VALUE参数值,不能为空6243VALUE_TYPE参数类型,0代表数值,1代表SQL语句0MODEL_PARAMS_CONFIG_ID外键,指向sec_model_params_config表的主键1REPORT_DISPATCH_ID外键,指向sec_report_dispatch表的主键14.2数据库配置说明所有表都不需要手工创建,只需改动axrg

15、mWEB-INFclasses hibernate.cfg.xml文件中的数据库连接url,username,password,启动tomcat后自动会在数据库中创建相应的表<property name="hibernate.connection.url">jdbc:oracle:thin:21.56.4.186:1521:dbreport</property><property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriv

16、er</property><property name="hibernate.connection.username">report</property><property name="hibernate.connection.password">chrdw</property>4.3自动调度配置请手动更改axrgmWEB-INFclassesapplicationContext-beans.xml文件中的cronExpression表达式的值,此值目前版本相当于代替调度频度。 相关的表达式写法

17、,请查询quartz框架的cronExpression表达式的写法。<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="autoReportTask" /> </property> <property name="cronExpression"&g

18、t; <!- 关键在配置此表达式,此表达式表示每隔60秒钟调用一次 -> <value>0/60 * * * * ?</value> </property> </bean>4.3.1Spring中正确使用Quartz和CronExpression(触发器)一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下: 字段名允许的值允许的特殊字符秒0-59, - * /分0-59, - * /小时0-23, - * /日1-31, - * ? / L W C月1-12 or JAN-DEC,

19、 - * /周几1-7 or SUN-SAT, - * ? / L C #年 (可选字段)empty, 1970-2099, - * /'*' 字符可以用于所有字段,在“分”字段中设为"*"表示"每一分钟"的含义。'?' 字符可以用在“日”和“周几”字段. 它用来指定 '不明确的值'. 这在你需要指定这两个字段中的某一个值而不是另外一个的时候会被用到。在后面的例子中可以看到其含义。'-' 字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"1

20、0点到12点".',' 字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表示"the days Monday, Wednesday, and Friday".'/' 字符用来指定一个值的的增加幅度. 比如在“秒”字段中设置为"0/15"表示"第0, 15, 30, 和 45秒"。而 "5/15"则表示"第5, 20, 35, 和 50". 在'/'前加"*"字符相当于指定从0秒开始

21、. 每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23, 对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。"/"字段仅仅只是帮助你在允许的数值范围内从开始"第n"的值。 因此 对于“月”字段来说"7/6"只是表示7月被开启而不是“每六个月”, 请注意其中微妙的差别。'L'字符可用在“日”和“周几”这两 个字段。它是"last"的缩写, 但是在这两个字段中有不同的含义。例如,“日”字段中的"L"

22、表示"一个月中的最后一天" 对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中, 它简单的表示"7" or "SAT",但是如果在“周几”字段中使用时跟在某个数字之后, 它表示"该月最后一个星期×" 比如"6L"表示"该月最后一个周五"。当使用'L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。'W' 可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。比如你将“日”字段设为&quo

23、t;15W",意为: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日, 触发器会在16号也就是周一触发。如果15号为周二,那么当天就会触发。然而如果你将“日”字段设为"1W", 而一号又是周六, 触发器会于下周一也就是当月的3号触发,因为它不会越过当月的值的范围边界。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。'L'和'W'可以组合用于“日”字段表示为'LW',意为"该月最后一个工作日"。&

24、#39;#' 字符可用于“周几”字段。该字符表示“该月第几个周×”,比如"6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。再比如: "2#1" = 表示该月第一个周一而 "4#5" = 该月第五个周三。注意如果你指定"#5"该月没有第五个“周×”,该月是不会触发的。'C' 字符可用于“日”和“周几”字段,它是"calendar"的缩写。 它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历, 那它等同

25、于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。对于“月份”字段和“周几”字段来说合法的字符都不是大小写敏感的。下面是一些完整的例子: 表达式含义"0 0 12 * * ?"每天中午十二点触发"0 15 10 ? * *"每天早上10:15触发"0 15 10 * * ?"每天早上10:15触发"0 15 10 * * ? *"每天早上10:15触发

26、"0 15 10 * * ? 2005"2005年的每天早上10:15触发"0 * 14 * * ?"每天从下午2点开始到2点59分每分钟一次触发"0 0/5 14 * * ?"每天从下午2点开始到2:55分结束每5分钟一次触发"0 0/5 14,18 * * ?"每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发"0 0-5 14 * * ?"每天14:00至14:05每分钟一次触发"0 10,44 14 ? 3 WED"三月的每周三的14:10和14:

27、44触发"0 15 10 ? * MON-FRI"每个周一、周二、周三、周四、周五的10:15触发"0 15 10 15 * ?"每月15号的10:15触发"0 15 10 L * ?"每月的最后一天的10:15触发"0 15 10 ? * 6L"每月最后一个周五的10:15触发"0 15 10 ? * 6L"每月最后一个周五的10:15触发"0 15 10 ? * 6L 2002-2005"2002年至2005年的每月最后一个周五的10:15触发"0 15 10

28、? * 6#3"每月的第三个周五的10:15触发4.4axrgm.war包安装说明: 1.将axrgm目录中的所有文件拷贝到tomcat_home webappsROOT中。 2.设置好oracle_home 3.请使用tomcat_home binstartup.bat进行启动服务器。用myEclipse启动的时候请先按照此步骤:1、 windowàPreferencesàServersàTomcatàTomcat5.xàJDK在中 输入-Djava.library.path=D:oracleora92bin2、 window

29、24;PreferencesàServersàTomcatàTomcat5.xàPaths 在中加入此Parch4.5安讯报表生成器前台使用说明4.5.1设计报表模板参见安讯报表生成器报表设计,此处略4.5.2配置报表模板 1.添加模板进入页面后点击模板管理.->点击添加模板输入正确的模板相关信息其中模板文件请选择相关的两个模板文件上传到服务器的D:WorkUSERUPLOAD文件夹下.该文件夹会自动创建.生成的文件名为:原文件名+年月日时分秒2.修改模板输入需要修改的模板信息即可,模板文件处留空则不更新模板,否则重新上传.新上传的模板不会覆盖以前

30、的模板.4.5.3任务调度 自动调度管理1.添加自动调度点击添加调度首先请选择相关模板.在选择下的园点双击即可进入调度参数设置界面.输入调度相关参数.2.修改调度点击修改.修改调度参数即可3.自动调度测试点击测试可以生成xls文件4.5.4手动调度(该调度没有前置条件,即无论生成的数据是否有都会跑)点击手动调度,进入模板选择界面选择需要手动调度的模板,可多选.点击确定进入起始结束时间设置按照相应的格式输入正确的格式即可(相应的时间参数生成规则请看上次给你的文档.)点击确定进入相应所选模板参数设置界面这里没有该模板的时间参数设置,因为前面已经设置.设置相应的参数值点击确定即可.点击确定之后请稍等

31、.前台到后台取生成信息的频率为5秒取一次4.5.5手动报表时间参数说明时间输入: /比如输入20090101-200905020/则更改为20090101-200904011年报: /比如输入20051112-20081022/则筛选出20051231,20061231,20071231月报:/比如输入20051101-20060201/筛选出 20051130,20051231,20060131季报:/比如输入20071010-200801111/则筛选出20071231,20080331,20080630,20080930日报:/比如输入20071111-20071115/则筛选出20071111,20071112,20071113,20071114周报: /比如输入20090324-200904011 /则筛选出20090329,200904005旬报:/比如输入20090220-20090411 /则筛选出20090228,200901105、使用生成器调用安讯模板5.1定义安讯模版(略)5.2前台添加模板添加并上传模板(进入模板管理,按右上角的添加模板,弹出窗口如下)5.3配置前置条件和参数sql添加sql完成报表跑数的条件前置条件函数说明和用法:SELECT P_TOOLS.F_ACTUATE('

温馨提示

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

评论

0/150

提交评论