高度なトピック
日付パラメータを増分し、宛先ファイル名を動的に定義できます。
日付パラメータの増分
レポートの日付パラメータ・フィールドには、式を指定できます。
スケジュールされたレポートに日付パラメータが含まれている場合、スケジュールの日付に値を入力すると、日付の値は変更できなくなります。スケジュールされたレポートのインスタンスが実行されるたびに、同じ日付パラメータが使用されます。実行ごとに日付パラメータを変更する必要がある場合は、スケジューラの日付パラメータ・フィールドに式を入力して、レポート・ジョブが実行されるたびに日付が計算されるようにできます。
たとえば、前の週のデータを取得するために毎週月曜日に実行されるレポートのスケジュールを作成する場合、前の週の最初の日と最後の日の値を増加させるように、このレポートの日付パラメータを更新する必要があります。
次に示す関数をここに示す構文のとおりに入力すると、スケジュールに従ってレポートが実行されるときに、該当する日付が計算されます。
-
{$SYSDATE()$} - 現在の日付。Publisherを実行しているサーバーのシステム日付。
-
{$FIRST_DAY_OF_MONTH()$} - 現在の月の最初の日
-
{$LAST_DAY_OF_MONTH()$} - 現在の月の最後の日
-
{$FIRST_DAY_OF_YEAR()$} - 当年の初日
-
{$LAST_DAY_OF_YEAR()$} - 当年の最終日
パラメータ値での日付関数のコールは、スケジューラによってレポート・ジョブが処理されるまで評価されません。
次のように、プラス記号(+)とマイナス記号(-)を使用して、日数を加算または減算する式を入力することもできます。
-
{$SYSDATE()+1$}
-
{$SYSDATE()-7$}
この例では、スケジュールが実行されるたびにすぐ前の週のデータを取得するために、レポートの日付パラメータのフィールドに次のように入力します。
-
開始日: {$SYSDATE()-7$}
-
終了日: {$SYSDATE()-1$}
日付関数は、データ・モデルのデフォルト・パラメータ値として設定できます。その場合は、ユーザーがレポート・ビューアでレポートを表示するたびに、デフォルト値として指定された式に従って日付パラメータが計算されます。
日付式を使用した宛先ファイル名の動的な定義
WebフォルダやFTPの宛先となるリモート・ファイル名を入力する場合は、日付式を入力することで、ファイル名に動的に日付が含まれるようにすることができます。この日付は、実行時にサーバーのタイムゾーンを使用して設定されます。
日付の式の説明は、次の表のとおりです。
式 | 説明 |
---|---|
%y |
年を4桁で表示します(例: 2011)。 |
%m |
月を2桁(01~12)で表示します(01 = 1月)。 |
%d |
日を2桁(01~31)で表示します。 |
%H |
24時制の時間を2桁(00~24)で表示します。 |
%M |
分を2桁(00~59)で表示します。 |
%S |
秒数を2桁(00~59)で表示します。 |
%l |
ミリ秒を3桁(000~999)で表示します。 |
例
後ろに日付が付加されたファイル名、および前に日付が付加され、後ろに時刻が付加されたファイル名を作成するには、次のステップを使用します。
後ろに日付、月および年が付加された、次のようなファイル名を作成します。
myfile_01_11_2010.pdf
次のように入力します。
myfile_%d_%m_%y.pdf
前に日付、月および年が付加され、後ろに時間と分が付加された、次のようなファイル名を作成します。
01_01_2010_myfile_22_57.pdf
次のように入力します。
%d_%m_%y_myfile_%H_%M.pdf
my_file_%a%b%c.pdf
のように、ファイル名に未定義の式が含まれている場合、ファイルはmy_file_%a%b%c.pdfという名前で作成されます。