2016-11-14 7 views
0

私が作成したSSRSサブスクリプションレポートの問題が発生しています。基本的に私は、@ReportDateという2つのデータセットと1つのパラメータを持っています。SSRSサブスクリプションのパラメタが更新されない第2のデータセット

enter image description here

enter image description here

@ReportDate)は(今日=デフォルト値を有しています。レポートが毎朝実行され、サブスクリプションによって電子メールで送信されると、dataset1は常に最新の情報を今日の日付で取得して正常に動作しますが、dataset2は常にレポートが正常に実行された前の日付のデータを返します。つまり、パラメータが更新された値をそのデータセットに渡していないようです。両方のデータセットが同じパラメータを使用するため、奇妙です。問題をトラブルシューティングしてレポートを実行すると、データセット2に今日のデータが戻ってきますので、問題を再現することはできません。私は何か間違っているのですか?私はSSRS 2008 r2を使用しています。ご協力いただきありがとうございます。

編集:問題が見つかりました。どちらのデータセットも同じデータソースを共有していました。つまり、レポートビルダーに表示されている順序ではなく、データセットが並行して実行されます。 Dataset2のデータは、dataset1の実行中に取得されるテーブルに依存します。 Dataset2はdataset1より前に終了していたため、現在のデータを取得していませんでした。データソースの設定を更新して、データセットがレポートビルダーに表示されている順に1つずつ実行されるようにしました。私が変更した設定は、 "クエリを処理する際に単一のトランザクションを使用する"というデータソースプロパティのチェックボックスをチェックすることでした。

+0

あなたのパラメータに節が背中どこ日付= DATEADD(DD、-1、@DateParameter)のような一日を見て設定する場所がありますか? – newGuy

+0

dataset1の始めにパラメータを参照するエラーチェックがありますが、実際には両方のデータセットのデータを実際に引き出すwhere句は同じです。 – BrandedSwordsMan

+0

どちらのデータセットも同じデータソースを使用していますか? – StevenWhite

答えて

1

問題が見つかりました。どちらのデータセットも同じデータソースを共有していました。つまり、レポートビルダーに表示されている順序ではなく、データセットが並行して実行されます。 Dataset2のデータは、dataset1の実行中に取得されるテーブルに依存します。 Dataset2はdataset1より前に終了していたため、現在のデータを取得していませんでした。データソースの設定を更新して、データセットがレポートビルダーに表示されている順に1つずつ実行されるようにしました。私が変更した設定は、 "クエリを処理する際に単一のトランザクションを使用する"というデータソースプロパティのチェックボックスをチェックすることでした。

Updating DataSource

関連する問題