2017-02-02 14 views
1

データフロータスクの主なロジックを理解するための助けを求めることができます。私はデータウェアハウスにデータをロードするためにETLを使用しています(ステージングとdwhも同じです)。今、私はremain_qty、Assigned_qtyとin_progress_qtyの正しい数量を必要とする...ETLデータフロータスク - 計算残り

を既存のフィールドでデータを計算するためのタスクを得たが、在庫データで計算する必要があります。 (写真のように)。現在のところ私はこの結果を見ません。それを得ることは素晴らしいことです。 ルックアップがインベントリデータのリストを取得した後、計算プロセスを実行しました。

そして、実際の一時データ、他の検索をご確認ください。私は次のレコードシステムでは、テンポラリテーブルを再クエリし、クエリを実行する必要があると思います。実際のデータ..私は減少量を意味します。レコードごとに記録する。しかし今、この2つのルックアップを見てみると、すべての行で同じ結果が得られます。それは私にとって、テンポラリテーブルはデータフローの内部で再クエリしないことを意味します。計算に他のデータフローを使用しますか?または、レコードによって更新されるこのデータフローの内部に一時テーブルを使用できますか?実際の在庫数をレコードで再クエリするので、
..読んでいただきありがとうございます!

+0

スクリーンショット、達成しようとしていること、これまでに試したこと、なぜ機能していないのかを詳しく説明するため、質問を再フォーマットしてください。あなたがここで尋ねようとしていることを理解することは現在不可能です... – iamdave

+0

申し訳ありません、あなたは正しいです。私は自分の質問を更新しました。ご協力ありがとうございます! – Messersmith

答えて

0

Click here for picture! こんにちはみんなは、私は解決策を見つけたし、ETLプロセスに変更を加えた..私は、データフロータスクを分離し、一時テーブルの上に再計算データにストアドプロシージャを使用していたホープ。次に、次のデータフローは、更新されたデータをtempから照会し、ファクトテーブルを正しい数量と価格で満たすことができます。その時、私は制御フローとデータフロープロセスを学びました。今私は明らかで、アプリは正常に動作しています。ご支援ありがとうございます!

0

私は混乱しましたが、ルックアップ変換を使用して再クエリしたいと思っていたことから、正しいですか?その場合、ルックアップ変換エディタの「一般」タブには、キャッシュモードのオプションがあり、デフォルトでフルキャッシュとしてマークされています。

  1. キャッシュフルデータフロー タスクの内部で何かを行う前に、データベースを一度に照会され、メモリに保存されていることを意味しています。したがって、 データフロータスク内でルックアップ変換を使用しようとすると、 はメモリに保存されたデータのみを使用します。
  2. 部分キャッシュは、 変換を実行する前にいくつかのデータを照会し、そこに見つからなければ データベースに再度クエリを実行します。最後に
  3. は、あなたが データベースごとに単一の行が

を処理している時あなたは、より詳細な情報in this linkを見つけることができますを照会ませキャッシュモード、はありません。

は、それが

+0

あなたのソリューションに感謝します。私はそれを試みましたが、私の問題を解決しません。データフローに問題があるかもしれない私のプロジェクトの部分を見てみてください。上記のpic3を参照してください。 – Messersmith

+0

だから、私は以下の記事を見つけました:[link](http://dbadiaries.com/t-sql-determine-the-difference-in-values-between-columns-in-different-rows)あなたはどう思いますか残存量の計算を実装する唯一の方法はありますか? CTEとは? :)可能であれば、私は可変配列を使うことができるかもしれません。実際の数量でより多くの項目を意味します。 – Messersmith

+0

私はあなたがイメージに持っているロジックに問題はないと思っています。私はSSISの専門家ではありませんが、私にとってはうまく感じられます。たぶん、ある種のパッケージ変数を使用して、データフロータスク内に新しい値を保存して使用していますか?変数はデータフロータスクの最後まで更新されません。それが一つの理由かもしれない。あなたは、あなたが言ったように2つのデータフローでそれらを分けることもできます。 – Mokz

関連する問題