2011-12-03 10 views
0

私は区切りの問題をしばらく調査しましたが、ここでは便利なコードを取りますが、一緒に置くことはできません。 SSISで文字列を単語で解析しようとしていますが、VBスクリプトコンポーネントのヘルプが必要です。 私は次のdeliminatorに私の列データを区切る必要があります:私はこのSSIS vbscript for word delimits

ID説明
1リンゴのようなテーブルを持っている ""、 "AND"、 "OR"、 "**" ANDオレンジ、タンジェリン
2アボカドORワカモレとパイナップルの果実OR
3スイカ* *メロン

そして、私はこの

などのデータを解析したいです3210

ID説明
1リンゴ
1オレンジ
1タンジェリン
2アボカド
2ワカモレ
2パイナップル
2フルーツ
3スイカ
3メロン

ありがとうございました。言葉で文字列をPARTEするために

+0

VBSCRIPTよりもはるかに複雑なものが必要です。 1つの行を取り込み、3つ以上の行を生成する必要があるため、スクリプトコンポーネントが必要です。 –

+0

何が問題なのですか? 1つの入力行に対して複数の出力行を書き込む...郵便番号あなたはすでに持っています。 –

答えて

0

splitreplaceのenought組み合わせです:

(私はあなたがIDを取る方法を知っていると仮定)

split(
    replace(
    replace (
    replace(Description, "AND", ","), 
    "OR", "," 
    ), 
    "**", "," 
), "," 
) 

これはあなたのような要素の配列を返しますお問い合わせください:

id = 2 
a=my_previous_functions_combination("avocado OR guacamole AND pineapple OR fruit") 
for each fruit in a 
    do something with id and fruit 
next 

これまでのところ、vbのヘルプ。あなたはSSISで何をしたいのか分かりません:計算されたメンバーですか?名前付きセット?ファクトテーブルを拡張しますか?一部二答えを読む:

第二部分:

をスクリプトを必要とする倍数行の行を変換するには。良い例はSSIS - Script Component, Split single row to multiple rowsの投稿にあります。

+0

これは私の必要性のためにシンプルで完璧です。私がインターネットから廃止したコードは、解析された文字列配列を返していました.SSISに統合するのは難しかったです。ありがとうございました! – ElegantFellow

+0

@ElegantFellow、最終的に解決策は何でしたか?回答の第一部または第二部ですか? – danihp

関連する問題