使用 DQS(内部)知识清理数据

适用于: SQL Server

本主题介绍如何在 Data Quality Services (DQS) 中使用数据质量项目清理你的数据。 可以使用已在 DQS 中针对高质量数据集生成的知识库对您的源数据执行数据清理。 有关详细信息,请参阅 生成知识库

执行数据清理分为四个阶段: “映射”阶段:您确定要清理的数据源,并将其映射到知识库中的所需域; “计算机辅助清理”阶段:DQS 将知识库应用于要清理的数据,然后对源数据建议/进行更改; “交互式清理”阶段:数据专员可以分析数据更改,然后接受/拒绝数据更改;最后是 “导出”阶段:您可以导出清理的数据。 将在清理活动向导的单独页面上执行上述每个过程,这使您可以在不同页面之间来回移动,重新运行过程,并结束特定的清理过程和返回到过程的相同阶段。 DQS 向您提供有关源数据和清理结果的统计信息,使您能够针对数据清理制定明智的决策。

开始之前

先决条件

  • 您必须已为清理活动指定了适当的阈值。 有关此操作的信息,请参阅 有关此操作的信息,请参阅

  • 在 Data Quality Server 中必须有你要针对其比较和清理源数据的 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_kb_operator 角色,才能执行数据清理。

创建清理数据质量项目

您必须使用数据质量项目来执行数据清理操作。 创建清理数据质量项目:

  1. 按照主题 创建数据质量项目中的步骤 1-3 执行操作。

  2. 在步骤 3.d 中,选择 “清理” 活动。

  3. 单击 “创建” 以创建清理数据质量项目。

这将创建一个清理数据质量项目,并打开清理数据质量向导的 “映射” 页。

映射阶段

在映射阶段中,您可以指定到要清理的源数据的连接,并将源数据中的列映射到选定知识库中的相应域。

  1. 在清理数据质量向导的 “映射” 页上,选择要清理的源数据: SQL Server“Excel 文件”

    1. SQL Server:如果您已将源数据复制到 DQS_STAGING_DATA 数据库,则选择此数据库作为源数据库,然后选择包含您的源数据的适当表/视图。 否则,请选择您的源数据库和相应的表/视图。 你的源数据库必须与“数据库”下拉列表中提供的 Data Quality Server 位于同一 SQL Server 实例中。

    2. Excel 文件:单击 “浏览”,然后选择包含要清理的数据的 Excel 文件。 要选择 Excel 文件,必须在数据质量客户端计算机上安装 Microsoft Excel。 否则, “浏览” 按钮将不可用,您将在此文本框之下获得通知,说明未安装 Microsoft Excel。 此外,如果 Excel 文件的第一行包含标头数据,则让 “将第一行用作标头” 复选框保留为选中状态。

  2. “映射”下,将源数据中的数据列映射到知识库中的适当域,操作步骤为:从 “源列” 列中的下拉列表选择某一源列,然后从同一行的 “域” 列中的下拉列表选择一个域。 重复此步骤,将源数据中的所有列映射到知识库中的相应域。 如果需要,您可以单击 “添加列映射” 图标以将行添加到映射表。

    注意

    仅当源数据类型在 DQS 中受支持且与 DQS 域数据类型匹配时,才能将源数据映射到 DQS 域来执行数据清理。 有关支持的源数据类型的信息,请参阅 DQS 域支持的 SQL Server 和 SSIS 数据类型

  3. 单击 “预览数据源” 图标可查看您选择的 SQL Server 表或视图中的数据,或查看您所选 Excel 工作表中的数据。

  4. 单击 “查看/选择复合域” 以查看映射到某个源列的复合域列表。 此按钮仅当至少有一个复合域映射到源列时才可用。

  5. 单击 “下一步” 以进入计算机辅助清理阶段(“清理” 页)。

计算机辅助清理阶段

