レポート・スクリプトは、Essbaseサーバーから出力を生成するのに必要なデータ抽出およびデータ・フォーマット・コマンドを含むテキスト文字列です。レポート・ライター言語の詳細な説明は、『Oracle Essbaseテクニカル・リファレンス』を参照してください。通常、APIアプリケーションのレポート・スクリプトには、次の主要な要素を含む必要があります:
{TABDELIMIT}コマンド- APIに送信するレポート・スクリプトの初めに含めます。プログラム内で解析するのに役立つフォーマットで出力データを戻します。このコマンドは、不要なフォーマット(たとえば、数の1000ごとの区切りとして使用されるコンマ)をすべて抑制して、解析しセルに分割できるタブ区切りのトークンとして、各メンバー名またはデータ値を戻します。
{DECIMALS n}コマンド- 戻される数値データの小数点以下の桁数を指定します(内部では、数はすべて、精度が15桁の浮動小数点数として保管されています)。たとえば、{DECIMALS 2}は、小数点以下の桁数を2桁に指定します。
{INDENTGEN n}コマンド- レポート出力の行で親メンバーまたは子メンバーのインデントのオプションが利用できます。nが負の値の場合、子に対してn個のスペースで親メンバーをインデントします。nが正の値の場合、親に対してn個のスペースで子メンバーをインデントします。nの値が0の場合、すべてのインデントを解除します。たとえば、{INDENTGEN -2}は、レベル当たり2つのスペースで親メンバーをインデントします(デフォルト):
100-10 47 41 50 138 100-20 44 38 49 131 100-30 21 14 20 55 100 112 93 119 324 200-10 25 19 23 67 200-20 18 14 18 50 200-30 17 9 14 40 200 60 42 55 157 Product 287 217 290 794
{SUPMISSING}および{SUPZERO} コマンド- レポート出力での不要な行を削除します。{SUPMISSING}コマンドは、#Missing値のみを含む(つまり、実際のデータがない)すべてのデータ列の出力を抑制します。また、{SUPZERO}コマンドは、0値しか含んでいない行の出力を抑制します。
0値と#Missing値の両方を非表示にする{SUPBLANK}コマンドと、一定範囲のレポート出力パラメータを非表示にする{SUPALL}コマンドも役に立ちます。
{MISSINGTEXT string}コマンド- 出力データ内の#Missing値をプログラムによって指定された文字列に変換します。たとえば、{MISSINGTEXT "N/A"}は、#Missing値を文字列「N/A」に変換します。
{OUTALTNAMES}または{OUTMBRNAMES}コマンド- {OUTALTNAMES}によって、出力でメンバー名のかわりに別名を使用できます。メンバー名に戻すには、{OUTMBRNAMES}を使用します(デフォルト)。
<PAGE、<COLおよび<ROWコマンド- レポートでの異なる次元の配置方法を指定します。<PAGEは、ページ・ヘッダー(レポートの最上部)にどの次元を配置するかを指定します。また、<COLおよび<ROWは、それぞれ次元を列および行に配置するよう指定します。たとえば、<ROW(Market, Product)は、レポートの行にMarketおよびProduct次元メンバーをこの順に表示します。
どの次元のどのメンバーも<PAGE、<COLおよび<ROWで指定できます。各次元は、これらのコマンドで1回しか使用できません。それ以外の場合は、最後のコマンドが優先されます。次元はすべて指定する必要があります(そうしないと、レポートのレイアウトは予測不能になります)。
メンバー名のリスト(マクロ・コマンドを含む)- 最も簡単な方法によってレポートで必要とされるデータを抽出するには、関係するメンバーをリストします。たとえば、「Actual Sales Ohio Jan Feb Mar Product」は、次のレポート出力を生成します:
Actual Sales Ohio Jan Feb Mar Product 287 217 290
またはマクロ・コマンドを使用すると、ある次元から一定範囲のメンバーを指定できます。次の例を検討してください:
<CHILDREN / <ICHILDREN
<DESCENDANTS / <IDESCENDANTS
<DIMBOTTOM
<ALLINSAMEDIMENSION
<ONSAMELEVELAS
<PARENT
<ANCESTORS
注: | 前述のマクロ・コマンドはすべて略記できます(たとえば、<DESC、<ICHILD、<PAR)。 |
前述のマクロ・コマンドのうち最もよく使用するコマンドは、単一レベルのドリルダウンを実行する場合は<CHILD (または<ICHILD)コマンド、複数レベルのドリルダウンを実行する場合は<DESC (または<IDESC)コマンド、ある次元の最下位レベルのメンバーまでのドリル・ダウンを実行する場合は<DIMBOTTOMコマンドです。
たとえば、「Actual Sales Ohio <ICHILD Qtr1 <DESC Product」と指定すると、次のようなレポート出力が得られます:
Actual Sales Ohio Jan Feb Mar Qtr1 100-10 47 41 50 138 100-20 44 38 49 131 100-30 21 14 20 55 100 112 93 119 324 200-10 25 19 23 67 200-20 18 14 18 50 200-30 17 9 14 40 200 60 42 55 157 300-10 30 19 32 81 300-20 24 16 25 65 300-30 12 7 11 30 300 66 42 68 176 400-10 30 27 32 89 400-20 14 10 12 36 400-30 5 3 4 12 400 49 40 48 137 100-20 44 38 49 131 200-20 18 14 18 50 300-30 12 7 11 30 Diet 74 59 78 211
メンバー名が数字(たとえば「100」)であったり、メンバー名にスペースが埋め込まれている(たとえば「New York」)場合があるので、APIにレポート・スクリプトを送信するときは、二重引用符でメンバー名を囲むようにしてください。リリース4.0以上では、{QUOTEMBRNAMES}コマンドの使用により、このフォーマットでメンバー名を出力するよう強制できます。
感嘆符(!)- レポート・スクリプトの最後の要素は、必ず感嘆符(!)である必要があります。各スクリプトには(少なくとも)1つの感嘆符がなければ、データが生成されません。レポート・スクリプトが正しく実行されているようでもデータが出力されない場合は、レポート・スクリプトに感嘆符が付記されているかどうか確認してください。
これらの要素の多くは、ユーザー構成が可能な典型的なパラメータです。これらのパラメータは、ユーザーが事前に一括またはレポート単位(あるいはその両方)で設定します。
APIライブラリを参照してください。