2014-01-29 175 views
2

我有一個下鑽報告,其參數爲:父報告 - @valid Nvarchar(20)=''和子報告 - @valid Nvarchar(20)=空。SSRS中的空白參數爲空參數

這兩個報告都運行得非常好,但是我在將文本框屬性>操作>轉到報告中的這些參數映射後出現問題。當運行報告出現錯誤,

「規定的報告參數的值是無效」

這份報表的查詢是從存儲過程。在子報表中,參數屬性中,我勾選了「允許空值」文本框,設置可用參數來自查詢並指定來自查詢的默認值。我做了什麼錯誤,以允許返回錯誤?感謝您的幫助。

謝謝。

+0

我不是100%肯定這是你'之後,但是你可以傳遞一個像'= IIf(Parameters!valid.Value =「」,Nothing,Parameters!valid.Value)這樣的表達式給子報表參數,即空出空字符串。這是你的意思嗎? –

+0

不錯!效果很好。謝謝 – dLight

+0

我想標記爲「回答」但看不到鏈接。任何想法? – dLight

回答

6

如果您的第二個報告期望獲得NULL值(即SSRS中的Nothing),則可以基於父參數將基於表達式的參數傳遞給子報表,以確保它是否爲空字符串父級別,您可以明確地將其設置爲Nothing:

=IIf(Parameters!valid.Value = "", Nothing, Parameters!valid.Value) 

這樣空字符串將永遠不會傳遞並且您的子級報告;只有它期望的NULL值。

1

如果您正在考慮從URL傳遞null參數,我們假設某種CLI,則必須在URL的參數部分中包含參數:isNull = True。和allways remenber檢查報告編輯器中的「允許空值」,參數屬性。

假設我們有一個報告,體育場館的,我們有一個空的運動......它會是這樣的>

http://<server/report>&rs:Command=Render&rc:Parameters=false&rc:toolbar=false&sport:isNull=True&stadium=CampNou