在计算机辅助清理阶段中,您可以运行自动化的数据清理过程,该过程根据知识库中的映射域分析源数据并建议/进行数据更改。

  1. 在数据质量向导的 “清理” 页中,单击 “启动” 以运行计算机辅助清理过程。 DQS 基于指定的域值级别,使用高级算法和置信度来针对所选知识库分析您的数据,然后清理数据。 有关如何在 DQS 中执行计算机辅助清理的详细信息,请参阅数据清理中的计算机辅助清理

    重要

    • 数据分析完成后, “启动” 按钮将变为 “重新启动” 按钮。 如果前一分析的结果尚未保存,则单击 “重新启动” 将导致先前的数据丢失。 当分析正在运行时,不要离开页面,否则分析进程将被终止。

    • 如果在创建清理项目之后更新和发布了用于清理项目的知识库,则单击 “启动” 将提示您是否使用最新的知识库来进行清理。 这通常在以下情况下发生:您使用一个知识库创建了数据质量项目,中途通过单击 “关闭”关闭了清理项目,然后后来重新打开了此数据质量项目来执行清理。 在此期间,已更新和发布在清理项目中使用的知识库。

      同样,如果在最后一次运行计算机辅助清理之后更新和发布了用于清理项目的知识库,则单击 “重新启动” 将提示您是否使用最新的知识库来进行清理。

      在这两种情况下,单击 “是” 将使用最新的知识库来进行计算机辅助清理。 此外,如果当前映射与更新的知识库之间存在任何冲突(如域被删除或更改了域数据类型),则此消息也提示您修复当前映射以使用更新的知识库。 单击 “是” 将进入 “映射” 页,您可以在其中修复映射,然后继续执行计算机辅助清理。

  2. 在计算机辅助清理阶段,您可以通过单击 “事件探查器” 选项卡切换事件探查器,以查看实时数据事件探查和通知。 有关详细信息,请参阅 事件探查器统计信息

  3. 如果您对结果感到不满意,则单击 “返回” 以返回到 “映射” 页,根据需要修改一个或多个映射,返回 “清理” 页,然后单击 “重新启动”

  4. 在完成计算机辅助清理过程之后,单击 “下一步” 以进入交互式清理阶段(“管理和查看结果” 页)。

交互式清理阶段

在交互式清理阶段中,您可以看到 DQS 所建议的更改,并可以通过批准或拒绝更改来确定是否实现更改。 在 “管理和查看结果” 页的左侧窗格中,DQS 显示您在映射阶段的早期映射的所有域的列表,以及源数据中在计算机辅助清理阶段针对每个域分析的值数目。 在 “管理和查看结果” 页的右侧窗格中,根据是否遵守域规则、语法错误规则和高级算法,DQS 使用 “置信度”对五个选项卡下的数据进行分类。 置信度指示 DQS 对更正或建议的确信程度,它基于以下域值:

  • 自动更正阈值:置信度在此阈值之上的所有值都由 DQS 自动更正。 但是,数据专员可以在交互式清理过程中覆盖该更改。 可以在 “配置” 屏幕的 “常规设置” 选项卡中指定自动更正阈值。 有关详细信息,请参阅 配置清理和匹配活动的阈值

  • 自动建议阈值:置信度在此阈值之上但在自动更正阈值之下的所有值都建议为替换值。 DQS 仅在数据专员批准之后才进行更改。 可以在 “配置” 屏幕的 “常规设置” 选项卡中指定自动建议阈值。 有关详细信息,请参阅 配置清理和匹配活动的阈值

  • 其他:对于自动建议域值之下的所有值,DQS 都不进行任何更改。

根据置信度,值将显示在以下五个选项卡上:

Tab 说明
建议 显示 DQS 找到其建议值的域值,这些值的置信度高于 “自动建议阈值”,但是低于 “自动更正阈值”。

