2011-01-19 7 views
4

私はSSISについてあまりよく知らないので、私はこれについてできる限り多くのことを捜した。私が得ることができるどんな助けにも本当に感謝しています。フラットファイルソースのSSISにWHERE句機能はありますか?

私はSSISパッケージをビルドしています。フラットファイルソースから特定のデータセットのみを挿入したいだけです。 WHERE句を使用して特定のデータのみを取得する方法はありますか?

たとえば、このクエリをデータフロータスクにするにはどうすればよいですか。

INSERT INTO #TempTable (Column1, Column2) 
SELECT Column1, Column2 
FROM TEXTFILESOURCE 
WHERE Column1 <> 'ABC' 

これはデータフロータスクによって達成できますか?

答えて

10

AFAIKこれを行うことができるフラットファイルソースタスクには何もありませんが、その設定とデータが流れたら、条件付き分割を使用してWhere条件と同じロジックを使用して行をフィルタリングできますあなたの質問に。

+0

私は、Conditional SplitがほとんどCASE WHEN文であるという印象を受けました。このフィルタを使用してデータを完全に削除することはできますか?オブジェクト名はWHERE 1、ExpressionはColumn1 <> 'ABC'になりますか? – iamtheratio

+0

はい、不要な行は、処理する必要のない別のタスク(行カウントタスクなど)に送信できます。次に、関心のある行の処理を続行します。一致しない行がデフォルトの出力フローに出力されるため、条件は1つのみ必要です。 – grapefruitmoon

+0

それはトリックでしたが、構文を正しく取得するためにSSIS表現言語についてもう少し学ばなければなりませんでした。もう一度ありがとう、私はそれを感謝します! – iamtheratio

関連する問題