我发现在BIDS工具(SSIS 2008R2)的网格列中编辑表达式对于除最简单表达式之外的任何内容都是非常不切实际的。
例如,请参阅“派生列转换编辑器”中的“表达式”列。
BIDS或第三方工具中是否有“高级”编辑器,它为可用的列/变量/函数提供相同的拖放功能,但在文本编辑器组件中有足够的屏幕空间,如我实际上可以看到我正在构建的表达式吗?
我遇到过这个问题:http://expressioneditor.codeplex.com/。虽然这看起来很棒,但据我所知,它并没有真正融入BIDS。
这个http://bidshelper.codeplex.com/包括上面的编辑器,但似乎只能使它可用于在控制流级别内找到的表达式(不在我最需要它的数据流中)。
在编辑表达式时,右键单击上下文菜单中还提供了一个“开放式IME”选项 - 但我找不到合适的输入法编辑器。
任何帮助表示赞赏!
答案 0 :(得分:1)
没有什么能阻止您创建变量并使用富表达式编辑器(控制流程一)来构建表达式,然后将它们粘贴到数据流所需的位置。您需要更新对列引用的变量引用,但这只是一个简单的开关。
也许一个例子会解释(评论很糟糕)。右(@ [User :: MyVariable],4)vs RIGHT([MyColumn],4)我将使用控制流表达式编辑器使我的表达式适用于静态数据,然后在我满意时修复为使用列与逻辑。
我遵循的经验法则是,如果一个Expression占用了窗口可以显示的更多空间,那么我应该看一下使用脚本组件来执行逻辑或者串联添加多个派生列组件并构建我的表达式零碎。