1

我在存儲過程中相當新,並將它們與SSRS一起使用。使用存儲過程在SSRS中傳遞多個字符串值

我想用一個存儲過程的參數,允許(從單獨的過程的結果)的多個值

創建簡單SSRS報告我有2個簡單的存儲過程如下。

Create Procedure WO 
@STARTDATE datetime, @ENDDATE datetime, @DISTRICT varchar(25) 
AS 
SELECT A.WO, A.CUST, A.DISTRICT, A.COMPL_DATE 
FROM WORK_ORDERS A 
WHERE A.COMPL_DATE between (@STARTDATE) and (@ENDDATE) 
and A.DISTRICT_NAME in (@DISTRICT) 

Create Procedure DISTRICT 
AS 
SELECT B.DISTRICT_NAME 
FROM DISTRICTS B 

在我SSRS報告中,我使用的是使用來自該地區的過程(允許多個值)可用值的「區」參數區過程的結果(S)報告WO程序。此外,我在WO過程的參數中使用了DISTRICT參數。

此功能在選擇一個區,但不是當我選擇多個區時。有人願意幫忙嗎?

回答

0

如果我沒有弄錯,問題是處理字符串參數@district - 假設SSRS傳遞的東西看起來像「N,S,E,W」,假設選擇了4個區域 - 存儲過程會然後出來如下:...('N,S,E,W')中的A.District_Name ...如果區域名稱'N,S,E,W'只返回一個值。所以,我認爲你需要分解新的價值,並將其重新組合爲'N','S','E','W'。不幸的是,SQL Server中沒有SPLIT函數,所以你必須編寫一個UDF(有幾個可用的帖子)或者進行CLR調用。

這是一個聰明的(和未經測試)的思想 - 嘗試更換(@District, '' '' ' '''),(我覺得我得到的報價吧...)

相關問題