說明: 開發工具為: SQL Server Data Tools 開發環境為: SQL Server 2012 一. 餅圖數據外部顯示 首先我們來看3張效果圖: 內部顯示 、 外部顯示 、 3D效果-外部顯示 預設是內部顯示, 如何設置為外部顯示呢?如下圖: 設置好後數據是顯示在外部了,但並沒有出現 ...
說明:
開發工具為: SQL Server Data Tools 開發環境為: SQL Server 2012
一. 餅圖數據外部顯示
首先我們來看3張效果圖: 內部顯示 、 外部顯示 、 3D效果-外部顯示
預設是內部顯示, 如何設置為外部顯示呢?如下圖:
設置好後數據是顯示在外部了,但並沒有出現數據和圖之間的連接線條。想要顯示線條,那麼就要開啟3D效果,步驟如下:
二. 將數值轉為百分比顯示
如示例一中的數值分別為: 76 , 39 , 6 , 25 。 如果將其轉為百分比則為: 76 / (76+39+6+25) , 39 / (76+39+6+25) , 6 / (76+39+6+25) , 25 / (76+39+6+25) 。 也就是說我們要先得到總和,然後再用單個值去除以總和。具體實現如下:
步驟一 > 我們要修改 Series Label 的屬性, 而不是去修改餅圖的 Values。 因為餅圖的Values是只接受數字類型的值,如果你設置的值是字元類型,那麼圖餅將不會顯示。 而百分比形式的數據帶有 % 號,肯定是字元類型的。因此要手動設置展示的 Label, 而不是去設置Values。
步驟二 > 表達式的書寫。
此時你點保存按鈕會彈出一個提示框,如下圖:
這個提示框的意思就是要將 UseValueAsLabel 屬性設置為False, 我們上面Label Data 裡面寫的表達式才會生效。 因為預設是直接將從資料庫中取出的值進行展示的(數字類型),而現在我們手動設置了展示的 Label Data, 所以要將UseValueAsLabel 設置為False, 不使用直接從資料庫中取出的值。
步驟三 > 把數據設置為百分比格式。
其實我們也可以省略步驟三, 直接將步驟二中的表達式寫成如下形式就行了
=FormatPercent(Sum(Fields!Percent.Value) / Sum(Fields!Percent.Value, "PercentDS"), 2)
三. 表格奇偶行背景色的設置
實現步驟如下:
=iif(RowNumber(nothing) mod 2 = 0, "#DDDDDD", "Transparent")
四. 列印導出的相關設置
我們在對報表進行導出或列印是經常會遇到格式錯亂的現象,原因是我們的相關設置沒有做好。 導出列印通常都是針對 A4 格式的紙張而言的,所以我們在進行列印或導出之前要先對報表進行大小的設置。
步驟一 >
步驟二 >
步驟三 >
五. 表格行號的設置
實現如下圖:
六. 自定義函數的使用
有些時候內置的函數方法並不能滿足我們的需求,那麼我們就可以自己實現一個方法,然後調用它。 舉個實例: 在之前的一次報表開發中,有這樣一個需求: 文本框的背景色必須是動態的, 其背景色根據資料庫中存有顏色的RGB的字元串的值來動態指定(如: "255,255,123")。 雖說背景色也是可以應用表達式的,但它只識別顏色名(如: Gray )和16進位格式(如: #DDDDDD)的顏色值,並不支持RGB的顏色數值。這個時候就只能自己來實現一個設置RGB顏色的函數。
我們的自定義函數寫在哪?
步驟一 >
步驟二 >
因為SSRS裡面應用的是VB語法,因此要想寫自定義函數,必須先學習VB語法。 實現 RGB 顏色設置的函數代碼如下:
Public Function SetRGB(paramValue As String) As String Dim StrRGB() As String StrRGB = Split(paramValue , ",") SetRGB = String.Format("#{0:x6}", RGB(CInt(StrRGB(0)), CInt(StrRGB(1)), CInt(StrRGB(2)))) End Function
函數定義好後,我們該如何調用呢?
因為自定函數都是掛在 Code 下麵的,所以調用的時候必須是 Code.SetRGB() 。 運行之後的效果如下圖: