星期一, 12月 23, 2013

[SSRS] 格式化條件 - 顯示圖片

網友問題,要分析逗號字串資料,並依資料內容來顯示所屬欄位圖形,如下圖

[SSRS] 格式化條件 - 顯示圖片-12


DataSet T-SQL
CREATE TABLE FormatImage (Data varchar(10))
INSERT INTO FormatImage VALUES
 ('S,O,F,C'),
 ('S,O'),
 ('O,F,C'),
 ('S,O,C'),
 ('O,C'),
 ('C')

先利用精靈拉出一個簡單的 Table 並新增 SOFC 四欄位

[SSRS] 格式化條件 - 顯示圖片-1

針對 S 欄位插影像控件

[SSRS] 格式化條件 - 顯示圖片-2

影像控件 => 滑鼠右鍵 => 影像屬性 => 一般,選擇事先建立號的[勾圖形],並內嵌在報表中就好

[SSRS] 格式化條件 - 顯示圖片-3

把圖片內嵌在報表中之後,就可以在[報表資料]=> 影像 中,看見剛剛的[勾圖形]

[SSRS] 格式化條件 - 顯示圖片-6

影像控件 => 滑鼠右鍵 => 影像屬性 => 可見性,點選[fx]button 來設定顯示條件

[SSRS] 格式化條件 - 顯示圖片-4

利用 indexof 來判斷 Data 中有是否有 "S" 字樣,有的話則顯示 S 欄位的勾圖形
= IIF((Fields!Data.Value).indexof("S") > -1 , false , true)
[SSRS] 格式化條件 - 顯示圖片-5

依序完成 OFC 欄位條件設定
[SSRS] 格式化條件 - 顯示圖片-7

第二次插入影像控件,就不需要再進行匯入,直接選取[勾圖形]即可

[SSRS] 格式化條件 - 顯示圖片-8

預覽設定結果

[SSRS] 格式化條件 - 顯示圖片-9

看見預覽結果,根據 VFP 製作報表經驗,只要把背景設定為 Transparent 就可以解決此問題,沒想到 SSRS 影像控件中,根本就沒有 Transparent 設定,>.<

利用矩形包覆影像控件來達到 Transparent 效果

重新設定 SOFC 欄位內的控件,先插入矩形,並在矩形中再插入影像控件,影像控件設定跟之前是完全一樣的,下圖為完成 SOFC 欄位設定後的版面

[SSRS] 格式化條件 - 顯示圖片-11

預覽設定結果

[SSRS] 格式化條件 - 顯示圖片-10

沒有留言:

張貼留言