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

前
 
次
 

RUNTOTAL

RUNTOTALファンクションは、式の現在までの合計を返します。RUNTOTALファンクションをROWコマンド、ROWファンクションまたはREPORTコマンドで使用すると、式の値の現在までの合計を生成できます。

戻り値

DECIMAL

構文

RUNTOTAL(n)

パラメータ

n

レポートの現行の列についてOracle OLAPが累計する32の小計(1から32)のいずれか1つ。RUNTOTALは、指定された列の小計の値を返しますが、小計の値をゼロにリセットしません。

32の小計を参照する番号(1から32)には固有の意味はなく、すべての小計は参照されるまで同じです。

使用上の注意

RUNTOTALの機能

RUNTOTALは、SUBSTRファンクションと異なり、指示された小計をゼロにリセットせず、RUNTOTALで返す値を指示された小計に加えません。ただし、RUNTOTALが返す値、現行の列に関して他の31の累計合計に加えられます。

別の列のデータへのアクセス

レポートの別の列に表示されている式でも、その式をRUNTOTALに追加することにより、現在までの合計を取得できます。COALESCEファンクションを使用すると、他の列の値を参照できます。たとえば、行の最初のデータ列にある月ごとの売上および2番目のデータ列にある売上の累計を表示するには、次の文を使用します。

ROW month sales COLVAL(-1) + RUNTOTAL(1)

小計のリセット

ROW文を使用してレポートを作成する場合、ZEROTOTAL文を使用して任意の列の小計をゼロにリセットできます。通常、ZEROTOTALはレポート・プログラムの開始時に使用し、最初にすべての合計がゼロになるようにします。REPORT文は、出力を生成する前に、自動的にすべての小計をゼロにリセットします。

NA値とRUNTOTAL

RUNTOTALは、すべての値がNAではないかぎり、NA値を無視します。すべての値がNAである場合、合計はNAになります。

例8-94 レポートでの現在までの合計の計算

レポートで、列1の値の現在までの合計を列2に表示するとします。

次のOLAP DML文を発行します。

ZEROTOTAL ALL
ROW W 4 R 2 RUNTOTAL(1) + COLVAL(1)
ROW W 4 R 5 RUNTOTAL(1) + COLVAL(1)
ROW W 4 R 3 RUNTOTAL(1) + COLVAL(1)

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

2     2.00
5     7.00
3    10.00

例8-95 2つの地区に関する現在までの合計の計算

この例では、2つの地区の1996年1から6月に関するテントの売上数量を示すレポートを作成します。月ごとのテントの売上数量とともに、これらの地区における売上数量の現在までの合計を表示します。この累計を生成するために、RUNTOTALファンクションを使用します。

LIMIT product TO 'Tents'
LIMIT month TO 'Jan96' TO 'Jun96'
LIMIT district TO 'Boston' 'Chicago'
REPORT ACROSS district: units -
   DECIMAL 0 TOTAL(units, month)+RUNTOTAL(1)

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

PRODUCT: TENTS
               --------UNITS--------
               ------DISTRICT-------
                                     TOTAL(UNIT
                                         S,
                                     MONTH)+RUN
MONTH            Boston    Chicago    TOTAL(1)
-------------- ---------- ---------- ----------
Jan96                 307        189        496
Feb96                 209        190        895
Mar96                 277        257      1,429
Apr96                 372        318      2,119
May96                 525        433      3,077
Jun96                 576        466      4,119