- 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 必須使用 INWHERE Column IN (@Parameters)
建立 dsChecked DataSet 內的 T-SQL 語法,此為報表資料來源
SELECT * FROM Checked WHERE DepName IN (@DepName)
參數 => @DepName 參數 => 滑鼠右鍵 => 參數屬性
@DepName 報表參數屬性 => 一般 => 勾選[允許多個值]
新增 dsDepNameList DataSet,此為使用者勾選部門的資料來源
SELECT DISTINCT DepName FROM Checked
@DepName 報表參數屬性 => 可用的值 => 選擇[從查詢取得值]並設定資料集、值欄位和標籤欄位
預覽設定結果,因為沒有設定預設值,所以不會有資料呈現,點選 DepName可用值,可用值內可見故意空白的 DepName 選項,點選後該筆資料就會出現,也說明空值是可以當成可用值。
預設值設定:@DepName 報表參數屬性 => 預設值 => 選擇[從查詢取得值]並設定資料集和值欄位
預覽報表,一進入 DepName 清單全部都被勾選,全部的資料也都顯示出來
- 2013 DBA 天團
沒有留言:
張貼留言