2016-10-05 3 views
0

私は動的に変化しているファイルのセットを持っています、私はそれらを更新するためにforeachループコンテナを使用しています。変数を使用してSSISを使用して新しい列にファイル名をロードするにはどうすればよいですか?

私はファイルパスに2つの変数(1)とソースフォルダに2つの変数を使用しています。

ファイル名を別の列に挿入する必要があります。

ファイル名は:

XYZ0000_2016_04_Application_Report.csv 
ABC0000.10_2016_04_Application_Report.csv 

私は新しい列にのみXYZ0000を挿入する必要があります。

どのように変数の助けを借りてそれを行うのですか?だから、

+0

そして、2番目のファイル:ABC0000.10またはABC0000? –

+0

***ファイル名を別の列に更新する必要があります。***文字通りどういう意味ですか? –

+0

私は** XYZ0000_2016_04_Application_Report.csv **のような複数のファイルを持っていますが、私は** XYZ0000 **ファイルの一部だけを必要とし、** XYZ0000 **を新しい列に入れる必要があります。どのように私は変数を使用してそれを行うのですか? –

答えて

1

を:これは、あなたからあなたのファイル名を記録していると仮定し

LEFT(@[User::FileName],FINDSTRING("_", @[User::FileName], 1))

をループコンテナ

+0

@Dave:助けてくれてありがとう、そのクエリは私を助けました。あなたは別のもので私を助けてくれますか? - 私は** D:¥SGIP¥test1¥XYZ0000_2016_04_Application_Report **のようなファイルパスを持っています。**このファイルパスに対してどうすればいいですか? –

+0

@mirsafiファイル名だけを変数に保存していませんか?あなたが私が答えたなら、その状況でも働くでしょう。 – iamdave

1

、この試してください:あなたのデータフローにDerived Column変換を追加し、次の式を使用

SELECT SUBSTRING(yourfield, 0, CHARINDEX('_', yourfield)) 
FROM yourtable 
+0

助けてくれてありがとうジョー。しかし、私はSSISパッケージでそれを行う必要があります。 –

+0

どのようにすればいいですか?変数を使用してSSISを通じてファイル名を列にロードしますか? –

関連する問題