适用于:SQL Server
重要
SQL Server 2025 (17.x) 预览版 中删除 了 Data Quality Services (DQS)。 我们继续支持 SQL Server 2022(16.x)和早期版本中的 DQS。
本主题描述如何在 Data Quality Services (DQS) 的知识库中生成匹配策略。 您可以通过对示例数据运行“匹配策略”活动在 DQS 中准备匹配过程。 在此活动中,在策略中创建和测试一个或多个匹配规则,然后发布知识库以使匹配的规则可供公开使用。 知识库中只能有一个匹配策略,但该策略可以包含多个匹配规则。
创建匹配规则分为三个阶段:一个映射过程,您可以在其中确定数据源并将域映射到列;一个匹配策略过程,您可以在其中创建一个或多个匹配规则并单独测试每个匹配规则;以及一个匹配结果过程,您可以在其中一起运行所有匹配规则;如果您对结果感到满意,则将该策略添加到知识库。 将在“匹配策略”活动向导的单独页面上执行上述每个过程,这使您可以在不同页面之间来回移动,重新运行过程,并结束特定的匹配策略过程和返回到过程的相同阶段。 在一起测试所有规则之后,如果需要,您可以返回到 “匹配策略” 页,调整单个规则,再次单独测试此规则,然后返回到 “匹配结果” 页面以再次同时运行所有规则。 DQS 向您提供有关源数据、匹配规则和匹配结果的统计信息,使您能够针对匹配策略制定明智的决策,从而优化此策略。
开始之前
先决条件
如果源数据在 Excel 文件中,则必须在 Data Quality Client 计算机上安装 Microsoft Excel。 否则,您在映射阶段中将无法选择 Excel 文件。 由 Microsoft Excel 创建的文件可以具有 .xlsx、.xls 或 .csv 扩展名。 如果使用 64 位版本的 Excel,则仅支持 Excel 2003 文件 (.xls);而不支持 Excel 2007 或 2010 文件 (.xlsx)。 如果您使用的是 64 位版本的 Excel 2007 或 2010,则将文件另存为 .xls 文件或 .csv 文件,或者改而安装 32 位版本的 Excel。
安全性
权限
您必须对 DQS_MAIN 数据库具有 dqs_kb_editor 或 dqs_administrator 角色,才能创建匹配策略。
如何设置匹配规则参数
创建匹配规则是一个迭代过程,您将在其中输入各种因子来确定一个记录是否与另一个记录匹配。 您可以在表中输入任何域的条件。 当 DQS 对两条记录执行匹配时,它将比较字段中已映射到匹配规则中所含域的值。 DQS 分析规则中每个字段的值,然后使用在规则中为每个域输入的因子来计算最终匹配分数。 如果所比较的两条记录的匹配分数大于最低匹配分数,则认为这两个字段是匹配的。
您在匹配规则中输入的因子包括以下内容:
- 权重:对于规则中的每个域,输入一个数字权重,用于确定如何将该域的匹配分析与规则中每个其他域的匹配分析进行比较。 权重指示该字段的分数对两条记录之间的总匹配分数的贡献。 分配给每个源字段的计算分数将汇总在一起以获得这两条记录的综合匹配分数。 对于不是先决条件的每个字段(相似性为“精确”或“类似”),将权重设置为 10 到 100 之间。 不属于先决条件的各域的权重之和必须等于 100。 如果值是先决条件,则权重设置为 0 且无法更改。 
- 相似性为“精确”:如果两条不同记录的相同字段中的值必须完全相同,其值才能被视为匹配,则选择 “精确” 。 如果完全相同,则该域的匹配分数将设置为“100”,DQS 将使用此分数以及规则中其他域的分数来确定总匹配分数。 否则,该域的匹配分数将设置为“0”,并将继续处理规则直至下一个条件。 如果您为某个数字域设置了一个匹配规则并选择 “类似”,则可以按百分比或整数格式输入容差。 对于日期类型的域,如果您选择 “类似”,则可以按天、月或年(整数)格式输入容差;对于日期域,没有百分比容差。 如果您选择 “精确”,则没有此选项。 
- 相似性为“类似”:如果两条不同记录的相同字段中的两个值即使不完全相同,也能被视为匹配,则选择 “类似” 。 当 DQS 运行规则时,它将计算该域的匹配分数,并将使用此分数以及规则中其他域的分数来确定总匹配分数。 字段值之间的最低相似性为 60%。 如果两条记录的某个字段的计算匹配分数低于 60,则相似性分数自动设置为 0。 如果您为某个数字字段设置了一个匹配规则并选择 “类似”,则可以按百分比或整数格式输入容差。 如果您为某个日期字段设置了一个匹配规则并选择 “类似”,则可以输入数字容差。 
- 先决条件:选择 “先决条件” 可指定两条不同记录的同一个字段中的值必须返回 100% 匹配,否则,这些记录将不会被视为匹配且忽略规则中的其他子句。 当选择 “先决条件” 时,将删除域的权重字段,以便您无法定义域的权重。 您必须重置一个或多个域的权重,以便权重之和等于 100。 先决条件域不参与记录匹配分数。 记录匹配分数是通过比较其“相似性”设置为“类似”或“精确”的字段中的值来确定的。 当您将某个字段设为前提条件时,该域的“相似性”会自动设置为“精确”。 
最低匹配分数是一个阈值,当等于或超过此阈值时,两条记录会被视为匹配(记录的状态被设置为“匹配”)。 以“1”为增量输入整数值,或者单击向上键或向下键以“10”为增量增大或减小值。 最小值为 80。 如果匹配分数低于 80,则两条纪录被视为不匹配。 您不能在此页中更改最低匹配分数范围。 匹配分数的最小值为 80。 但是,如果您是 DQS 管理员,则可以在管理页内更改最低匹配分数。
创建匹配规则是一个迭代过程,因为你可能需要更改规则中域的相对权重、域的相似性或先决条件属性或规则的最小匹配分数才能实现你需要的结果。 您还可能发现您需要创建多个规则,将运行其中的每条规则来创建匹配分数。 只用一条规则就要获得您所需的结果可能有点困难。 多个规则将提供所需匹配的不同视图。 如果有多条规则,则您可能能够在每条规则中包括更少的域,对每个域使用更高权重并获得更好的结果。 如果数据不太准确和不太完整,您可能需要更多的规则以找到所需的匹配项。 如果数据比较准确和完整,您需要较少的规则。
通过事件探查,您可以全面了解完整性和唯一性。 同时考虑完整性和唯一性。 使用完整性和唯一性数据来确定应给匹配过程中的字段什么权重。 如果字段具有很高的唯一性,则在匹配策略中使用此字段可能会减少匹配结果,这样,您可能需要将该字段的权重设置为相对小的值。 如果某列的唯一性较低,但完整性也低,则您可能不希望对该列加入某个域。 如果唯一性较低,但完整性较高,则您可能希望包括该域。 某些列(如性别)在本质上唯一性就低。 有关详细信息,请参阅 “事件探查器”和“结果”选项卡。
第一步:启动匹配策略
你在 Data Quality Client 应用程序的知识库管理区域中执行匹配策略活动。
- 启动数据质量客户端。 有关执行此操作的信息,请参阅运行 Data Quality Client 应用程序。 
- 在 Data Quality Client 主屏幕中,单击“新建知识库”以便在新知识库中创建匹配策略。 为知识库输入名称,输入描述,并根据需要设置 “创建知识库自” 。 单击活动的 “匹配策略” 。 单击“下一步”继续。 
- 单击 “打开知识库” 以便在现有知识库中创建或修改匹配策略。 选择知识库,选择 “匹配策略”,然后单击 “下一步”。 还可以单击 “最近的知识库”下的某个知识库。 如果您打开当正在处理匹配策略时关闭的知识库,您将进入关闭匹配策略活动时所在的阶段(由知识库表中或 “最近的知识库” 下知识库名称中的 “状态”列所指示)。 如果您打开包括匹配策略且已完成的知识库,则将进入 “匹配策略” 页。 如果您打开不包括匹配策略但已完成的知识库,则将进入 “映射” 页。 
映射阶段
在映射阶段中,您确定要为其创建匹配策略的数据源,并将源列映射到域以使域可用于匹配策略活动。
- 在 “映射” 页上,要为数据库创建策略,请将 “数据源” 保留为 SQL Server,在 “数据库”中选择您要为其创建策略的数据库,然后在 “表/视图”中选择表或视图。 源数据库必须与 Data Quality Server 位于同一 SQL Server 实例中。 否则,该数据库不会显示在下拉列表中。 
- 若要在 Excel 电子表格中为数据创建策略,请为 “数据源” 选择 “Excel 文件”,单击 “浏览” 并选择 Excel 文件,然后根据需要使 “将第一行用作标头” 保留选中状态。 在 “工作表”中,在 Excel 文件中选择要成为数据源的工作表。 要选择 Excel 文件,必须在数据质量客户端计算机上安装 Microsoft Excel。 否则,“浏览”按钮将不可用,您将在此文本框之下获得通知,说明未安装 Microsoft Excel。 
- 在 “映射”下,为 “源列”选择一个字段,然后单击 “创建域” 图标。 
- 在 “映射”下,为 “源列”选择数据源中的一个字段,然后选择对应的域。 对匹配过程中使用的所有域重复此过程。 根据需要,通过单击 “创建域” 或 “创建复合域”来创建域。 - 注意 - 仅当源数据类型在 DQS 中受支持且与 DQS 域数据类型匹配时,才能在创建匹配策略时将源数据映射到 DQS 域。 有关 DQS 中支持的数据类型的信息,请参阅 DQS 域支持的 SQL Server 和 SSIS 数据类型。 
- 单击“加号 (+)”控件可向映射表中添加行,单击“减号 (-)”控件可删除行。 
- 单击 “预览数据源” 可查看您选择的 SQL Server 表或视图中的数据,或查看您所选 Excel 工作表中的数据。 
- 单击 “查看/选择复合域” 以查看知识库中可用复合域的列表,并根据需要选择用于映射的复合域。 
- 单击 “下一步” 以进入匹配策略阶段。 - 注意 - 单击 “关闭” 可保存匹配项目的这一阶段,并返回到 DQS 主页。 下次打开此项目时,它将从同一阶段启动。 单击 “取消” 可结束匹配活动,不保存所做的工作,并返回到 DQS 主页。 
匹配策略阶段
创建匹配规则,并在“匹配策略”页中分别对它们进行测试。 当您在 “匹配策略” 页上测试匹配规则时,您将看到一个匹配结果表,其中显示 DQS 已为所选规则确定的结果集。 此表显示群集中的每条记录以及映射域值和匹配分数,以及群集的初始透视记录。 您还可以总体显示匹配过程的事件探查数据,每个匹配规则中的条件,以及分别显示针对每个匹配规则的结果的统计信息。 您可以对您想要的主规则数据进行筛选。
有关匹配规则的工作原理的详细信息,请参阅 如何设置匹配规则参数。
- 在 “匹配策略” 页上,单击 “创建匹配规则” 图标。 
- 输入规则名称和说明。 
- 如果您想使匹配要求更严格,则提高 “最低匹配分数” 的值。 有关最低匹配分数的详细信息,请参阅 如何设置匹配规则参数。 
- 单击 “添加新的域元素” 图标。 
- 选择要为其输入规则值的域或复合域。 - 注意 - 仅当复合域中的每个单一域都被映射到源列时,才可以选择复合域。 
- 对于 “相似性”,如果两条不同记录的相同字段中的两个值即使不完全相同,也能被视为匹配,则选择 “类似” 。 相似性为“精确”:如果两条不同记录的相同字段中的值必须完全相同,其值才能被视为匹配,则选择 “精确” 。 (有关详细信息,请参阅 如何设置匹配规则参数。) 
- 对于“权重”,输入一个值,该值确定域的匹配分数对两条记录的总匹配分数的贡献。 - 注意 - 当您为复合域定义权重时,您可以为复合域中的每一单一域输入不同的权重(在这种情况下,并未向复合域提供单独的权重),或者,您可以为复合域输入一个权重,其中并未向复合域中的单一域提供单独权重。 
- 选择 “先决条件” 可指定两条记录的对应字段中的值必须返回 100% 匹配,否则,这些记录将不会被视为匹配且忽略规则中的其他子句。 如果 “相似性” 为 “类似”,则它将更改为 “精确”,并且将删除此权重,因为匹配必须为 100%。 
- 对将成为匹配规则一部分的所有其他域重复步骤 4 到步骤 8。 确保规则中所有域的权重之和等于 100。 
- 从下拉列表中选择 “重叠的群集” ,以便在执行匹配后显示透视记录以及所有群集的后续记录,即使各组群集具有共用记录也不例外。 选择 “不重叠的群集” ,以便在执行匹配后显示具有共用记录作为单个群集的群集。 
- 单击 “自源重新加载数据” ,以便在运行匹配策略后,将数据源中的数据复制到临时表并对其重新编制索引。 单击 “针对以往数据执行” 以运行匹配策略,而不将数据复制到临时表和对数据重新编制索引。 对于第一次运行匹配策略,或如果您在“映射” 页中更改映射,然后在出现的弹出菜单中按 “是” ,则 “针对以往数据执行” 为禁用状态。 在这两种情况下,您都必须重新编制索引。 如果匹配策略未发生变化,则不需要重新编制索引。 “针对以往数据执行”有助于改善性能。 
- 单击 “开始” 可为所选规则运行匹配过程。 完成此过程后,此表将针对群集中的每条记录显示记录 ID、群集编号以及数据列(包括匹配规则中所没有的数据列)。 群集中的透视行被认为是重复数据消除过程中存活的最佳候选行。 群集中的每个附加行都被认为是重复的行;结果表中会提供其匹配分数(与透视记录比较)。 群集编号与此群集中的透视记录的记录 ID 相同。 
- 您可以处理 “匹配结果” 表中的数据,如下所示: - 在 “筛选器”中,选择 “匹配” 可显示所有匹配行及其分数。 匹配结果表中不显示不视为匹配的行(其匹配分数低于最低匹配分数)。 选择 “不匹配” 将显示所有不匹配的行,而不显示匹配行。 
- 在“百分比”下拉列表框中,从下拉列表中以“5”为增量选择一个百分比。 匹配结果表中将显示其匹配分数大于或等于该百分比的所有行。 
- 如果您在匹配结果表中双击某个记录,DQS 将显示 “匹配分数详细信息” 弹出菜单,其中显示透视记录和源记录(及其所有字段中的值)、它们之间的分数以及记录匹配的深化信息。 深化信息显示透视记录和源记录的每个字段中的值,以便您可以比较它们,并显示每个字段对这两个字段的总体匹配分数所贡献的匹配分数。 
 
