2

こんにちは、私はssisパッケージと、ファイル名の今日の日付と時刻を与える次の式を持っています

@[User::FilePath]+ "Bloomberg_"+REPLACE((DT_STR, 20, 1252)
(DT_DBTIMESTAMP)@[System::StartTime], ":", "")+".xls"

\\public\\Bloomberg_Upload\\Bloomberg_2013-07-05 005738.xls

平日のみ次のように、1 つ前の日付を取得する必要があります。

\\public\\Bloomberg_Upload\\Bloomberg_2013-07-04 005738.xls

これどうやってするの ?

月曜日 -

月曜日にパッケージを実行する場合、日付は金曜日にする必要があります。

私を導いてください

私はこのようにしようとしています -

(DT_I4)DATEPART("weekday",@[System::StartTime]) ==2 ? 
Replace((DT_STR, 20, 1252)(DATEADD( "D", -3,@[System::StartTime])),":","-") + ".xls" :
Replace((DT_STR, 20, 1252)(DATEADD( "D", -1,@[System::StartTime])),":","-") + ".xls"
4

3 に答える 3

1

私があなたを正しく理解していれば、前日の日付を取得する方法を見つけようとしているだけで、前日の日付がたまたま週末だった場合は、最後の平日を取得します。

あなたのコードはほぼ正しく、平日の定数を変更する必要がありました。

このコードは、月曜日かどうかを確認し、月曜日の場合は 3 日を引き、それ以外の場合は 1 を引きます。

@[User::FilePath]+"Bloomberg_"+((DT_I4)DATEPART("weekday",@[System::StartTime]) ==1 ? 
Replace((DT_STR, 20, 1252)(DATEADD( "D", -3,@[System::StartTime])),":","") + ".xls" :
Replace((DT_STR, 20, 1252)(DATEADD( "D", -1,@[System::StartTime])),":","") + ".xls")
于 2014-06-12T09:20:11.227 に答える