この例では、OLAP機能も指定するSELECT文でのEXPAND ON句の使用方法を示します。この場合、指定されたOLAP機能はRANKです。RANK機能の詳細については、<Teradata Vantage™ - SQL関数、式、および述部、B035-1145>を参照してください。
まず、以下のようにplayer_historyテーブルを作成します。
CREATE SET TABLE player_history ( player_id INTEGER, duration PERIOD(DATE), grade CHARACTER(1)) PRIMARY INDEX (player_id);
player_historyテーブルには、以下の行が含まれます。
player_id | Duration | grade |
1000 | 2007-06-03, 2007-07-03 | A |
1000 | 2007-07-03, 2007-08-03 | B |
1000 | 2007-08-03, 2007-09-03 | C |
1001 | 2007-07-03, 2007-08-03 | A |
1001 | 2007-08-03, 2007-09-03 | D |
1001 | 2007-09-03, 2007-10-03 | E |
次のSELECT文は、選択リスト内でRANK OLAP機能を指定します。
SELECT playerid, BEGIN(expd), RANK(grade ASC) AS a, grade FROM player_history WHERE player_id = 1000 QUALIFY a < 3 EXPAND ON duration AS expd BY ANCHOR MONDAY;
この問合わせは、以下のような応答セットを返します。
player_id | BEGIN(expd) | a | grade |
1000 | 2007-06-04 | 1 | A |
1000 | 2007-06-11 | 1 | A |
1000 | 2007-06-18 | 1 | A |
1000 | 2007-06-25 | 1 | A |
1000 | 2007-07-02 | 1 | A |
1000 | 2007-07-09 | 2 | B |
1000 | 2007-07-16 | 2 | B |
1000 | 2007-07-23 | 2 | B |
1000 | 2007-07-30 | 2 | B |