- 在 “事件探查器” 和 “匹配结果” 选项卡上查看统计信息,以确保您获得所需的结果。 有关详细信息,请参阅 “事件探查器”和“结果”选项卡。 
- 如果需要更改规则,则在规则编辑器中进行更改,然后单击 “重新启动”。 - 注意 - 首次分析完成后, “启动” 按钮将变为 “重新启动” 按钮。 如果前一分析的结果尚未保存,则单击 “重新启动” 将导致先前的数据丢失。 当分析正在运行时,不要离开页面,否则分析进程将被终止。 
- “匹配结果” 选项卡显示最后两次运行规则的统计信息。 如果您使用不同的设置多次运行了匹配规则,则比较当前规则和先前规则的统计信息。 如果您发现先前规则的结果更好,则单击 “还原上一个规则” 以还原上一个规则的条件,同时将规则返回其先前编辑之前的状态。 当前规则条件将会丢失。 这样,您就可以根据最后两次匹配运行来优化策略,同时减少优化匹配策略所需的时间。 
- 如果您要向匹配策略添加另一条规则,请从步骤 1 开始重复此操作。 
- 单击 “下一步” 以进入匹配结果阶段。 
匹配结果阶段
您可以在 “匹配结果” 页上一次测试所有匹配规则。 在此之前,您可以指定规则测试运行可确定重叠或非重叠群集。 如果您多次运行规则,则可以针对从源中重新加载的数据或针对先前数据执行此规则。
当您在 “匹配结果” 页上测试匹配规则时,您将看到一个匹配结果表,其中显示 DQS 已为所有规则确定的群集。 此表显示群集中的每条记录以及映射域值和匹配分数,以及群集的初始透视记录。 您还可以总体显示匹配规则的事件探查数据,每个匹配规则中的条件,以及显示针对所有匹配规则的结果的统计信息。
- 在 “匹配结果” 页上,从下拉列表中选择 “重叠的群集” ,以便在执行匹配后显示透视记录以及所有群集的后续记录,即使各组群集具有共用记录也不例外。 选择 “不重叠的群集” ,以便在执行匹配后显示具有共用记录作为单个群集的群集。 
- 单击 “自源重新加载数据” ,以便在运行匹配策略后,将数据源中的数据复制到临时表并对其重新编制索引。 单击 “针对以往数据执行” 以运行匹配策略,而不将数据复制到临时表和对数据重新编制索引。 对于第一次运行匹配策略,或如果您在“映射” 页中更改映射,然后在出现的弹出菜单中按 “是” ,则 “针对以往数据执行” 为禁用状态。 在这两种情况下,您都必须重新编制索引。 如果匹配策略未发生变化,则不需要重新编制索引。 “针对以往数据执行”有助于改善性能。 
- 单击 “启动” 以针对已定义的所有规则运行匹配过程。 “匹配结果” 表将针对群集中的每条记录显示记录 ID、群集编号以及数据列(包括匹配规则中所没有的数据列)。 群集中的前导记录是随机选定的。 (运行匹配项目时,通过选中“导出”页面的幸存者规则确定幸存者记录)群集中的每个附加行被视为重复的;其匹配分数(与透视记录相比)在结果表中提供。 
- 您可以处理 “匹配结果” 表中的数据,如下所示: - 在 “筛选器”中,选择 “匹配” 可显示所有匹配行及其分数。 匹配结果表中不显示不视为匹配的行(其匹配分数低于最低匹配分数)。 选择 “不匹配” 将显示所有不匹配的行,而不显示匹配行。 
- 在“百分比”下拉列表框中,从下拉列表中以“5”为增量选择一个百分比。 匹配结果表中将显示其匹配分数大于或等于该百分比的所有行。 
- 如果您在匹配结果表中双击某个记录,DQS 将显示 “匹配分数详细信息” 弹出菜单,其中显示透视记录和源记录(及其所有字段中的值)、它们之间的分数以及记录匹配的深化信息。 深化信息显示透视记录和源记录的每个字段中的值,以便您可以比较它们,并显示每个字段对这两个字段的总体匹配分数所贡献的匹配分数。 
 