建议值显示在 “更正为” 列中(与原始值相对照)。 您可以针对上部网格中的某个值单击 “批准”“拒绝” 列中的单选按钮,以接受或拒绝对于该值所有实例的建议。 在此情况下,接受的值移到 “已更正” 选项卡,被拒绝的值移到 “无效” 选项卡。
新建 显示 DQS 没有足够的信息的有效域,因此无法映射到任何其他选项卡。此外,此选项卡还包含可信度低于“自动建议阈值”,但足以标记为有效的值。

如果您认为值是正确的,请单击 “批准” 列中的单选按钮。 否则,请单击 “拒绝” 列中的单选按钮。 接受的值转移到“正确”选项卡,然后拒绝的值转移到“无效”选项卡。对于该值,还可以手动键入正确的值,以替换“更正为”列中的原始值,然后单击“批准”列中的单选按钮接受更改。 在此情况下,值将移到 “已更正” 选项卡。
“无效” 显示在知识库的域中被标记为无效的域值或不符合域规则要求的值。 此选项卡还包含任何其他四个选项卡中被用户拒绝的值。

但是,如果您认为值是正确的,请单击 “批准” 列中的单选按钮。 接受的值转移到“正确”选项卡。对于该值,还可以手动键入正确的值,以替换“更正为”列中的原始值,然后单击“批准”列中的单选按钮接受更改。 在此情况下,值将移到 “已更正” 选项卡。
“已更正” 显示 DQS 在自动化清理过程中更正的域值,因为 DQS 发现了置信度高于自动更正阈值的针对该值的更正。

更正的值显示在 “更正为” 列中(与原始值相对照)。 默认情况下,对于该值选中 “批准” 列中的单选按钮。 如果需要,您可以拒绝建议的更正,操作步骤为:单击 “拒绝” 列中的单选按钮将其移到 “无效” 选项卡;或者在 “更正为” 列中手动键入正确的值,然后单击 “批准” 列中的单选按钮以接受更改,并将其移到 “已更正” 选项卡。
正确 显示已发现为正确的域值。 例如,与域值匹配的值。 此选项卡还包含这样的值:用户通过单击 “新建”“无效” 选项卡中 “批准” 列中的单选按钮批准的值。

默认情况下,对于每个值选中了 “批准” 列中的单选按钮。 但是,如果您认为此选项卡中的值不正确,可以针对该值单击 “拒绝” 列中的单选按钮将其移到 “无效” 选项卡,或者在 “更正为” 列中手动键入正确的值作为该值的替代值,然后单击 “批准” 列中的单选按钮以接受更改,并将其移到 “已更正” 选项卡。

