2016-11-04 22 views
1

2つのデータフロータスクを持つSSISパッケージを作成したいとします。今日の日付が月の開始日である場合は、1つのデータフロータスク(実際には月末報告があります)を実行し、別のデータフロータスク(週次レポート)を実行する必要があります。誰でも私にこれを達成する方法を教えてもらえますか?If else条件に基づいてSSISでデータフロータスクを選択的に実行

おかげで、

+0

あなたはこれまでに何をしていますか?月の日(整数)を保持する変数を作成し、式タスクhttps://msdn.microsoft.com/en-us/library/hh213137.aspxにドロップすることをお勧めします。月の日を取得します。それがスタートです。あなたはこれですべてgoogleで作業することができます –

答えて

0

1)は、パッケージスコープにデータ型ブールの変数を作成します。この例では私の名前はstartDateです。

enter image description here

2)は、二つの先例に制約のあるスクリプトタスクを作成します。 1つは月の初めにデータフロータスクに行き、もう1つは偽であるときです。 enter image description here

3)編集スクリプトタスクおよびReadWriteVariablesへstartDate変数を追加します。 enter image description here

4)「スクリプトの編集」のクリックし、メソッドに次のように挿入します(あなたがパッケージを実行するとき、それが正しく動作することを確認するメッセージボックスのコメントを解除することができます)して保存することを忘れないでください:その後

DateTime value = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1); 

     if (DateTime.Today == value) 
     { 
      Dts.Variables["User::startDate"].Value = bool.Parse("True"); 
     } 
      Dts.Variables["User::startDate"].Value = bool.Parse("False"); 

     //MessageBox.Show(Dts.Variables["User::startDate"].Value.ToString()); 

5)、あなたがしなければならないすべては、各DFTに行く優先順位制約を編集しています。 enter image description here

関連する問題