目的
この制御によって、ユーザーは、レポート内で連続して繰り返されるすべての値を空白文字に置き換えるかどうかを指定できます。
構文
次のような場合に当てはまります。
- n
- 列番号。左から右の順序でカンマで区切って指定します。
nの値の有効な範囲は、1~2048です。
使用上の注意
SUPPRESSコマンドを使用すると、指定した列の反復値が出力されず、レポートを簡素化することができます。
SUPPRESSコマンドのオプションの設定に関係なく、指定した列の最初の新しい値は出力されます。 SUPPRESSコマンドのオプションがONに設定されていれば、そのあとの反復値が空白で置き換えられます。 (新しい値の行の前には、SKIPLINEコマンドとSKIPDOUBLEコマンドのオプションを設定することにより、1行以上の空白行を入れることができます。)
出力が抑制された列で改ページが行なわれる場合には、次のページの1行目の値は出力され、そのあとの反復値の出力が抑制されます。
SUPPRESSコマンドを一度も使用していない場合には、デフォルトはOFF ALLになっています。 ONまたはOFFを指定しない場合、または列番号を指定しない場合、BTEQはSUPPRESSをON ALLに設定します。
同じセッション内でいくつかのレポートを生成し、レポートごとにSUPPRESSコマンドのオプションを変更する場合には、新しいSUPPRESSコマンドを使用する前に、SET SUPPRESS OFF ALLを明示的に指定しなければなりません。
SUPPRESSコマンドとSKIPLINEコマンドを一緒に使用すると、SUPPRESSコマンドに対して指定した列がSKIPLINEコマンドの列として設定されます。
次の構文の使用例を示します。
.set suppress on 1,2,3,4,5 .set skipline on 1,2,3
SKIPLINEコマンドに対して、列4と5も設定されます。 列1、2、3にSKIPLINEを指定する場合には、以下の構文を使用します。
.set suppress on 1,2,3,4,5 .set skipline off 4,5
また、SUPPRESSコマンドのあとにSHOW CONTROLSを使用した場合にも、SKIPLINEの列は、SUPPRESSの列と同じ列にリセットされます。
SUPPRESS設定が影響するのはフィールド モードの出力のみです。レコード モード、標識モード、またはマルチパート標識モードの出力には影響しません。
SUPPRESSコマンドは、Teradata SQLマクロで使用できます。
例1 – SUPPRESS
次の例は、最初はSUPPRESSコマンドがOFFの場合、次は列1に対してONの場合に、SELECTから返される情報を示したものです。
database workforce; .defaults .format on .heading 'Suppress off' select deptno ,name from employee order by deptno ; .defaults .format on .heading 'Suppress on 1' .suppress on 1 = 1 .format off .logoff .exit
BTEQの応答
*** Query completed. 21 rows found. 2 columns returned. Suppress off DeptNo Name ------ ------------ 100 Peterson J 100 Chin M 100 Greene W 100 Moffit H 300 Russell S 300 Leidner P 300 Phan A 500 Inglis C 500 Carter J 500 Watson L 500 Smith T . . (etc) *** Query completed . 21 rows found. 2 columns returned. Suppress on 1 DeptNo Name ------ ------------ 100 Peterson J Chin M Greene W Moffit H 300 Russell S Leidner P Phan A 500 Inglis C Carter J Watson L Smith T . . (etc) *** Query completed . 21 rows found. 2 columns returned. Suppress on 1 DeptNo Name ------ ------------ 100 Peterson J Chin M Greene W Moffit H 300 Russell S Leidner P Phan A 500 Inglis C Carter J Watson L Smith T . . . (etc)
例2 – SUPPRESS
最初のレポートから列1と2を抑制し、同じBTEQセッション内で、次のレポートの列3を抑制するためには、まず最初のレポートのためにSUPPRESSコマンドを以下のように使用します。
.SET SUPPRESS 1, 2
そして、以下のSUPPRESSコマンドを使用して、次のBTEQレポートのSUPPRESSコマンド・オプションを再設定します。
.SET SUPPRESS OFF ALL .SET SUPPRESS 3
例3 – マクロによって出力されるSUPPRESS
Teradata SQLマクロでは、SUPPRESSコマンドは次のようになります。
ECHO '.SET SUPPRESS 1,2';