0

SSRSサブスクリプションを作成するユーザーのリクエストがあります。このサブスクリプションは毎日発行され、レポートの実行時まで昨日の日付からコンテンツを提供します。SSRSサブスクリプションで今日または昨日のパラメータが許可されています。

ビジュアルスタジオから報告されたレポートには、レポートの実行時に最小日と最大日が設定されています。ただし、サブスクリプションで日付範囲を選択し、それを動的に前進させることは選択肢にはなりません。サブスクリプション画面にパラメータを入力することもありません。誰もこれを達成する方法を知っていますか?

+0

あなたは式でデータセットを表示または非表示にしましたか? – LONG

+0

これはあなたを助けるかもしれません。基本的にパラメータを動的にする必要があります:https://stackoverflow.com/questions/12039295/ssrs-report-subscription-parameters-date-valuesまたはhttps://stackoverflow.com/questions/38273583/need-to-set -a-date-parameter-on-an-ssrs-subscription –

答えて

2

通常、現在の日付から日数を指定して日付範囲として使用します。例えば

create proc my_report(@start_date_offset int, @end_date_offset int) 
as 
begin 
    declare @start_date date; 
    declare @end_date date; 

    select 
    @start_date = dateadd(dd, -1 * @start_date_offset, getdate()), 
    @end_date = dateadd(dd, -1 * @end_date_offset, getdate()); 

    -- Do stuff with @start_date and @end_date 

end 

あなたは、代わりに実際の日付のこれらの相対オフセットを使用してレポートを呼び出すことができます。

SSRSサブスクリプションに実際の日付ではなくハードコードされたパラメータとしてのオフセットがあるということが、基本的には数時間または数分で定義できます。


編集:

別のアプローチは、ストアドプロシージャは、日付のみの変数を取る持っているだろうが、SSRSレポートには、オフセットパラメータと可視日付パラメータを非表示になっていることができます。日付パラメータは、オフセットから計算されたデフォルト値を持つことができ、ユーザーはそれらを上書きすることができます。 SSRSサブスクリプションはオフセットを指定し、デフォルト値を使用するように日付変数を設定します。

+0

私の問題は、ユーザーが独自のパラメータを入力して実行するためにレポートを利用できるようにする必要があることです。特定のユーザーがyesterdays dateにデフォルト設定できるようにする、このサブスクリプションのスケジューリングです。 –

+1

オフセットは非表示のパラメータにすることができ、レポートを手動で実行するときは表示されず、日付パラメータはデフォルトでnullに設定されます。 procの開始時に、日付パラメータがNULLであるかどうかをテストし、そうであれば、オフセットを使って新しいものを計算します。サブスクリプションは、日付パラメータをnullに設定し、代わりにオフセットを指定できます。 –

関連する問題