- 在 “事件探查器” 和 “匹配结果” 选项卡上查看统计信息,以确保您获得所需的结果。 单击 “匹配规则” 选项卡以查看每个规则的域设置是什么。 有关详细信息,请参阅 “事件探查器”和“结果”选项卡。 
- 如果您并非对所有规则的结果感到满意,则单击 “返回” 以返回到 “匹配策略” 页,根据需要修改一个或多个规则,返回 “匹配结果” 页,然后单击 “重新启动”。 - 注意 - 分析完成后, “启动” 按钮将变为 “重新启动” 按钮。 如果前一分析的结果尚未保存,则单击 “重新启动” 将导致先前的数据丢失。 
- 如果您对所有规则的结果感到满意,则单击 “完成” 以完成匹配策略过程,然后单击以下选项之一: - 是 - 发布知识库并退出:将发布该知识库,以供当前用户或他人使用。 将不锁定该知识库,该知识库(在知识库表中)的状态将设置为空,且域管理和知识发现活动都将可用。 您将返回到“打开知识库”屏幕。 
- 否 - 保存对知识库所做的工作并退出:将保存工作,该知识库将保持锁定状态,且知识库的状态将设置为“在工作”。 域管理和知识发现活动都将可用。 您将返回到主页。 
- 取消 - 停留在当前屏幕上:系统将关闭弹出窗口并使你返回“域管理”屏幕。 
 
