サマリー タイトルの表示 - Basic Teradata Query

Basic Teradata Query リファレンス

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

前の例では、余白がないために最初のタイトルが表示されませんでした。 第1列の幅を拡大しても、問題は解決しません。 BTEQでは、サマリー テキストの集約値に使用するためにある結果行のスペースには、サマリー タイトルが配置されません。 この制約に対処するためには、専用の結果行スペースをとっておくための空の列を選択します。 次の例は、この方法による結果の前と後を示しています。

例1 – サマリー タイトル(調整前)

現在のデータベースにFruitTreesというテーブルがあるとします。そこから、完熟している樹木の数と、関連する収穫高のレポートを作成するとします。 テーブルでは、以下の列と値が表示されます。

TreeId      Fruit            Yield  Status
----------  ----------  ----------  ----------
CITR01      ORANGE              10  NOT RIPE
CITR02      ORANGE              30  NOT RIPE
CITR03      ORANGE             500  RIPE
POME01      APPLE              100  NOT RIPE
POME02      APPLE               80  NOT RIPE
POME03      APPLE              400  RIPE
POME04      APPLE               20  RIPE

スクリプトには、以下のBTEQコマンドとSQL文が含まれており、空白の列の選択は指定されていません。

.SET SUPPRESS ON 1
SELECT Status
     , Fruit
     , Yield
     , TreeId
FROM   FruitTrees
GROUP BY Status, Fruit, Yield, TreeId
ORDER BY Status, Fruit, Yield
WITH     COUNT(Fruit)   (TITLE 'Trees'    )
       , SUM (Yield)    (TITLE 'Yield'    ) BY Status, Fruit
WITH     COUNT(Status)  (TITLE 'Tot Trees')
       , SUM (Yield)    (TITLE 'Tot Yield') BY Status
;

BTEQの応答

Status       Fruit              Yield  TreeId
-----------  -----------  -----------  ----------
NOT RIPE     APPLE                 80  POME02
             APPLE                100  POME01
             -----------  -----------
      Trees            2          180

             ORANGE                10  CITR01 
             ORANGE                30  CITR02
             -----------  -----------
      Trees            2           40
-----------               -----------
          4    Tot Yield          220

RIPE         APPLE                 20  POME04
             APPLE                400  POME03
             -----------  -----------
     Trees             2          420
             ORANGE               500  CITR03
             -----------  -----------
     Trees             1          500

-----------               -----------
          3    Tot Yield          920

例2 – サマリー タイトル(調整後)

前の例では、4つのサマリー テキスト タイトルのうち2つ分のスペースしか取得できませんでした。 以下に示すように、タイトル分の結果スペースを確保する空白の列を選択するようにスクリプトが変更されると、タイトルを含めることが可能になります。 空白の列の指定幅が重要です。 列幅が小さすぎる場合は、タイトルが切り捨てられます。

.SET SUPPRESS ON 1,2
SELECT   ' ' (CHAR(9)) (TITLE ''), Status
       , ' ' (CHAR(5)) (TITLE ''), Fruit
       , ' ' (CHAR(5)) (TITLE ''), Yield
                                 , TreeId
FROM     FruitTrees
GROUP BY Status, Fruit, Yield, TreeId
ORDER BY Status, Fruit, Yield
WITH     COUNT(Fruit)   (TITLE 'Trees'    )
       , SUM  (Yield)   (TITLE 'Yield'    ) BY Status, Fruit
WITH     COUNT(Status)  (TITLE 'Tot Trees')
       , SUM  (Yield)   (TITLE 'Tot Yield') BY Status
;

BTEQの応答

          Status              Fruit                     Yield     TreeId
          -----------         -----------         -----------     ----------
          NOT RIPE            APPLE                        80     POME02
                              APPLE                       100     POME01
                              -----------         -----------
                       Trees            2  Yield          180

                              ORANGE                       10     CITR01 
                              ORANGE                       30     CITR02
                              -----------         -----------
                       Trees            2  Yield           40

          -----------                             -----------
Tot Trees           4                  Tot Yield          220

          RIPE                APPLE                        20     POME04 
                              APPLE                       400     POME03
                              -----------         -----------
                       Trees            2  Yield          420

                              ORANGE                      500     CITR03
                              -----------         -----------
                       Trees            1  Yield          500
          -----------               -----------
Tot Trees           3                  Tot Yield          920