以交互方式清理数据:

  1. 在清理数据质量向导的 “管理和查看结果” 页上,单击左侧窗格中的某个域名。

  2. 查看五个选项卡下的域值,如前面所述采取适当的操作。

    • 右上窗格显示所选域中每个值的以下信息:原始值、实例(记录)数目、用于指定其他(正确)值的框、置信度(对于 “正确” 选项卡下的值不显示此项)、DQS 对值采取措施的原因以及批准和拒绝该值的更正和建议的选项。

      提示

      您可以通过分别单击 “批准所有字词”“拒绝所有字词” 图标,在右上窗格中批准或拒绝所选域中的所有值。 此外,您还可以在所选域中右键单击某个值,然后在快捷菜单中单击 “全部接受”“全部拒绝”

    • 下部窗格显示右上窗格中选择的域值在单独出现时的情形。 显示以下信息:用于指定其他(正确)值的框、置信度(对于 “正确” 选项卡下的值不显示此项)、DQS 对值采取措施的原因、批准和拒绝该值的更正和建议的选项以及原始值。

  3. 如果您创建某个域时为该域启用了 “拼写检查器” 功能,则会针对标识为潜在错误的此类域值显示红色波浪下划线。 将为整个值显示下划线。 例如,如果“New York”错误地拼写为“Neu York”,则拼写检查器将在“Neu York”之下(而不仅仅是“Neu”)显示红色下划线。 如果您右键单击该值,您将看到建议的更正。 如果建议数目超过 5 个,则可以在上下文菜单中单击 “更多建议” ,以查看剩余建议。 当显示错误时,建议值是针对整个值的替换值。 例如,在上一个示例中,“New York”将显示为一个建议,而不仅仅显示“New”。 您可以选择其中一项建议,或将值添加到要针对该值显示的字典中。 值以用户帐户级别存储在字典中。 当您从拼写检查器上下文菜单中选择一项建议时,所选建议将添加到 “更正为” 列中。 但是,如果您在 “更正为” 列中选择一项建议,则列中的值将替换为所选建议。

    默认情况下,交互式清理阶段中启用了拼写检查器功能。 您可以在交互式清理阶段中禁用拼写检查器,步骤为:单击 “启用/禁用拼写检查器” 图标,或者右键单击域值区域,然后在快捷菜单中单击 “拼写检查器” 。 若要再次启用它,请按相同方式操作。

    注意

    拼写检查器功能仅可用于上部窗格中(域值)。 此外,您不能对复合域启用或禁用拼写检查器。 默认情况下,如果复合域中的子域属于字符串类型并且为其启用了拼写检查器功能,则在交互式清理阶段将启用拼写检查器功能。

  4. 在交互式清理阶段,您可以通过单击 “事件探查器” 选项卡切换事件探查器,以查看实时数据探查和通知。 有关详细信息,请参阅 事件探查器统计信息

  5. 您检查所有域值后,单击 “下一步” 进入导出阶段。

导出阶段

在导出阶段中,您指定用于导出清理数据的参数:导出的内容和位置。

  1. 在清理数据质量向导的 “导出” 页上,选择用于导出已清理数据的目标类型: SQL Server“CSV 文件”“Excel 文件”

    重要

    如果您使用的是 64 位版本的 Excel,则无法将已清理的数据导出到 Excel 文件;只能导出到 SQL Server 数据库或 .csv 文件。

    1. SQL Server:如果您希望在 DQS_STAGING_DATA 中导出数据,则选择它作为目标数据库,然后指定将创建来存储导出数据的表名。 否则,如果您希望将数据导出到其他数据库,则选择另一个数据库,然后指定将创建来存储导出数据的表名。 你的目标数据库必须与“数据库”下拉列表中提供的 Data Quality Server 位于同一 SQL Server 实例中。

    2. CSV 文件:单击 “浏览”,然后指定您要将清理数据导出到其中的 .csv 文件的名称和位置。 您还可以键入 .csv 文件的文件名以及要导出清理数据的完整路径。 例如“c:\ExportedData.csv”。 该文件保存在安装了 Data Quality Server 的计算机上。

    3. Excel 文件:单击 “浏览”,然后指定您要将清理数据导出到其中的 Excel 文件的名称和位置。 您还可以键入 Excel 文件的文件名以及要导出清理数据的完整路径。 例如“c:\ExportedData.xlsx”。 该文件保存在安装了 Data Quality Server 的计算机上。

  2. 选中 “标准化输出” 复选框,以便基于为域选择的输出格式对输出进行标准化。 例如,将字符串值更改为大写,或使单词的首字母变为大写。 有关指定域的输出格式的信息,请参阅 设置域属性 中的 “将输出格式设置为”列表。

  3. 接下来,选择数据输出:只是导出清理的数据,还是导出清理的数据以及清理信息。

    • 仅数据:单击此单选按钮以便只导出清理的数据。

    • 数据和清理信息:单击此单选按钮以导出每个域的以下数据:

      • <Domain>_Source:域中的原始值。

      • <Domain>_Output:域中已清理的值。

      • <Domain>_Reason:为更正此值指定的原因。

      • <Domain>_Confidence:所有更正的字词的置信度。 置信度显示为与相应的百分比值相等的十进制值。 例如,95% 的置信度将显示为 .9500000。

      • <Domain>_Status:数据清理后域值的状态。 例如, “建议”“新建”“无效”“已更正”“正确”

      • 记录状态:除了对每个映射域具有状态字段 (<DomainName>_Status) 之外,“记录状态”字段还显示记录的状态。 如果记录中的任何域状态为“新建”或“正确”,则“记录状态”设置为“正确”。 如果记录中的任何域状态为“建议”、“无效”或“已更正”,则“记录状态”设置为各自的值。 例如,如果记录中的任何域状态为“建议”,则“记录状态”设置为“建议”

        注意

        如果您使用引用数据服务来进行清理操作,则还可以导出有关域值的其他数据。 有关详细信息,请参阅使用引用数据(外部)知识清理数据

  4. 单击 “导出” 可将数据导出到选定的数据目标。 如果选定:

    • SQL Server 作为数据目标,将在选定数据库中创建具有指定名称的新表。

    • “CSV 文件”作为数据目标,将在 Data Quality Server 计算机上创建具有你之前在“CSV 文件名”框中指定的文件名的 .csv 文件。

    • “Excel 文件”作为数据目标,将在 Data Quality Server 计算机上创建具有你之前在“Excel 文件名”框中指定的文件名的 Excel 文件。

  5. 单击 “完成” 以关闭数据质量项目。

