2014-10-22 119 views
0

我有這個報告從存儲過程中獲取數據。 我需要將多選下拉列表中的CustomerIDs傳遞給我的報告。SSRS通過多選參數報告

我StoredProcedure的是這樣的:

@CustomerIds varchar(500) 

select * 
    FROM [Application].[ApplicationVersion] APPVERS 
WHERE APPVERS.CustomerId IN (@CustomerIds) 
  • 在我的報告,我有參數「CustomerIds」,數據類型設置爲整型(我用「TEXT」嘗試過,但它沒」或者工作)。該參數設置爲「允許多個值」

  • 在定義了我的數據集的報告中,我的@CustomerIds定義如下:「= SPLIT(JOIN(Parameters!CustomerIds.Value,」,「), 」‘),’(我只用SPLIT試了一下,只用JOIN和沒有工作)

誰能幫助我?

回答

4

我通常採用的方法是使用過濾器。

  • 刪除SQL查詢中的where子句。
  • 右鍵單擊數據集,然後選擇「屬性」>「過濾器」。
  • Add。
  • 在表達式下拉列表中選擇您要過濾的字段。在你的情況下,「CustomerId」
  • 選擇「In」作爲操作員。
  • 按值上的'fx'以創建表達式,單擊參數,然後從列表中選擇您的參數。確保從最後刪除'(0)',因爲這隻會取第一個選定的值。

enter image description here

+0

我嘗試了,我得到「無法比擬的類型System.Int32和System.String的數據,請瀏覽該FilterExpression返回的數據類型」 – 2014-10-22 08:43:06

+0

檢查您的參數屬性,是標籤值參數是正確的方法? 它基本上意味着您的表達值和值是不同的類型。 – KidCode 2014-10-22 08:55:40

+0

解決了它,報告的參數設置爲文本。將其更改爲整數。 – 2014-10-22 09:10:14