2.
|
ターゲット・システムの UA_Calendar テーブルに、必要な日付の範囲の日付 ID を挿入します。SQL Server 用の以下の例では、1999 年 1 月 1 日から 1999 年 12 月 31 日までのレコードを挿入します。 太字の値を、それぞれ最初と最後の日付を指定する値に置き換えます。
|
|
以下のサンプル・コードは、Campaign のインストールの ddl ディレクトリーにある ac_populate_tables_sqlsvr.sql スクリプトからのものです。データベースが DB2® または Oracle である場合は、ご使用のデータベース・タイプに合った DDL スクリプトからのコードを使用します (DB2® は ac_populate_tables_db2.sql、Oracle は ac_populate_tables_ora.sql)。
|
declare @date_v datetime
set @date_v = '01/01/1999'
set datefirst 7
set dateformat mdy
while @date_v <= '12/31/1999'
begin
insert into UA_Calendar
(Year, FiscalYear, Quarter, FiscalQuarter,
Month,
WeekOfYear,
WeekOfMonth,
DayOfYear, DayOfMonth, DayOfWeek,
ActualDate,
FirstDayOfWeek,
LastDayOfWeek,
DateID) values
(DATEPART(yyyy, @date_v), DATEPART(yyyy, @date_v), DATEPART(q,
@date_v),DATEPART(q, @date_v),
DATEPART(mm, @date_v),
DATEPART(ww, @date_v),
DATEDIFF(dd, DATEADD(dd,-1,DATEADD(ww, DATEDIFF(ww,0,DATEADD(dd,-
(DAY(@date_v)-1),@date_v)), 0)), @date_v)/7 + 1,
DATEPART(dy, @date_v), DATEPART(dd, @date_v), DATEPART(dw, @date_v),
@date_v,
DATEADD(dd, -1, DATEADD(wk, DATEDIFF(wk,0,@date_v), 0)),
DATEADD(dd, 5, DATEADD(wk, DATEDIFF(wk,0,@date_v), 0)),
CAST (CONVERT (varchar(20), @date_v, 112) AS BIGINT))
set @date_v = DATEADD(dd, 1, @date_v)
end
Copyright IBM Corporation 2015. All Rights Reserved.
|