程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> Reporting Services報表開發 基礎教程

Reporting Services報表開發 基礎教程

編輯:關於C#
 

Reporting Services 報表開發

1. 設計報表

2. 部署報表

3. 測試報表

 

設計報表

啟動Visual Studio 2008, 新創建報表項目,添加一個新的報表。

從工具箱中拖個Table到報表設計器中

clip_image002

自動彈出報表屬性對話框,新創建一個連接,類型選.NET Assembly,字符串為net.tcp://localhost:2908/ServiceManager

clip_image004

返回到報表屬性,准備輸入SQL查詢語句

找到QueryBuilder組件,打開,並選擇報表程序集,點擊類型下面的方法名後,在右邊的窗格中自動生成對應的SQL查詢語句

clip_image006

如果Always copy to the Clipboard已經打勾,查詢語句已經被復制到剪貼板中,在BIDS中Paste查詢語句,並點擊查詢

執行SQL查詢的效果如下

clip_image008

回到報表設計器,依此給Table組件的各個TextBox賦值,完成後,效果如下

clip_image010

如圖中所示,再到Report Header中添加Date Time,User Id,Page, Report Id四個屬性,並設置Table Header的字體為Bold

至此,報表已經完成,點擊Preview,查看效果

clip_image012

 

部署報表

回到ERP應用程序中,打開Report Manager管理程序,選擇Add Report

clip_image014

選擇剛才制作的報表,等待一下,這個報表就被部署到服務器中

clip_image016

為了維護報表的統一用戶接口,支持不同的報表類型,自動化傳遞參數,權限控制,還需要到報表對話框中配置

在維護報表對話框,重新建立一個報表ID=GLCUCAR,設定報表類型為Reporting Services, 不需要添加參數,並且到功能授權中給與執行權限。

在Report Manager中執行,效果如下

在報表配置程序中,配置如下的報表浏覽網站

clip_image018

點擊連接,即可打開和預覽報表

clip_image020

 

報表測試

1. 精度。不同的捨入方式和計算方式,會對結果精度有影響。

舉例:分組求和的結果可能和匯總求和的結果不同,而且數據量越多,誤差可能會越大。

而且在每筆紀錄計算時,都會發生數據精度損失。比如,100/1.22=81.9672131147541,一般是保留四位小數,再依次對這個值進行求和,結果就有些出入。

再距離,Math.Roud() 這個方法不是通常意義中的四捨五入,而是國際通用的算法。這會對值造成影響。

而SQL Server中Round的四捨五入也有些不同。

在數據庫中做summary和把值取到報表中做summary,結果上也有區別。

2. 所有的報表,日期格式要求一致

3. 制造大量的數據來測試報表的Performance.

如下圖,使用這個工具,來產生大量的數據.以ReportServer中的History表為例子

clip_image022

工具的原理是,讀取數據庫表的字段類型,生成一系列的數據放入到相應的列中。

數值型的列,可以用seed,自增的方式,或是rand隨機取值

字符型列,可以字符加數字的方式,不斷的產生不同的字符串。

當數據量增大時,報表的performance會明顯降低,這時,需要尋找一些優化的技巧。

4. 選擇條件的測試

clip_image023

如果是需要用戶輸入的值,最好能給出一個對話框,用以選擇值,減少值出錯或是無效的值的情況。

如果是時間,要控制取值范圍,依據業務數據的開始和結束時間為准。

5. 數據的排序要求。在分組的組別排序和明細數據的排序,規則要統一。

6. 字體字號,是否加黑,是否傾斜,都依照規范。

一般的規則是,報表標題14pt, 報表表頭12pt,明細數據10pt, 標題都加黑體。

7. 報表導出測試

導出的格式是否有不合理的地方,是否符合通用的紙張大小(A4),可以直接打印。

導出成PDF是否有亂碼,頁面的邊距是否合理。

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