我们大家都知道Oracle reports工具是用于Oracle的数据统计与图形化报表,Oracle reports工具提供六种风格不同的报表格式,以下内容就是对Oracle reports其中一种即matrix风格的报表的介绍。
对于matrix风格的报表,可利用视图实现定长与定宽输出,其思路是:当行记录数和列记录少于实际报表的行数和列数时,均以空记录补齐。下面举例说明。
假设有一物资资金消耗去向统计月报,该表横向显示本期消耗去向,纵向显示物资类别,由于每月物资消耗去向和消耗物资均不定,所以此类报表即为一矩阵报表。该报表的数据存放在基表t—zjxhqx中,其数据结构如下:
字段名 含义 长度 类型
lbmc 类别名称 20 c
dwmc 单位名称 20 c
je 金额 14,2 n
要求:按定长定宽输出物资资金消耗去向统计月报,并且每页均输出x行y列(行数和列数可根据实际情况而定)。
1.首先建一基表t—kjl,用来存放空记录,其数据结构为:
字段名 含义 长度 类型
no 序号 2 n
建完该数据表后,再往其中插入记录,记录数可根据实际情况而定,一般为一页所能打印的***行数,这里假设为z条,即no的值为1,2,3…z。
2.建视图,其过程如下:
createviewv—tjbbas selectdwmc,lbmc,jefromt—zjxhqx union selectdwmc,null,to—number(null)from t—zjxhqx,t—kjl whereno-(z-x)〉(selectmod (count(distinctlbmc)-1,x)+1fromt—zjxhqx) union selectnull,lbmc,to—number(null) fromt—zjxhqx,t—kjl whereno-(z-y)〉(selectmod (count(distinctdwmc)-1,y)+1fromt—zjxhqx);
3. 启动Oracle reports,建立矩阵报表查询时直接引用视图v—tjbb即可。这样运行时输出的报表每页都是x行y列,即实现了定长和定宽输出。
相关文章
标签:Oracle