2013-10-09 26 views
1

我發現在BIDS工具(用於SSIS 2008R2)中的網格列內編輯表達式對於除最簡單表達式之外的任何內容都是非常不切實際的。BIDS SSIS 2008R2有更好的表達式編輯器嗎?

例如,請參閱「派生列轉換編輯器」中的「表達式」列。

在BIDS或第三方工具中是否存在「高級」編輯器,該工具爲可用的列/變量/函數提供相同的拖放功能,但在文本編輯器組件中具有足夠的屏幕空間這樣我才能看到我正在建造的表情?

我碰到過這個:http://expressioneditor.codeplex.com/。雖然這看起來不錯,但我可以告訴它它並沒有真正整合到BIDS中。

這個http://bidshelper.codeplex.com/包含上述編輯器,但似乎只是使其可用於控制流級別內找到的表達式(不在我最需要的數據流內)。

在編輯表達式時,右鍵上下文菜單中還有一個逗弄的「Open IME」選項,但我找不到適合的輸入法編輯器。

任何幫助表示讚賞!

+0

沒有什麼能夠阻止你創建變量並使用豐富的表達式編輯器(控制流程一)來建立你的表達式,然後將它們粘貼到數據流所需的位置。你需要更新列引用的變量引用,但這是一個簡單的開關。 – billinkc

+0

@billinkc揭露我在這裏缺乏SSIS知識 - 你是否說變量(在控制流級創建)有效地充當「函數」?即它們a)可以引用數據流中可用的列,並且b)每次引用它們時都會逐行重新評估它們?如果是這樣 - 這是一個非常棒的工作。 – Sepster

+0

也許一個例子會解釋(評論吸)。 'RIGHT(@ [User :: MyVariable],4)'vs'RIGHT([MyColumn],4)'我將使用控制流表達式編輯器來使我的表達式適用於靜態數據,然後*修復*當我滿意邏輯 – billinkc

回答

1

沒有什麼能阻止您創建變量並使用富表達式編輯器(控制流程一)來構建表達式,然後將它們粘貼到數據流的所需位置。你需要更新列引用的變量引用,但這是一個簡單的開關。

也許一個例子會解釋(評論吸)。 RIGHT(@ [User :: MyVariable],4)vs RIGHT([MyColumn],4)我將使用控制流表達式編輯器使我的表達式適用於靜態數據,然後修復在滿意的時候處理列與邏輯。

我經歷的經驗法則是,如果表達式需要更多的空間,窗口可以顯示,那麼我應該看看要麼使用腳本組件來執行邏輯或添加多個派生列組件,並建立我的表達式零碎。

+0

@siride :-) 1.這是客戶使用的,2。它是免費的MSSQL - 你得到了你所付出的(真的 - 對於一個免費的工具,這是非常好的,但不是沒有它的gremlins)。 – Sepster

+0

+1解決方法/技巧,謝謝。重申你的最後一段 - 我厭惡放棄編寫「基本」功能的腳本,以避免本質上是GUI的缺點,而不是SSIS本身的缺點。例如'COLUMN_1 +「|」+ COLUMN_2 +「|」 + ... COLUMN_n'確實不應該需要專用的.NET代碼恕我直言。但是,是的,我有例如下降到腳本將字符串拆分成單獨的列(即在2008R2'TOKENIZE'函數不存在的情況下),而不是將此過程分解爲多個派生列步驟。 – Sepster