これらの関数を使用する前に、データベース初期化プログラム(DIP)ユーティリティを実行し、DIPSYSFNCスクリプトを実行する必要があります。DIPALLまたはDIPSYSFNCスクリプトにより、カレンダ関数がSYSLIBデータベース内に作成されます。DIPユーティリティの詳細は、<Teradata Vantage™ - データベース ユーティリティ、B035-1102>を参照してください。
ビジネス カレンダ関数と同じ名前の、ユーザーが開発したUDFを持っている場合は、ビジネス カレンダ関数を呼び出す前に、ユーザーが開発したUDFを通常のUDF検索パスから削除する必要があります。現在のデータベースでビジネス カレンダ関数を見つけられない場合、Teradata DatabaseはTD_SYSFNLIBデータベースで関数を検索します。この代わりに、完全修飾した構文(TD_SYSFNLIB.calendar_function_name)を使用して、カレンダ関数を呼び出すこともできます。
例: 全四半期の第1週の累積売上げ
この例では、全四半期の第1週の品目の累積売上げを検索します。カレンダ設定ごとに結果を表示します。
SEL Item_Code, SUM(Sale_Amt) FROM Sales_Tbl WHERE WeekNumber_Of_Quarter(Sale_Date) = 1 GROUP BY Item_Code;
SET SESSION calendar = Teradata;
Item_Code | SUM(Sale_Amt) |
101 | 225 |
102 | 120 |
SET SESSION CALENDAR = Compatible;
Item_Code | SUM(Sale_Amt) |
101 | 245 |
102 | 100 |
SET SESSION calendar = ISO;
Item_Code | SUM(Sale_Amt) |
101 | 135 |
102 | 30 |
Sales_Tbl | ||
Item_Code | Sale_Amt | Sale_Date |
101 | 10 | 2008-12-30 |
101 | 15 | 2008-12-31 |
101 | 20 | 2009-01-01 |
101 | 25 | 2009-01-02 |
101 | 30 | 2009-01-03 |
101 | 35 | 2009-01-04 |
101 | 40 | 2009-01-05 |
101 | 45 | 2009-01-06 |
101 | 50 | 2009-01-07 |
101 | 55 | 2009-01-08 |
102 | 10 | 2009-01-01 |
102 | 20 | 2009-01-03 |
102 | 30 | 2009-01-05 |
102 | 40 | 2009-01-07 |
102 | 50 | 2009-01-09 |
Jan 2009 Calendar | ||||||
S | M | T | W | T | F | S |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |