CUBEオプションの例 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

次のsales_viewテーブル データがあると仮定します。

sales_view
PID Cost sale margin state county city
1 38350 50150 11800 CA Los Angeles Long Beach
1 63375 82875 19500 CA San Diego San Diego
1 46800 61200 14400 CA Los Angeles Avalon
1 40625 53125 12500 CA Los Angeles Long Beach
2 20000 24750 4750 CA Los Angeles Long Beach
2 4800 5940 1140 CA San Diego Santee
1 57600 71280 13680 CA San Diego San Diego

売上(sale)についてcountyPIDの効果を調べてみましょう。

次のSELECT文は、GROUP BY句でCUBEを使用して、売上(sale)に対するcountyおよびPIDの効果を分析します。

     SELECT pid, county, SUM(sale)
     FROM sales_view
     GROUP BY CUBE (pid,county);

問合わせで以下のデータが報告されます。疑問符(?)はnullを示します。

PID
County
Sum(sale)
---
------
---------
2
Los Angeles
24750
1
Los Angeles
164475
2
San Diego
5940
1
San Diego
154155
2
?
30690
1
?
381630
?
Los Angeles
189225
?
San Diego
160095
?
?
349320
この問合わせでは、PIDの次元にまたがって、次の4つの異なるレベルのグループを計算します。
  • countyおよびPIDごと(グループ1~4)。
  • PIDのみ(グループ5と6)。
  • countyのみ(グループ7と8)。
  • 何もなし(グループ9)。すべてのCountyおよびPIDにわたって売上高(sale)を集約します。

nullは、欠落した情報ではなく空のセットを表わすのに使用されています。Nullは、示されているグループ分けレベルでレポートされない情報を意味しており、sales_view基本テーブルから欠落している情報を意味するわけではありません。