创建复合域

本主题介绍如何在 Data Quality Services(DQS)的知识库中创建复合域。 复合域由一个或多个应用于单个数据字段的单个域组成。 有关复合域的详细信息,请参阅 管理复合域

有两种方法可以创建新的复合域。 第一个是在知识发现活动的 Map 步骤中,当你正在分析数据示例以将知识添加到新的或现有的知识库时。 第二种情况是在域管理活动期间,而不是更改现有域,而是创建一个新的域。 若要创建复合域,必须已创建至少两个单一域才能添加到复合域。 创建新的复合域时,只有那些已经创建但尚未添加到现有复合域的单个域才可用。 单个域不能添加到多个复合域,不能将复合域添加到另一个复合域。

创建复合域后,可以更改复合域的属性、将引用数据服务附加到域、创建跨域规则或创建值关系。 为此,请在“域管理”页的“”列表中选择复合域,然后选择相应的选项卡。

在您开始之前

先决条件

若要创建复合域,必须已创建并打开知识库,并且必须至少创建了两个要添加到复合域的单个域。

安全

权限

必须在DQS_MAIN数据库上具有dqs_kb_editor或dqs_administrator角色才能创建复合域。

在知识发现活动中创建复合域

  1. 启动数据质量客户端。 有关执行此作的信息,请参阅 “运行数据质量客户端应用程序”。

  2. 在“数据质量客户端主屏幕”中,单击“ 打开知识库 ”,然后选择知识库,或单击“ 新建知识库 ”并输入新知识库的属性。

  3. 选择 “知识发现 ”作为活动,然后单击“ 创建 ”以创建新知识库或 打开 以打开现有知识库。

  4. “映射 ”页上,指定与数据源的连接。 有关详细信息,请参阅 执行知识发掘

  5. “映射” 表中,为空行的 “源列” 列从下拉列表中选择一个源列。 确保源列包含由两个现有单一域寻址的复合域。 如果不存在相应的单个域,请单击“ 创建域” 图标。

  6. “映射”表中,从一个空行的“源列”列的下拉列表中选择一个源列。 确保源列包含由两个现有单一域所关联的复合域部分。 如果不存在相应的单个域,请单击“ 创建域” 图标以创建它们。 有关详细信息,请参阅 “创建域”。

  7. 单击“ 创建复合 域”图标。

在域管理活动中创建复合域

  1. 在 Data Quality Services 客户端主页中,单击 “打开知识库 ”,然后选择知识库,或单击“ 新建知识库 ”并输入新知识库的属性。

  2. 选择 “域管理 ”作为活动,然后单击“ 创建 ”以创建新知识库或 打开 以打开现有知识库。

  3. 确保复合域所需的两个或多个单个域存在。 如果没有,请单击“ 创建域 ”图标并创建它们。 有关详细信息,请参阅 “创建域”。

  4. “域管理 ”页上,单击“域”列表上方 的“创建复合域 ”图标。

  5. 输入知识库唯一的名称,以及最多 256 个字符的说明。

  6. “域列表”中,选择将成为复合域的一部分的域,然后单击右箭头将其移动到 复合域表中的“域 ”。

  7. 单击 “确定”

设置复合域属性

  1. 在“ 创建复合域 ”对话框中,输入知识库唯一的名称和最多 256 个字符的说明。

  2. “域列表”中,选择将成为复合域的一部分的域,然后单击右箭头将其移动到 复合域表中的“域 ”。 这是可用于添加到要创建的复合域的单一域的列表。 只有已创建且尚未添加到现有复合域的单个域可用。 单个域不能添加到知识库中的多个复合域,并且复合域不能添加到另一个复合域。

  3. 单击 “高级”

  4. 分析方法选择以下项之一:

    • 参考数据:根据引用数据服务(RDS)设置数据格式的方式分析字段的值。 Data Quality Services 会将复合域中的值发送到 RDS,RDS 将返回根据复合域中的域更正和分析的数据。

    • 顺序:根据复合域中域的顺序分析字段的值。 第一个值将包含在第一个域中,第二个值在第二个域中,依此类推。

    • 分隔符:根据选择单选按钮中显示的分隔符分析字段的值。 可以是 Tab分号逗号空格或其他。 如果 为“其他”,请输入将用作分隔符的值。

  5. 如果选择了分析方法的 分隔符 ,还可以选择 “使用基于知识的分析”。 有关详细信息,请参阅 Knowledge-Based 分析

  6. 单击“ 完成 ”以完成域管理活动,如 “结束域管理活动”中所述。

后续步骤:创建复合域后

创建复合域后,可以对域执行其他域管理任务,执行知识发现以将知识添加到域,也可以向域添加匹配策略。 有关详细信息,请参阅 “执行知识发现”、“ 管理域”或 “创建匹配策略”。

Knowledge-Based 分析

借助 Data Quality Services,可以基于知识分析数据,而不仅仅是基于分隔符或顺序分析数据。 当复杂源数据映射到复合域时,将使用基于知识的分析,并且不使用引用数据服务。 可以使用基于知识的分析将数据从数据源分析到相关的单一域。 通过基于知识的分析,DQS 将首先尝试使用知识将复杂数据分析为单个域。 如果可能,它将像在一个或多个域中一样标识字符串的各个部分,并将字符串分析为其各种域。 例如,假设你有“John B. Doe”作为由全名复合域表示的全名字段中的复杂值。 如果 DQS 将“John”标识为名字领域,将“Doe”标识为姓氏领域,那么 DQS 将基于领域知识将“B.”添加到中间名领域。

仅当还选择基于分隔符的分析时,才能使用基于知识的分析。 基于知识的分析不会取代分隔符分析,而是增强它。 只有在没有现有知识可以执行该操作时,DQS 才会使用分隔符进行解析。 在某些情况下,DQS 可以通过基于知识进行分析来确定一些分析,然后通过基于分隔符分析来确定其他分析。

当复合域由字符串域组成或复合域由不同类型的域(int、日期、时间等)混合组成时,可以使用基于知识的分析。 如果数据源由不同类型的数据组成,则应首先针对非字符串数据类型执行分析,然后根据其余数据的域知识执行上述分析。

使用基于知识的分析时,源数据中的值比复合域中的域少,则 DQS 将在缺少的域中放置 null。 如果源数据中的值多于复合域中的域,则 DQS 会将额外数据添加到其中一列。 如果两个或更多个域包含相同的值,则数据源将解析为第一个匹配的域。