程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle reports工具的使用

Oracle reports工具的使用

編輯:Oracle數據庫基礎

我們大家都知道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.建視圖,其過程如下:

  1. create vIEw v—tjbb as  
  2. select dwmc,lbmc,je from t—zjxhqx  
  3. union  
  4. select dwmc,null,to—number(null) from 
    t—zjxhqx,t—kjl  
  5. where no-(z-x)〉(select mod
    (count(distinct lbmc)-1,x)+1 from t—zjxhqx)  
  6. union  
  7. select null,lbmc,to—number(null) 
    from t—zjxhqx,t—kjl  
  8. where no-(z-y)〉(select mod
    (count(distinct dwmc)-1,y)+1 from t—zjxhqx);  

3. 啟動Oracle reports,建立矩陣報表查詢時直接引用視圖v—tjbb即可。這樣運行時輸出的報表每頁都是x行y列,即實現了定長和定寬輸出。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved