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

前
 
次
 

ZEROTOTAL

ZEROTOTALコマンドは、指定したレポート列の1つまたはすべての小計をゼロにリセットするコマンドです。ZEROTOTALコマンドは、ROWコマンドを使用してレポートを生成するときに使用します。


注意:

ZEROTOTALは、RUNTOTALファンクションおよびSUBSTRファンクションから返される結果に影響します。

構文

ZEROTOTAL [{n|ALL} [column1 columnN]]

パラメータ

引数を指定しないでZEROTOTALを実行すると、すべての列のすべての小計がゼロにリセットされます。

n

レポートの数値列ごとに累計された32の小計(1から32まで)のうち1つを指定するINTEGER式。指定した列では、この小計はゼロに設定されます。

ALL

指定した列の32の小計すべてをゼロに設定します。引数が指定されていない場合、ALLはデフォルトになります。特定の列のすべての小計をゼロにリセットするには、文にALLを記述する必要があります。

ZEROTOTAL ALL 1 4 7
column

レポート列の列数。列番号1とは、その列に格納されているデータの型にかかわらず、レポートの左端列のことを指します。列番号の引数を指定しなかった場合、レポートのすべての列を対象に、指定した小計(またはすべての小計)がゼロに設定されます。

使用上の注意

列の小計の初期化

ROWコマンドを使用してレポートを作成する場合は、レポート・プログラムの冒頭にZEROTOTAL文を使用して、すべての列の32の小計すべてをゼロに初期化してください。REPORT文は、出力を生成する前に、自動的にすべての小計をゼロにリセットします。

列の小計のリセット

一部の小計のみをリセットする場合や、これまでに累計した小計を挿入せずに新しい小計の累計を開始する場合にも、レポート・プログラムにZEROTOTALを使用できます。SUBSTRファンクションを使用して小計自体の列で小計にアクセスすると、小計は自動的にゼロにリセットされます。ただし、RUNTOTALファンクションを使用して小計にアクセスした場合は、ゼロにリセットされません。

例10-177 すべてのレポート列の小計のリセット

あるレポートで、総売上高(ドル単位)と、その後に各地区ごとの売上数量の詳細サマリーを表示するとします。さらに、レポートの最後に売上数量の合計を表示しますが、この合計には売上高(ドル単位)の数字は含まれないようにします。総売上高(ドル単位)を算出したら、ZEROTOTALを使用してすべての小計をゼロにリセットします。こうすると、後でこのレポートでSUBTOTAL(1)を使用したときに、地区ごとの売上数量のみが合計されます。

次のステートメント行がプログラムにあるとします。

LIMIT product TO 'Footwear'
LIMIT month TO 'Jul96' TO 'Sep96'
ROW 'Total Dollar Sales' ACROSS month: -
   DECIMAL 0 TOTAL(sales month)
BLANK
ROW 'Unit Sales'
ZEROTOTAL ALL
FOR district
   ROW INDENT 5 district ACROSS month: units
ROW 'Total Unit Sales' ACROSS month: -
   OVER '-' SUBTOTAL(1)

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

Total Dollar Sales      607,552    581,229    658,850
 
Unit Sales
     Boston               3,538      3,369      3,875
     Atlanta              4,058      3,866      4,251
     Chicago              3,943      3,509      4,058
     Dallas                 814        824        867
     Denver               1,581      1,532      1,667
     Seattle              2,053      2,193      2,617
                     ---------- ---------- ----------
Total Unit Sales      15,987.00  15,293.00  17,335.00