2013-05-08 27 views
1

這是我第一次使用SQL Server報告服務。我有兩個日期類型參數:開始日期&結束日期。當我用相應的數據集填充這兩個參數時,我可以正確運行報告。使用SSRS 2012可以根據選定的參數使用不同的數據集嗎?

但是,當用戶只填寫開始日期時,我想顯示該日期和之後的報告。例如如果用戶只填充的開始日期我的查詢將是類似的東西

WHERE StartDate >= @StartDate 

,或者如果用戶只填充結束日期字段,我的查詢將類似的東西

WHERE EndDate <= @EndDate. 

我有以下兩個問題:

1)我可以根據用戶使用SSRS選擇的內容使用不同的數據集嗎?例如,如果用戶不選擇任何我想運行不同的查詢。

2)如果是的話我該如何處理?因爲過濾器參數是必填字段,並且我一直收到警告消息。

任何意見,將不勝感激。 謝謝。

回答

2

似乎有一個更簡單的解決方案來解決你的問題,如果我已經正確地理解了事情。您似乎表示參數是可選的。在這種情況下,只是允許空值的參數,並改寫你的WHERE條款如下:

WHERE (@StartDate IS NULL OR StartDate >= @StartDate) 
AND (@EndDate IS NULL OR EndDate <= @EndDate) 

在任何情況下,你不能「不執行數據集」的基礎上選擇的參數(NOR你應該通常需要)。如果你確實需要這樣的話,那麼一個子報告可能就是要走的路。然而,根據你的問題,我認爲有一個更簡單的解決方案。

+0

嗯有趣的答案,謝謝你的回覆吉榮。我會檢查它,我會讓你知道。 – michaalis 2013-05-08 09:57:59

相關問題