前の例では、余白がないために最初のタイトルが表示されませんでした。 第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