SSIS:仅针对特定行的模糊分组

时间:2014-04-07 13:01:16

标签: ssis sql-server-2012 fuzzy-comparison

我在Visual Studio 2012中使用SQL Server Integration Services,并尝试使用模糊分组组件查找不同客户引用的类似地址。这是一些示例数据(SQL Fiddle):

    CREATE TABLE [tblAddresses] (
      [AddressId] [int] IDENTITY(1,1) NOT NULL
      ,[AddressName] [nvarchar](20) NOT NULL
      ,[Street] [nvarchar](20) NULL
      ,[ZipCode] [nvarchar](10) NULL
      ,[Town] [nvarchar](20) NULL
      ,[CustomerId] [int] NOT NULL
    )

    INSERT INTO [tblAddresses] (
      [AddressName]
      ,[Street]
      ,[ZipCode]
      ,[Town]
      ,[CustomerId]
    ) VALUES 
    (
      'John Doe'
      ,'1447 Example Street'
      ,'28815'
      ,'Smallville'
      ,1
    ), 
    (
      'Jane Doe'
      ,'1447 Example Str.'
      ,'28815'
      ,'Smallville'
      ,1
    ), 
    (
      'Jim Doe'
      ,'1447 Example Str.'
      ,'28815'
      ,'Smallville'
      ,2
    ), 
    (
      'Jack Domino'
      ,'815 Broadway Blvd.'
      ,'10000'
      ,'Capital City'
      ,2
    ), 
    (
      'Joan Doe'
      ,'1447 Example Street'
      ,'28815'
      ,'Smallville'
      ,3
    )

之前我已经完成了这项工作,没有进一步限制,比较所有行没有问题。但是,今天,我只想比较CustomerId列中具有不同值的行。因此,关于我的样本数据,我对第1行和第2行之间的任何相似性都不感兴趣,也没有对第3行和第4行之间的任何相似性感兴趣。我想知道的是:

  1. 第3行与第1行或第5行重复(或#34;近亲")的可能性有多大?
  2. 第4行与第1行或第5行重复(或#34;近亲")的可能性有多大?
  3. 第5行与第1行或第3行重复(或#34;近亲")的可能性有多大?
  4. 是否有一种方法可以整合"不同的CustomerId值"模糊分组组件中的要求?

    提前致谢。

1 个答案:

答案 0 :(得分:1)

AFAIK组件不支持此功能。

相反,我会使用模糊查找转换。

在Advanced页面上,我将增加每次查找输出的最大匹配数并减小Similarity阈值,然后将结果转储到SQL表中,然后使用不包含CustomerID匹配的WHERE子句查询输出表。