例: Sys_Calendar.Calendarの使用 - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ ディクショナリ

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-30
dita:mapPath
ja-JP/zzu1512081120577.ditamap
dita:ditavalPath
ja-JP/zzu1512081120577.ditaval
dita:id
B035-1092
Product Category
Software
Teradata Vantage

Calendarシステム ビューでビューを定義することにより、この便利な機能を活用できます。

Calendarに定義するビューでは、Todayビューが便利です。

CREATE VIEW Today AS (
SELECT * FROM Sys_Calendar.Calendar
   WHERE Sys_Calendar.Calendar.calendar_date = DATE
   );

Calendarシステム ビューにより、算術式や集計を簡単に指定できます。この機能は、特に、週、月、年度累計、年などでの集計値を求めることが一般的なOLAP(online analytical processing:オンライン分析処理)環境で活用されます。次に例を示します。

女性用のスポーツウェア部門の全商品アイテムを対象に、今週と先週の売上金額およびその前年同週の売上金額を算出します。

SELECT a2.week_of_calendar, SUM(a1.price)
   FROM Sales a1, CALENDAR a2, Item a3, Department a4, Today a5
   WHERE a1.calendar_date=a2.calendar_date
   AND (a2.week_of_calendar=a5.week_of_calendar
   OR a2.week_of_calendar=a5.week_of_calendar - 1
   OR a2.week_of_calendar=a5.week_of_calendar - 52
   OR a2.week_of_calendar=a5.week_of_calendar - 53
   )
   AND a1.itemID=a3.itemID
   AND a3.classID=a4.classID
   AND a4.classDesc='Women’s Sportswear'
   GROUP BY a2.week_of_calendar
   ORDER BY a2.week_of_calendar;