SSIS 中的模糊分组转换用于将输入错误的数据替换为正确的数据。例如,如果有 98 人将国家名称输入为 India,而有两人输入为 Indi,则模糊分组转换会将 Indi 替换为 India。
在我们开始配置 SSIS 模糊分组转换之前,让我们先看看它的某些重要属性。
- 此 SSIS 模糊分组转换使用分组技术来替换源数据中的错误单词,并将其更正为正确的单词。
- 此转换允许我们仅使用 DT_WSTR 和 DT_STR 数据类型列进行模糊匹配,精确匹配可应用于除 DT_TEXT、DT_NTEXT 和 DT_IMAGE 之外的任何数据类型。
- 它在运行时在 SQL Server 数据库中创建临时表和索引。
- 此转换将仅使用 OLE DB 连接管理器来建立连接,以存储临时表和索引。
- 要配置转换,您必须为输入列选择匹配类型(模糊或精确)。
提示:SSIS 中的模糊分组转换有一个输入和一个输出。它不支持错误输出。
此转换与模糊查找转换相同。但是,SSIS 模糊分组转换不需要任何参考表来更正数据。它将使用分组技术来检查输入错误的单词(输入错误)并进行更正。
SSIS 中的模糊分组转换示例
在此示例中,我们将向您展示如何配置 SSIS 模糊分组转换以更正输入错误的单词(输入错误)。
我们将用于此模糊分组转换的数据是

步骤 1:打开 BIDS,将数据流任务从工具箱拖到控制流,并将其重命名为 SSIS 中的模糊分组转换。

双击它,SSIS 将打开数据流选项卡。有关更多转换>> 点击此处。
步骤 2:从工具箱将 OLE DB 源、模糊分组转换拖放到数据流区域。

步骤 3:双击数据流区域中的 OLE DB 源。它将打开连接管理器设置,并提供选择表或空间来编写我们的语句的选项。

在这里,我们选择 Employees 数据库作为源数据库,将 [Fuzzy Source] 作为表。
步骤 4:单击“列”选项卡以验证列。在此选项卡中,您可以取消选中不需要的列。

步骤 5:右键单击 SSIS 模糊分组转换,这将打开“编辑器”窗口进行配置。
我们必须在“连接管理器”选项卡中配置 OLE DB 连接管理器设置。模糊分组转换将在该源内创建临时表和索引以进行操作。

步骤 6:我们必须在“列”选项卡中配置匹配类型。您必须选择要作为模糊匹配类型分组的列,以及其他列作为精确匹配。对于此 SSIS 模糊分组转换示例,国家名称是字符串,我们希望在此列中查找错误值。因此,将匹配类型更改为模糊,而 Cid 是 Int 值,因此匹配类型为精确。

配置模糊分组转换时,有两个参数很重要。它们是数字和比较标志。
比较标志
从下面的屏幕截图,您可以看到其中的可用选项。
- 忽略大小写:如果选中此选项,模糊分组将忽略大小写。XYZ 和 xyz 将相同。
- 忽略假名类型:SSIS 模糊分组的此选项将忽略日语平假名和片假名之间的区别。
- 忽略非空格字符:如果选中此选项,模糊分组将忽略变音符号和字符之间的区别。
- 忽略字符宽度:如果选中此选项,模糊分组将忽略单字节和双字节字符之间的区别。
- 忽略符号:模糊分组将忽略字母和符号(空格、标点符号、货币符号和数学符号)之间的区别。例如,*xy 被视为与 xy 相同。
- 将标点符号排序为符号:模糊分组将所有标点符号(撇号和连字符除外)排在字母之前。例如,.xyz 将排在 xyz 之前。

数字
在此选项中,我们在比较列数据时必须指定开头和结尾数字的重要性。例如,如果前导数字很重要,“93 New Lands Street”将不会与“99 New lands Street”分组。
| 值 | 描述 |
|---|---|
| 两者皆无 | 在分组时忽略开头和结尾位置的数字。 |
| 前导 | 在分组时不会忽略开头和结尾位置的数字。 |
| 尾随 | 在分组时忽略结尾位置的数字。 |
| 前导和尾随 | 在分组时不会忽略开头和结尾位置的数字。 |

步骤 7:在“高级”选项卡中,我们必须配置相似度阈值。相似度阈值范围在 0 到 1 之间,其中 1 是精确匹配。SSIS 模糊分组转换编辑器提供了一个滑块来在 0 和 1 之间调整相似度。如果相似度阈值接近 1,源列应更准确地匹配参考数据。
在此示例中,我们正在对国家名称进行模糊分组并查找模糊匹配。如果我们给出 0.76 的相似度阈值,字符串列值应匹配 76% 以上。只有这样,它才会被视为有效记录。

SSIS 模糊分组转换除了现有列之外,还会生成附加列,它们是:
- 输入键列名:为输入键列提供唯一名称。key_in是默认名称。
- 输出键列名:为输出键列提供唯一名称。key_Out是默认名称。
- 相似度得分列名:为相似度得分列提供唯一名称。_score 是介于 0 和 1 之间的值。它将指示输入行与规范行的相似度。
目前,我们将其保留为默认值,然后单击“确定”以完成模糊分组转换的配置。现在,将 OLE DB 目标拖放到数据流区域。
步骤 8:现在,我们必须提供目标的服务器、数据库和表详细信息。因此,双击 OLE DB 目标并提供所需信息。

在这里,我们选择SQL Server 中的数据库作为我们的目标数据库,将 [Fuzzy Grouping Transformation Output] 表作为我们的目标表。
步骤 9:单击“映射”选项卡以检查源列是否已准确映射到目标列。

步骤 10:单击“确定”以完成 SSIS 模糊分组转换包的设计。让我们运行该包。

评论已关闭。