パラメータ(Country_Name)を受け入れるSSRSレポートがあります。渡されたパラメータで渡された異なる場所でのSSRSレポートの生成
これは週次レポートであり、SQLエージェントジョブをトリガして自動的に生成する必要があります。したがって、このレポートのデータ駆動型サブスクリプションを作成し、SQLエージェントジョブからレポートを生成するためのSSISパッケージを作成しました。
問題はです:自動レポートであるため、レポートにパラメータを渡すインターフェイスがありません。そこで、渡すパラメータのリストと生成されたレポートを配置するパスを保持するテーブルを作成しました。
表(\ ABC \中国、中国)を2列(COUNTRY_NAME & Report_Path)を持っているし、(インド\ AB123C \インド)のような値を保持しますなど
渡されたパラメータに応じて、レポートの場所が変更されます。だから、私はデータ駆動型のサブスクリプションクエリでループを使用して、パラメータとパスを取得します。それぞれのパラメータの複数のパラメータとパスがクエリによって返されますが、最初の結果セットのみが選択され、最初のパラメータとその指定された場所のレポートのみが生成されます。
解決方法が見つかりませんでした。私があなたの参照のために使用した以下のクエリを見つけてください。もし私がこれのための解決策を得ることができれば素晴らしいだろう。
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ステートメントによって返された値に基づいて、filename、Path、RenderFormat、Reportingサーバーの資格情報およびパラメーターなどの値がサブスクリプションで設定され、レポートが生成されます。 –
あなたの質問はまだ不明です。 「レポートの所在地」とはどういう意味ですか?あなたはサブスクリプションを作成するために何を使用していますか? –