ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

ARGS

OLAP DMLプログラムの内部でARGSファンクションを使用すると、プログラムに渡される引数を参照できます。このファンクションは、すべての引数を1つのテキスト値として返します。ARGSは、コマンドとして起動したプログラムの内部でのみ使用でき、プログラムをユーザー定義ファンクションとして起動したりCALL文で起動した場合は使用できません。


注意:

通常は、プログラムに渡される引数の参照にARGSファンクションを使用しなくても済むよう、ARGUMENT文を使用して、プログラム内で引数を定義します。プログラムに渡される引数をARGUMENTを使用して定義する方法の詳細は、「プログラムに渡される引数の宣言」を参照してください。

戻り値

TEXT

プログラムに引数を指定しなかった場合、ARGSはNULL値を返します。

構文

ARGS

例7-23 ARGSによる引数の受渡し

簡単な売上レポートを生成するプログラムがあるとします。任意の月を対象にしてレポートを生成できるようにするため、プログラム内ではmonthディメンションを特定の月に制限しないことにします。LIMITコマンドでARGSファンクションを使用し、レポートの対象月は、プログラムの実行時に引数で指定するようにします。

ARGSの前にアンパサンド(&)を付けてLIMITコマンド内に記述すると、Oracle OLAPでは、&ARGSの値が置換されてからコマンドが実行されるめ、引数全体がLIMITコマンドの句として処理されます。salesreportプログラムには、&ARGSを指定したLIMITコマンドが記述されています。

DEFINE salesrpt PROGRAM
PROGRAM
PUSH month product district
TRAP ON cleanup 
LIMIT month TO &ARGS
LIMIT product TO 'CANOES'
LIMIT district TO ALL
REPORT grandtotals DOWN district sales
cleanup:
POP month product district
END

次の文を実行すると、LIMITコマンドによって、monthディメンションに値Jan96およびFeb96が適用されます。

salesrpt 'Jan96' 'Feb96'

この文によって生成される出力は、次のとおりです。

PRODUCT: CANOES
       --------SALES--------
       --------MONTH--------
DISTRICT       Jan96      Feb96
----------------------------------
Boston       70,489.44  82,237.68
Atlanta      56,271.40  61,828.33
Chicago      48,661.74  54,424.94
Dallas       35,244.72  40,218.43
Denver       44,456.41  50,623.19
Seattle      67,085.12  74,834.29
         ---------- ---------- --
            322,208.83 364,166.86
         ========== ========== ==