星期六, 11月 09, 2013

[SSRS] 複選參數

練習 SSRS 複選參數設定
  • DataSet T-SQL 語法
IF OBJECT_ID('Checked') IS NOT NULL
 DROP TABLE Checked
GO

CREATE TABLE Checked (DepID char(3) , DepName char(10) , EmpName char(10))
INSERT INTO Checked VALUES
    ('001','MIS','MIS01') ,
    ('001','MIS','MIS02') ,
    ('001','MIS','MIS03') ,
    ('002','HR','HR01') ,
    ('003','Sales','Sales01') ,
    ('003','Sales','Sales02') ,
    ('003','Sales','Sales03') ,
    ('003','Sales','Sales04') ,
    ('004','Design','Design01') ,
    ('004','Design','Design02') ,
    ('','','UNKOWN') -- 故意建立
在 SSRS 內要設計複選參數功能,有一先決條件是該參數在 T-SQL 語法中的 WHERE 必須使用 IN
WHERE Column IN (@Parameters)

建立 dsChecked DataSet 內的 T-SQL 語法,此為報表資料來源
SELECT * FROM Checked WHERE DepName IN (@DepName)
[SSRS] 複選參數-2

參數 => @DepName 參數 => 滑鼠右鍵 => 參數屬性

[SSRS] 複選參數-3

@DepName 報表參數屬性 => 一般 => 勾選[允許多個值]

[SSRS] 複選參數-4

新增 dsDepNameList DataSet,此為使用者勾選部門的資料來源
SELECT DISTINCT DepName FROM Checked
[SSRS] 複選參數-5

@DepName 報表參數屬性 => 可用的值 => 選擇[從查詢取得值]並設定資料集、值欄位和標籤欄位

[SSRS] 複選參數-6

預覽設定結果,因為沒有設定預設值,所以不會有資料呈現,點選 DepName可用值,可用值內可見故意空白的 DepName 選項,點選後該筆資料就會出現,也說明空值是可以當成可用值。

[SSRS] 複選參數-7

預設值設定:@DepName 報表參數屬性 => 預設值 => 選擇[從查詢取得值]並設定資料集和值欄位

[SSRS] 複選參數-8

預覽報表,一進入 DepName 清單全部都被勾選,全部的資料也都顯示出來

[SSRS] 複選參數-9
  • 2013 DBA 天團
[SSRS] 複選參數-1

沒有留言:

張貼留言