玩轉SSRS第三篇---豐富你的報表


報表服務是微軟SQLSERVER商業智能其中的一個組件,借助報表服務,用戶可以制作各種各樣的報表,無論是簡單的還是復雜的報表,同時系統提供訂閱功能方便用戶對報表進行訂閱。此外,開發人員也可以很容易地把一個SSRS報表集成到自己的winform或者webform程序中。

聲明一下,本文使用的SQL Server版本是2012,操作系統Windows 8。

此篇將在上一篇的基礎之上介紹如何為報表添加更多的功能,你會對格式,分組以及展開和發布有簡單的了解。

 

繼續上一篇的項目。首先為數值字段設置顯示格式。右鍵單擊Table控件中的數值區域,選擇Text Box Properties…文本框屬性。

在屬性窗體中左側選擇Number,然后選擇Currency。

設置完畢后,同樣為另外兩個字段設置格式。設置好后可以看到報表預覽中報表中的數字已經發生了變化。

接下來為報表添加分組功能。在報表設計界面中,留意下面的Row Groups區域。

將Report Data中的數據集中的SHIPDATA拖拽到Row Groups區域,位於Details的上邊,然后將ProductCategory拖拽到Row Groups中SHIPDATE和Details之間。

簡單的分組建立完畢,然后可以通過預覽功能看到報表分組之后的樣子。

接下來為經過分組之后的報表添加匯總功能。切換回報表的設計模式,在Row Groups區域中,右鍵單擊SHIPDATE,選擇Add Total->After。這樣講在分組數據的最后面添加匯總數據的功能。

然后依次給ProductCategory也添加同樣的匯總數據功能,最后報表設計界面中的Table控件看上去會如下圖一樣。

點擊預覽標簽可以看到分組報表添加匯總功能之后的樣子。

下面介紹如何給報表添加展開的功能。展開的依據就是根據分總的報表。

右鍵點擊ProductCategory,然后點擊Group Properties分組屬性。

在分組屬性界面中,點擊左側的Visibility,然后點擊右側的Hide讓分組默認是關閉狀態,最后勾選下面的Display can be toggled by this report item,使展開項是根據哪個報表元素展開的。這里選擇SHIPDATE,因為這里報表的展開按鈕就是要加在SHIPDATE的前面,然后來展開ProductCategory之后的列的信息。

點擊OK后,可以在Preview里看到帶有展開功能的報表。

點擊SHIPDATE項前面的加號,可以看到位於這一項下面的詳細信息。

 

最后,我們留意到報表的參數中,年份的選擇是手工輸入的,這樣明顯不夠友好,而且錯誤的輸入也會給報表產生錯誤。

我們通常希望這里顯示的年是實際數據中所有的年份,所以我們這里為這個參數單獨指定一個查詢來建立數據集。

右鍵單擊Datasets選擇Add Dataset…新建一個數據集。

在數據集屬性中,首先選擇Use a dataset embedded in my report,然后在Data source數據源下拉列表中選擇項目中建立的數據源。最后在Query type中選擇Text然后在Query中輸入如下的SQL語句:

SELECT DISTINCT LEFT(ShipDateKey,4) AS [DATEYEAR]

FROM [AdventureWorksDW2012].[dbo].[FactInternetSales]

ORDER BY LEFT(ShipDateKey,4) DESC

 

點擊OK后,數據集建立完畢,下面將它綁定到參數@YEAR中。

展開Parameters,右鍵單擊@YEAR參數,選擇Parameter Properties。

在報表參數屬性中,左側選擇Available Values,然后在右側選擇Get values from a query,在Dataset中選擇剛才新建立的數據集,然后在Value field和Label field中分別指定數據源列的DATEYEAR作為值列和標簽列。

數據集綁定完畢,點擊OK后點擊Preview瀏覽報表,可以看到YEAR參數已經變成下拉可以選擇的狀態了。

 

以上,一個簡單的報表就制作完畢了,它包含了報表最基本的功能,還有分組和折疊以及參數等功能。

報表制作完畢之后需要發布到報表服務器,在發布之前,首先要確認報表服務器地址。在報表項目的Solution Explorer中,右鍵單擊項目名稱,選擇Properties。

在TargetServerURL中需要輸入報表服務的路徑,它的通常格式就是http://[你的機器名]:80/reportserver。

通過上面的設置確定報表發布到哪里之后,再次右鍵單擊項目名稱,點擊Deploy。

然后系統啟動部署流程,在Output界面可以看到部署的結果。

(還記得第一篇中我們為自己的管理員賬戶配置了相應的權限嗎?)

部署完成之后,打開reportserver管理界面,可以看到項目文件已經被部署到網站的根目錄下,點擊Report Project1文件夾。

可以看到剛才編輯的報表,點擊它。

可以看到在瀏覽器下的報表效果。

 

 

以上如何建立一個報表就簡單介紹到這里,相信您已經對報表服務已經有了大體的了解。

需要說明一下的是,根據筆者的工作經驗,分組的以及SSRS報表開發的方法,2008,2008 R2以及2012基本一致,2000和2005的版本會有很大的不同。參考此篇的時候請留意一下自己使用的版本。

下一篇將介紹如何在應用程序中使用報表功能。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM