我是SQL Reporting Services 2008的新成員,無法找到如何做一些應該很簡單的事情。Sql Reporting Services參數問題
我所擁有的是一個單一的選擇參數,填充了查詢中的推銷員列表。這很好。我有數據集查詢響應此參數運行良好。所以我的單個推銷員的報告工作正常。
我的問題是,我也想有一個選項,是所有銷售人員,這樣經理可以打印出一個完整的列表。
關於如何做到這一點的任何建議。
我是SQL Reporting Services 2008的新成員,無法找到如何做一些應該很簡單的事情。Sql Reporting Services參數問題
我所擁有的是一個單一的選擇參數,填充了查詢中的推銷員列表。這很好。我有數據集查詢響應此參數運行良好。所以我的單個推銷員的報告工作正常。
我的問題是,我也想有一個選項,是所有銷售人員,這樣經理可以打印出一個完整的列表。
關於如何做到這一點的任何建議。
我通常UNION ALL自定義值到我的查詢頂部與一個特殊的值,這將指示我以後的查詢,它不應該過濾。
我通常對此使用NULL,0或'%'。
喜歡的東西:
SELECT 0 [UserId], '(All Users)' [Username]
UNION ALL
SELECT
[UserId],
[Username]
FROM
dbo.[Users]
,然後在以後的查詢:
SELECT * FROM Data WHERE (UserID = @UserID OR @UserID = 0)
你的銷售人員詢問大概是這樣的:
SELECT SalesPersonName FROM SalesPerson ORDER BY SalesPersonName ASC
您應將其更改爲這個:
SELECT 1 as SortOrder, SalesPersonName FROM SalesPerson
UNION SELECT 0 as SortOrder, 'All' ORDER BY SortOrder, SalesPersonName
現在您的查詢將返回:
All Adam Barry Steve ...
現在,當你拉你的數據的報告,你可以這樣做:
WHERE(SalesPersonName = @SalesPersonName OR @ SalesPersonName = '所有')
如果這是您的經理想要的,請確保將默認設置爲「全部」。
謝謝,它的工作。在報告服務中使用最難的事情是,對於很多事情來說,沒有選擇去做你想做的事情,而是像這樣,你可以「欺騙」系統做你想做的事情。這並不是說這真的很難,對我而言,這是一種非常不同的思考方式。 – 2009-10-01 19:16:07