2013-11-20 151 views
4

我有一份報告,其中用戶可以在其中一個參數列表中選擇多個項目。點擊報告將打開一個子報告,並將參數傳遞給子報告。如果只有一個項目被選中,那麼這工作正常。如果選擇了多個項目,則只有參數列表中的一個項目被傳遞給子報告。ssrs 2008將參數列表傳遞給子報表

父報告正常工作,子報告只顯示第一項。 我正在使用SSRS 2008 R2。 我怎樣才能讓子報告接受傳遞參數的所有項目?

回答

11

有幾件事情要檢查:

  1. 確保在子報表中的參數設置爲允許多個值。
  2. 請確保您將參數從主報告傳遞到子報告爲[@paramName]而不是"=Parameters!ParamName.Value(0)",因爲這表示僅檢索第一個值。
  3. 將子報表參數設置爲可見,並確保手動選擇/輸入多個值可返回適當的結果。
  4. 如果一切都失敗了,請嘗試使用像這樣的公式=Split(join(Parameters!ParamName.Value,","),","),它會創建一個以逗號分隔的參數值列表,然後將它分成一個數組。

Here's a link到一個博客,該博客有一個人將多值參數傳遞給子報表的截圖。

+0

謝謝,非常有幫助。 –

0

我在sql中使用了一種解決方法,因爲在ssrs中使用多個參數是一種痛苦。正如mmarie所說,通過連接參數(= Split(join(Parameters!ParamName.Value,「,」),「,」))中的多個值開始,然後使用字符串比較檢查子報表中的項目。 它通常給出像WHERE'%''+ subreport_item +',%'LIKE','+ parent_report_multiple_parameters +',' 這是一個快速骯髒的解決方案...

相關問題