SUPPRESS - Basic Teradata Query

Basic Teradata Queryリファレンス

Product
Basic Teradata Query
Release Number
16.20
Published
2018年4月
Language
日本語
Last Update
2019-07-03
dita:mapPath
ja-JP/moy1512703123963.ditamap
dita:ditavalPath
ja-JP/moy1512703123963.ditaval
dita:id
B035-2414
Product Category
Teradata Tools and Utilities

目的

この制御によって、ユーザーは、レポート内で連続して繰り返されるすべての値を空白文字に置き換えるかどうかを指定できます。

構文



次のような場合に当てはまります。

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
新しいSUPPRESSコマンドを使用する前に、まず.SET SUPPRESS OFF ALLを指定してください。

例3 – マクロによって出力されるSUPPRESS

Teradata SQLマクロでは、SUPPRESSコマンドは次のようになります。

ECHO '.SET SUPPRESS 1,2';