これを実現するための可能な解決策は次のとおりです。
SSISパッケージで、4つのパッケージスコープ変数を宣言します。
TodaysDate-タイプの変数DateTime
。DateTimeに設定すると、変数には現在の日付と時刻が割り当てられます。これを変更して、選択した日付に設定することもできます。
OffsetValue-タイプの変数Int32
。これはオフセット値を保持します。この例では、オフセット値を日数で選択しています。そこで、値を7に設定しました。
OffsetDate-タイプの変数DateTime
。この変数を選択し、F4を押してプロパティを表示します。プロパティEvaluateAsExpressionをに変更しますTrue
。Expresstionを値に設定しますDATEADD( "dd", @[User::OffsetValue] , @[User::TodaysDate] )
。この式は、オフセット値を変数TodaysDateに追加して、新しいOffsetDateを取得します。
FormattedDate-タイプの変数String
。この変数を選択し、F4を押してプロパティを表示します。プロパティEvaluateAsExpressionをに変更しますTrue
。式を次の値に設定します
RIGHT((DT_STR,4,1252)YEAR(DATEADD("dd",0, @[User::OffsetDate] )),4) +""+
RIGHT("0" +(DT_STR,4,1252)MONTH(DATEADD("dd",-1,@[User::OffsetDate])),2)+""+
RIGHT("0" +(DT_STR,4,1252)DAY(DATEADD("dd",0,@[User::OffsetDate])) ,2)
唯一の違いは、選択した日付(この場合は変数の値)をフォーマットしていることですOffsetDate
。この変数は、すでにオフセットされている日付を保持します。
以下のスクリーンショットはサンプルを示しています。変数TodaysDateはに設定され11/28/2011
ます。変数に7日を追加すると、フィールドOffsetDateがに設定され12/05/2011
ます。ご覧のとおり、変数FormattedDateは、新しくオフセットされた日付をにフォーマットします20111205
。
この例は、変数TodaysDateを削除することにより、 1つ少ない変数で実行することもできます。日、月、年など、タイプごとに1つのオフセット変数を設定することもできます。それはすべて自分の好みに帰着します。

これがあなたが探していたものであり、おそらくこれを達成する方法のアイデアをあなたに与えることを願っています。