2013-08-06 33 views
0

我有一個連接到BI多維數據集的報告。在報告中還有一個來自多維數據集的數據庫參數。該參數正確顯示爲在報告查看器中淹沒的多重選擇,並且值正確填充。參數值 - 傳遞一個不在列表中的值

然而,當我使用JavaScript和傳遞報表參數作爲POST請求調用的報告,還有一個有趣的現象。

如果在參數中傳遞一個未包含在列表中的值,報告將崩潰並出現以下錯誤: 爲報告參數'Name'提供的缺省值或值不是有效值。 (rsInvalidReportParameter)

有沒有辦法讓SSRS簡單地跳過無效值而不是拋出錯誤?

回答

3

不知道什麼是可接受的參數值這個問題幾乎不可能回答。在SSRS接受的參數的第一級是其是公共「文本」(等效於代碼串),整數或日期時間的類型。如果您將參數傳遞給報告而不是其格式,它將會彈出。這應該是設計的。

如果通過附加參數的數據集,說明限制你的一個參數的「可用」值範圍:「從數據集獲取值」。如果你給參數一個值不在這個集合中,它也會彈出。當你的選擇是1-5時,這將是等於選擇6的參數。並且獲得標準的.NET參數相當於參數超出了數組的界限。這也是設計。

對於調試我建議嘗試設置在SSRS的值作爲「默認」靜態,如果可以接受它那麼問題是在轉移和類型。如果能夠再不能從網絡通過JavaScript或任何你選擇它是正在傳遞的類型傳遞。在這種情況下,我在一個字符串過去了,然後用轉投它的類型在SSRS動態。