2011-12-03 50 views
0

我研究了一段時間的分隔問題,並且在這裏和那處拉取有用的代碼,但我無法將它們放在一起。 我想解析SSIS中的字串,我需要幫助VB腳本組件。 我需要我的專欄的數據界定以下deliminator: 「AND」, 「OR」, 「* *」, 「」 我有一個表像這樣用於單詞分隔的SSIS vbscript

ID說明
1蘋果橙子,橘子
2鱷梨或鱷梨和菠蘿或水果
3西瓜* *瓜

我想分析這樣

數據3210

ID說明
1個蘋果
1個橙子
1橘子
2鱷梨
2鱷梨
2菠蘿
2個水果
3西瓜
3冬瓜

謝謝。

+0

您需要比VBSCRIPT複雜得多的東西。您需要一個腳本組件,因爲您需要佔用一行,並生成三行或更多行。 –

+0

究竟是什麼問題?分詞,爲一個輸入行寫多個輸出行...?郵政編碼您已擁有。 –

回答

0

爲了PARTE由詞語串到足夠多的一個splitreplace的組合:

(I假設你知道如何利用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

相關問題