- 单击 “关闭” 可保存所做的工作,并返回到 DQS 主页。 知识库的状态将显示字符串“匹配策略 - ”和当前状态。 如果当您在 “匹配结果” 屏幕中时单击了 “关闭” ,则状态将显示“匹配策略 - 结果”。 如果在“匹配策略”屏幕中时单击了“关闭”,则状态将显示“匹配策略 - 匹配策略”。 单击 “关闭”后,若要执行 “知识发现” 活动,您必须返回 “匹配策略” 活动,单击 “完成”,然后单击 “是” 发布该知识库,或单击 “否” 保存对该知识库所做的工作并退出。 - 注意 - 如果您当匹配过程正在运行时单击 “关闭” ,则当您单击 “关闭”时匹配过程将不会终止。 您可以重新打开知识库,并查看过程是否仍在运行,如果已完成,则显示结果。 如果未完成此过程,屏幕将显示进度。 
- 单击 “取消” 可终止“匹配策略”活动,不保存所做的工作,并返回到 DQS 主页。 
跟进:创建匹配策略之后
在创建匹配策略后,可以基于包含匹配策略的知识库运行匹配项目。 有关详细信息,请参阅 运行匹配项目。
探查器和结果选项卡
“事件探查器”和“结果”选项卡包含针对“匹配策略”页和“匹配结果”页的统计信息。
“事件探查器”选项卡
单击 “事件探查器” 选项卡以显示源数据库以及策略规则中包含的每个字段的统计信息。 当运行策略规则时,将更新统计信息。
有关如何解释以下统计信息的详细信息,请参阅 如何设置匹配规则参数。
源数据库统计信息包括:
- 记录:源数据库中的记录总数 
- 值总计:数据源的各字段中的值的总数 
- 新值:自上次运行后的新值总数及其占总体的百分比 
- 唯一值:字段中唯一值的总数及其占总体的百分比 
- 新的唯一值:字段中新唯一值的总数及其占总体的百分比 
字段统计信息包括:
- 字段名称 
- 域名 
- 新:域中的新值数以及新值与现有域相比的百分比 
- 唯一:字段中唯一记录的数目及其占总数的百分比 
- 完整性:针对每个匹配操作映射的每个源字段的完整性 
匹配策略通知
对于匹配策略活动,以下条件会导致发送通知:
- 在所有记录中该字段为空;建议您从映射消除它。 
- 字段完整性分数很低;您最好从映射中消除它。 
- 字段中的所有值都无效;您应该验证映射以及域规则与字段内容的相关性。 
- 字段中的有效值为低级别;您应该验证映射以及域规则与字段内容的相关性。 
- 此字段中存在高级别的唯一性。 在匹配策略中使用此字段可以减少匹配结果。 
“匹配结果”选项卡
单击 “匹配结果” 选项卡以显示匹配策略规则运行和前一次规则运行的统计信息。 如果您使用不同参数多次运行同一个规则,则匹配结果表将显示这两次运行的统计信息,使您能够对其进行比较。 如果您需要,您还可以还原前一个规则。
统计信息包括:
- 数据库中的记录总数 
- 数据库中的匹配记录总数 
- 数据库中不被视为重复的记录数 
- 发现的群集数目 
- 平均群集大小(重复记录数除以群集数目) 
- 群集中重复项的最小数量 
- 群集中重复项的最大数量