OLAP:CUBE 運算子

以資料驅動的 SQL 決策制定

Irene Ortner

Data Scientist at Applied Statistics

OLAP 簡介

  • OLAP:線上分析處理
  • 聚合資料以獲得整體概觀
    • 計算每位顧客的租片次數。
    • 計算各國各類型電影的平均評分。
  • 產生樞紐分析表呈現聚合結果
以資料驅動的 SQL 決策制定

資料表 rentings_extended

| renting_id | country | genre  | rating |
|------------|---------|--------|--------|
| 2          | Belgium | Drama  | 10     |
| 32         | Belgium | Drama  | 10     |
| 203        | Austria | Drama  | 6      |
| 292        | Austria | Comedy | 8      |
| 363        | Belgium | Drama  | 7      |
| .......... | ....... | .....  | ...... |
以資料驅動的 SQL 決策制定

樞紐分析表:電影租借次數

 

 

以資料驅動的 SQL 決策制定

樞紐分析表與 SQL 輸出

以資料驅動的 SQL 決策制定

GROUP BY CUBE

SELECT country, 
       genre, 
       COUNT(*)
FROM renting_extended
GROUP BY CUBE (country, genre);
| country  | genre  | count |
|----------|--------|-------|
| Austria  | Comedy | 2     |
| Belgium  | Drama  | 15    |
| Austria  | Drama  | 4     |
| Belgium  | Comedy | 1     |
| Belgium  | null   | 16    |
| Austria  | null   | 6     |
| null     | Comedy | 3     |
| null     | Drama  | 19    |
| null     | null   | 22    |
以資料驅動的 SQL 決策制定

評分筆數

SELECT country, 
       genre, 
       COUNT(rating)
FROM renting_extended
GROUP BY CUBE (country, genre);
| country  | genre  | count |
|----------|--------|-------|
| Austria  | Comedy | 1     |
| Belgium  | Drama  | 6     |
| Austria  | Drama  | 2     |
| Belgium  | Comedy | 0     |
| Belgium  | null   | 6     |
| Austria  | null   | 3     |
| null     | Comedy | 1     |
| null     | Drama  | 8     |
| null     | null   | 9     |
以資料驅動的 SQL 決策制定

換你來用 GROUP BY CUBE!

以資料驅動的 SQL 決策制定

Preparing Video For Download...