Profiler Statistics

“事件探查器” 选项卡提供的统计信息指示源数据的质量。 事件探查可帮助您评估数据清理活动的效用,并且您可能能够确定数据清理可在多大程度上提高数据的质量。

“事件探查器” 选项卡按字段和域提供以下有关源数据的统计信息:

  • 记录:对于数据清理活动分析了数据示例中的多少条记录

  • 正确的记录:多少条记录被认为是正确的

  • 更正的记录:更正了多少条记录

  • 建议的记录:建议了多少条记录

  • 无效记录:多少条记录无效

字段统计信息包括:

  • 字段:源数据中字段的名称

  • :映射到字段的域的名称

  • 更正的值:已更正的域值的数目

  • 建议值:建议的域值数目

  • 完整性:针对每个清理活动映射的每个源字段的完整性

  • 准确性:针对每个清理活动映射的每个源字段的准确性

DQS 事件探查提供两种数据质量维度: “完整性”(提供数据的范围)和 “准确性”(数据可用于目标用途的程度)。 如果事件探查告知您字段的完整性相对较差,则您最好从数据质量项目的知识库中删除该字段。 事件探查不会提供有关复合域的可靠完整性统计信息。 如果您需要完整性统计信息,请使用单一域而非复合域。 如果您要使用复合域,则最好使用用于进行事件探查的单一域创建一个知识库以确定完整性,并使用复合域创建另一个域来执行清理过程。 例如,使用复合域时,事件探查可能对于地址记录显示 95% 的完整性,但对于其中一列(例如,邮政编码列)可能显示高得多的不完整性。 在此示例中,您可能要衡量单一域的邮政编码列的完整性。 事件探查可能为复合域提供可靠的准确性统计信息,因为您可以同时为多个列衡量准确性。 此数据的值位于复合聚合中,因此,您最好使用复合域来衡量准确性。

如果您未使用引用数据服务,则准确性统计信息可能需要更多的解释。 如果您使用引用数据服务来进行数据清理,则您在准确性统计信息方面将获得一定的信任级别。 有关使用引用数据服务清理数据的详细信息,请参阅使用引用数据(外部)知识清理数据

清理通知

下列条件将导致通知:

  • 字段没有更正或建议。 您可能希望从映射中将其删除,首先运行知识发现,或使用另一个知识库。

  • 字段只有很少的更正或建议。 您可能希望从映射中将其删除,首先运行知识发现,或使用另一个知识库。

  • 字段的准确性级别很低。 您可能需要验证映射,或考虑先运行知识发现。

有关事件探查的详细信息,请参阅 DQS 中的数据事件探查和通知