我试图基于不同输入文件中提供的列创建派生列,但是不幸的是,当我尝试将我的Raw_File_1与派生列进行映射时,我不断收到错误消息。错误看起来像这样: < / p>
无法创建连接器。 目标组件没有任何可用的输入可用于创建路径。
我的目标是能够将Raw_File_1和Map_File_1都连接到“派生列”并生成一个新列。
如果有人可以给我任何建议,那就太好了!
我的源文件和参考文件都是平面文件。我的源文件有a列,b列和c列,而我的参考文件有d列,e列和f列。
如果列a =列d和列b =列f,那么我想将列c填充为与列f相同的值。如何在SSIS中进行这种分析或查找
答案 0 :(得分:1)
您的问题不清楚,我将尝试提出一些建议:
您可以使用“缓存转换”组件和“缓存连接管理器”来实现:
然后,您需要使用合并联接或联合所有组件:
答案 1 :(得分:1)
根据我在问题中打过的评论,您希望基于参考文件中的匹配数据来扩充现有数据。
您的SSIS软件包的核心看起来像这样
在第一个数据流中,我们将从map_file_1提取数据并加载到“原始”文件中。
我这样配置我的原始文件目标
包运行时,它将用参考数据填充该特殊格式的文件。这很重要,因为您可以使用数据库或原始文件作为查找源。
最后,我们开始工作!查找组件的平面文件源。在该查找的第一个标签中,请确保将连接类型从默认的“ OLE DB连接管理器”更改为“缓存连接管理器”
在“连接”选项卡中,单击以创建一个新的CCM并使用上一步中生成的原始文件。
将列A映射到D,将列B映射到E(假设数据类型匹配)。单击F列上的复选框,然后在Lookup Operation
部分中,用该值替换C。
这将区分大小写。如果在参考文件中没有匹配项,它将崩溃。那可能不是您想要的,所以将Lookup转换配置为不这样做;)
如果您想要更多单词http://billfellows.blogspot.com/2011/11/using-excel-in-ssis-lookup.html
,我曾写过一篇关于使用Excel填充缓存的博客。