2011/02/03

日付型パラメータのデフォルト値 その2 (Date function, part 2)

BI Publisher の日付型パラメータに設定する関数の続きです。
前回のSYSDATEの他、 以下の関数が定義されています。
  • FIRST_DAY_OF_MONTH() →当月の初日(1日)
  • LAST_DAY_OF_MONTH() →当月の末日
  • FIRST_DAY_OF_YEAR() →当年の初日(1月1日)
  • LAST_DAY_OF_YEAR() →当年の末日(12月31日)
「前月の末日」を指定する場合は以下の用に指定します。
{$FIRST_DAY_OF_MONTH() - 1$}

残念ながら、一般的な月次バッチで有用となる「前月の初日」を指定する方法は今のところ無いようです(以下の元ネタURL参照)。このあたり、製品仕様の詰めが甘いです。

前月初日~末日でのデータ処理を行う場合には、パラメータで「FIRST_DAY_OF_MONTH()-1」のみを受け渡し、レポートのSQLで当該パラメータを trunc({パラメータ}, 'MONTH')することで対応するのが現状での解となりそうです。


 元ネタ:
http://forums.oracle.com/forums/thread.jspa?threadID=1086737

マニュアル(新機能ガイド)はこちら:
http://download.oracle.com/docs/cd/E17159_01/doc/bi.1013/b54796/toc.htm#BABGDEAC




[ Summary ]
Not only SYSDATE, BIP provides several date functions such as FIRST_DAY_OF_MONTH.
Unfortunately, there are no FIRST_DAY_OF_PREVIOUS_MONTH so far.

Workaround: use "FIRST_DAY_OF_MONTH()-1" (the last day of previous month), and somehow get "trunc({parameter}, 'MONTH')" in the report/batch side.

0 件のコメント:

コメントを投稿