2017-04-03 76 views
0

我的下一份報告...... enter image description here傳遞參數SSRS

我想添加一個參數...這將是用戶輸入的......問題是,如果該參數是空的,我希望它不是過濾嘴...如果填充,以過濾...

這可以實現嗎?我認爲,如果空會做

WHERE PARAMETER = ‘’ 

當然,這不是預期的行爲,並...

回答

0

您可以在您的選擇列表中的虛擬值。

例如:

select 
'All' as [Label], 
null as [Value] 

union all 

select 
    a.Name as [Label], 
    a.Value as [Value] 
from dbo.HereAreMyValues as [a] 

這會給你的「所有」選擇選項,以顯示你的所有參數(即未設置過濾)。

然後,您可以參考此爲..

from dbo.Data as [d] 
where (d.Value = (@Parameter) or (@Parameter) is null) 

這會給你的數據,要麼參數值相匹配,或者如果所有參數值爲null。

+0

這隻會在參數有「null」複選框時正常工作,對嗎?如果該人將其留空,則不會返回任何內容...... – Chicago1988

+0

正確。在我使用這個選項的報告中,我有一個參數來過濾這個列表。所以我的第一個參數是你選擇的職員類型,然後給你一個員工名單(或「全部」作爲空值)。這使我只能選擇一名工作人員或所有員工 - 兩者之間沒有任何關係。級聯參數意味着null複選框消失(這看起來更好)。 – BishNaboB