我有一個接受參數(Country_Name)的SSRS報告。在通過參數傳遞的不同位置生成SSRS報告
這是一個每週報告,需要通過觸發SQL代理作業自動生成。所以,我爲這個報告創建了一個數據驅動訂閱,並創建了一個SSIS包來從SQL代理作業生成報告。
現在的問題是:由於它是一個自動報告,因此沒有接口可以將參數傳遞給報告。所以,我創建了一個表來保存要傳遞的參數列表以及放置生成的報告的路徑。
表將有2列(COUNTRY_NAME & Report_Path)和持有像(印度\ AB123C \印度)值(中國,\ ABC \中國)等
根據不同的參數傳遞,報告的位置將會改變。所以,我在數據驅動的訂閱查詢中使用循環來獲取參數和路徑。儘管查詢返回了各個參數的多個參數和路徑,但它僅挑選第一個結果集,並僅爲第一個參數及其指定位置生成報告。
我無法找到解決方案。請找到我以前用於參考的查詢。如果我能爲此獲得解決方案將是非常好的。
DECLARE @MinCount INT = 1
DECLARE @Country VARCHAR(100)
DECLARE @Path VARCHAR(MAX)
DECLARE @RecordCount INT
DECLARE @CurrentDate VARCHAR(10)
DECLARE @CountryList Table (ID INT Identity(1,1),Country_Name Varchar(100),Report_path Varchar(max))
SET @RecordCount = (SELECT COUNT(*) FROM Country_List)
WHILE (@MinCOunt < = @RecordCount)
BEGIN
SET @Country = (Select Country_name from Country_List WHere ID = @MinCOunt)
SET @Path = (Select Report_Path from Country_List WHere ID = @MinCOunt)
SET @CurrentDate = (SELECT CONVERT(char(10), GetDate(),126) as currentSysDate)
Delete from @CountryList
insert into @CountryList (Country_Name,Report_path) Values (@Country,@Path)
select 'Country_Details ' +
@CurrentDate as filename
,'Excel' as RenderFormat
, (select Name from Master where
Reference_Name = 'USER_NAME'
) as sqlUserId
,(select Value from Master where
Reference_Name = 'PASSWORD'
) as sqlPwd , (Select Country_Name from @CountryList) AS Issue_Country,
(Select Report_path from @CountryList) AS filePath_cfonereports
SET @MinCOunt = @MinCOunt + 1
END
根據你的問題,實際問題是什麼,有點不清楚。你所附的代碼似乎與這個問題無關。 –
上述代碼用於我爲報表創建的數據驅動訂閱。根據以上代碼中select語句返回的值,在預訂中將設置文件名,路徑,RenderFormat,報告服務器憑據和參數等值,以生成報告。 –
你的問題仍然不清楚。 「報告的位置」是什麼意思?你用什麼來創建你的訂閱? –