7.66.3 KEEP_TOTALの使用例
例1:販売履歴ファイルには、会社名(#COMPANY)、部門名(#DIVNAM)、および売り上げ額(#SALES)の詳細が保持されています。すべての売り上げ明細を印刷し、部門別、会社別、およびレポート別(総計)の売り上げの総額と平均額の明細を印刷します。
DEF_LINE NAME(#DETAIL) FIELDS(#COMPANY #DIVNAM #SALES)
DEF_BREAK NAME(#SUBDIV) FIELDS(#DIVTOT #DIVAVG) TRIGGER_BY(#COMPANY #DIVNAM)
DEF_BREAK NAME(#SUBCOM) FIELDS(#COMTOT #COMAVG) TRIGGER_BY(#COMPANY)
DEF_BREAK NAME(#GRAND) FIELDS(#GRDTOT #GRDAVG)
SELECT FIELDS(#DETAIL) FROM_FILE(SALEHIST)
KEEP_TOTAL OF_FIELD(#SALES) IN_FIELD(#DIVTOT) BY_FIELD(#COMPANY #DIVNAM)
KEEP_AVG OF_FIELD(#SALES) IN_FIELD(#DIVAVG) BY_FIELD(#COMPANY #DIVNAM)
KEEP_TOTAL OF_FIELD(#SALES) IN_FIELD(#COMTOT) BY_FIELD(#COMPANY)
KEEP_AVG OF_FIELD(#SALES) IN_FIELD(#COMAVG) BY_FIELD(#COMPANY)
KEEP_TOTAL OF_FIELD(#SALES) IN_FIELD(#GRDTOT)
KEEP_AVG OF_FIELD(#SALES) IN_FIELD(#GRDAVG)
PRINT LINE(#DETAIL)
ENDSELECT
ENDPRINT
例2:売り上げファイルには、部門名(#DIVNAM)および4四半期(#QTR01〜#QTR04)の年間売り上げ額の詳細が保持されています。部門別の年間売り上げの総額と平均額をまとめたレポートを生成します。
DEF_BREAK NAME(#SUMMARY) FIELDS(#TOTAL #AVERAGE) TRIGGER_BY(#DIVNAM)
SELECT FIELDS(#DIVNAM #QTR01 #QTR02 #QTR03 #QTR04) FROM_FILE(DIVSALES)
KEEP_TOTAL OF_FIELD(#QTR01 #QTR02 #QTR03 #QTR04) IN_FIELD(#TOTAL) BY_FIELD(#DIVNAM)
KEEP_AVG OF_FIELD(#QTR01 #QTR02 #QTR03 #QTR04) IN_FIELD(#AVERAGE) BY_FIELD(#DIVNAM)
PRINT LINE(*BREAKS)
ENDSELECT
ENDPRINT