ZEROTOTALコマンドは、指定したレポート列の1つまたはすべての小計をゼロにリセットするコマンドです。ZEROTOTALコマンドは、ROWコマンドを使用してレポートを生成するときに使用します。
注意: ZEROTOTALは、RUNTOTALファンクションおよびSUBSTRファンクションから返される結果に影響します。 |
構文
ZEROTOTAL [{n|ALL} [column1 columnN]]
引数
引数を指定しないでZEROTOTALを実行すると、すべての列のすべての小計がゼロにリセットされます。
レポートの数値列ごとに累計された32の小計(1から32まで)のうち1つを指定するINTEGER
式。指定した列では、この小計はゼロに設定されます。
指定した列の32の小計すべてをゼロに設定します。引数が指定されていない場合、ALLはデフォルトになります。特定の列のすべての小計をゼロにリセットするには、文にALLを記述する必要があります。
ZEROTOTAL ALL 1 4 7
レポート列の列数。列番号1とは、その列に格納されているデータの型にかかわらず、レポートの左端列のことを指します。列番号の引数を指定しなかった場合、レポートのすべての列を対象に、指定した小計(またはすべての小計)がゼロに設定されます。
注意
列の小計の初期化
ROWコマンドを使用してレポートを作成する場合は、レポート・プログラムの冒頭にZEROTOTAL文を使用して、すべての列の32の小計すべてをゼロに初期化してください。REPORT文は、出力を生成する前に、自動的にすべての小計をゼロにリセットします。
列の小計のリセット
一部の小計のみをリセットする場合や、これまでに累計した小計を挿入せずに新しい小計の累計を開始する場合にも、レポート・プログラムにZEROTOTALを使用できます。SUBSTRファンクションを使用して小計自体の列で小計にアクセスすると、小計は自動的にゼロにリセットされます。ただし、RUNTOTALファンクションを使用して小計にアクセスした場合は、ゼロにリセットされません。
例
例10-174 すべてのレポート列の小計のリセット
あるレポートで、総売上高(ドル単位)と、その後に各地区ごとの売上数量の詳細サマリーを表示するとします。さらに、レポートの最後に売上数量の合計を表示しますが、この合計には売上高(ドル単位)の数字は含まれないようにします。総売上高(ドル単位)を算出したら、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