2015-07-20 14 views
0

我在基于销售的环境中工作,我们的数据由'潜在客户'组成。SSIS检查Excel源行将行重定向到'x'字段匹配的行数

比方说,我们记录CompanyName,PhoneNumber,Address1 & PostCode(ZIP)。这些行在模式中使用唯一ID进行播种。

这些线索来自各种来源,并被编译到电子表格中,然后使用SSIS导入到SQL 2012中。

经过验证检查以确定文件是否存在后,我们使用一个由Excel源,派生列,数据转换和最终OLE DB目标组成的简单数据流。

我的要求我确定有一个相对简单的解决方案。我明白我需要做的是第一步。如果源excel文件中的两个或更多字段与目标sql表中的相应字段匹配,我需要从最后一个滚动两个月的数据中获取样本,然后我想重定向到另一个表。

我不确定可以使用哪些组件组合来实现此目的。我相信模糊查找可能不是我正在寻找的,因为我正在寻找精确的字段匹配,我查看了查找组件,但我不确定这是否是要走的路。

任何人都可以请提供一些建议,说明如何尽可能简单地达到最佳效果。

+0

有一种方法可以完成这项任务。只是为了澄清以下问题:您是否确切知道源代码中的哪些字段,以及“上个滚动两个月的数据样本”是什么意思?谢谢 –

+0

是的,公司名称,电话号码,地址1和邮政编码(ZIP)。我们每天都会导入数据,因此我将过去两个月的所有数据作为检查数据集中重复项的标准。只要说这是一个商业规则就够了。我需要检查公司名称和电话号码或公司名称和地址1或公司名称和邮政编码(zip)是否匹配过去两个月中目的地交叉检查数据集。然后将它们评分为相似或重复。我希望这是明确的 – dotnetnewb

+0

我想知道这是否符合我的要求,但我不确定如何实现... http://www.codeproject.com/Articles/31030/Performing-Data-Merge-and-Audit-with -SSIS – dotnetnewb

回答

0

您可以使用查找来检查现有表中的匹配项。但是,实施检查任何两个或更多个字段匹配的要求将会相当复杂。您的表达将是长期的和基本上包含复杂的:

(为可读性使用伪代码)

IIF((A = a和b = B)或(A = A和c = c)或者(b = b和C = c)或者...等等 您要通过导入整个电子表格到一个临时表,并做测试

我会做两列的每个组合现有行检入SQL存储过程,该过程将数据移动到所需的目标表。

+0

谢谢你的回答。该样本不是从我的两个月的数据','样本'是'两个月的数据,我的问题已经有所发展,所以我现在要更新我的问题。 – dotnetnewb

+0

编辑我的答案。 –