csv - 我们可以比较多个输入文件的列以在 SSIS 中派生一个新列吗
问题描述
我正在尝试根据不同输入文件中提供的列创建派生列,但不幸的是,当我尝试将 Raw_File_1 与派生列映射时,我不断收到错误消息。错误如下所示:
无法创建连接器。目标组件没有任何可用于创建路径的输入。
我的目标是能够将 Raw_File_1 和 Map_File_1 连接到派生列并生成一个新列。
如果有人可以给我任何建议,那就太好了!!
我有源文件和参考文件都是平面文件。我的源文件有 a 列、b 列和 c 列,我的参考文件有 d 列、e 列和 f 列。
如果 a=column d 和 b=column f 列,那么我想将 c 列填充为与 f 列相同的值。如何在 SSIS 中进行这种分析或查找
解决方案
根据您对问题的评论,您希望根据参考文件中的匹配数据来扩充现有数据。
您的 SSIS 包的核心将如下所示
在第一个数据流中,我们将从 map_file_1 获取数据并加载到“原始”文件中。
我像这样配置我的原始文件目标
当包运行时,它将使用参考数据填充该特殊格式文件。这很重要,因为您可以使用数据库或原始文件作为查找源。
最后,我们开始工作!查找组件的平面文件源。在该查找的第一个选项卡中,确保将连接类型从默认的“OLE DB 连接管理器”更改为“缓存连接管理器”
在 Connection 选项卡中,单击 以创建新的 CCM 并使用上一步中生成的原始文件。
将列 A 映射到 D 和 B 到 E(假设数据类型匹配)。单击列 F 和部件中的复选框Lookup Operation
,将 C 替换为该值。
最后的想法
这将是一个区分大小写的查找。如果事情在参考文件中没有匹配,它就会爆炸。这可能不是您想要的,因此将查找转换配置为不这样做;)
如果你想要更多的话,我写过关于使用 Excel 填充缓存的博客http://billfellows.blogspot.com/2011/11/using-excel-in-ssis-lookup.html
推荐阅读
- c++ - 复制构造函数的空体
- python - 我正在使用 django 框架做电子商务网站。我想要发布并获得相同的视图,因为我需要从同一页面添加品牌和列表
- python - 如何在 docker 内的 redis 中进行 set/get 工作?
- java - 如何在不使用 Collections.sort 方法的情况下按字母顺序排列这个 ArrayList?
- swagger - 如何将 Swagger 的默认“响应内容类型”更改为“application/json”?
- javascript - 时间选择器禁止在手机上的字段中输入
- gitlab - 如何在 Gitlab 上查看文件的所有历史版本?
- ibm-cloud - 在 dropsolve 中带有回调的 docplex
- javascript - 使用地图获取属性是否禁用
- if-statement - 我不想写 60 个 'IF' 命令