本主题介绍如何在 Data Quality Services(DQS)知识库中为复合域创建跨域规则。 跨域规则测试复合域中包含的单个域中的值之间的关系。 跨域规则必须在复合域中成立,才能将域值视为准确并符合业务要求。 跨域规则用于验证、更正和标准化域值。
跨域规则的 If 子句和 Then 子句分别为复合域中的单个域之一定义。 必须为不同的单个域定义每个子句。 跨域规则必须与多个单一域相关;不能为复合域定义简单域规则(仅针对单个域)。 为此,请为单个域定义域规则。 If 子句和 Then 子句可以包含一个或多个条件。
具有明确条件的跨域规则会将规则逻辑应用于条件中的值的同义词以及值本身。 If 和 Then 子句的明确条件为 Value 等于、Value 不等于、Value 为 in 或 Value 不在内。 例如,假设复合域具有以下跨域规则:“对于”City“,如果 Value 等于”Los Angeles“,则对于”State“,则值等于”CA”。 “如果‘洛杉矶’和‘LA’是同义词,则此规则会正确返回‘洛杉矶 CA’和‘LA CA’,并错误适用于‘洛杉矶 WA’和‘LA WA’。”
除了让你了解跨域规则的有效性外,跨域规则中的明确 Then 子句 “值”等于“,还会在数据清理活动期间更正数据。 有关详细信息,请参阅在清理复合域中的数据中使用明确的跨域规则进行数据更正。
跨域规则会在所有仅影响单个域的简单规则之后予以考虑。 仅当值通过单域规则(如果有的话),才应用跨域规则。 在可以执行规则之前,必须定义运行规则的复合域和单个域。
在您开始之前
先决条件
若要创建跨域规则,必须已创建并打开复合域。
安全
权限
必须在DQS_MAIN数据库中具有dqs_kb_editor或dqs_administrator角色才能创建跨域规则。
创建跨域规则
启动数据质量客户端。 有关执行此作的信息,请参阅 “运行数据质量客户端应用程序”。
在数据质量客户端主屏幕中,打开或创建知识库。 选择 “域管理 ”作为活动,然后单击“ 打开 ”或“ 创建”。 有关详细信息,请参阅 “创建知识库 ”或 “打开知识库”。
注释
域管理在 Data Quality Service 客户端的页面中执行,其中包含五个选项卡用于单独的域管理作。 它不是向导驱动的过程;任何管理作业可以单独执行。
从“ 域 管理”页上的“ 域” 列表中,选择要为其创建域规则的复合域,或创建新的复合域。 如果必须创建新域,请参阅 “创建复合域”。
单击“ CD 规则 ”选项卡。
单击“ 添加新域规则”,然后输入规则的名称和说明。
选择 “活动 ”以指定规则将运行(默认值),然后取消选择以防止规则运行。
按如下所示创建 If 子句:
在 If 子句窗格中的域列表中,选择复合域中包含的单个域之一,以成为 If 子句的主题。 可以选择复合域中的任何单个域。
从下拉列表中为子句选择第一个条件。
如果条件需要值,请在与条件关联的文本框中输入值。
如果 If 子句需要其他条件,请单击“ 向所选子句添加新条件”。 选择运算符,选择条件,并根据需要输入条件的值。
若要更改条件的顺序,请通过单击左侧选择条件,然后单击向上或向下箭头。
若要隐藏条件,请单击域名左侧的减号。 点击加号以显示条件。
在 Then 子句窗格中的域列表中,通过选择 If 子句的主题以外的单个域来创建 Then 子句。 然后使用在生成 If 子句时执行的步骤生成 Then 子句。
继续执行以下测试过程。
测试跨域规则
按如下所示测试跨域规则:
单击“ 在测试数据上运行所选域规则”图标 ,该图标位于复合域窗格的右上角。
在“ 测试域规则 ”对话框中,单击“ 为域规则”图标添加新的测试术语 。
为与 If 子句关联的单个域和与 Then 子句关联的单个域输入测试值。 If 子句中输入的测试值必须满足该子句的条件,或者将在 “有效性 ”列中输入问号,指示跨域规则不适用于测试数据。
再次单击“ 为域规则图标添加新的测试术语 ”以添加另一组测试值。
单击测试所有术语上的域规则图标。 如果一组测试值有效,DQS 将在“有效性”列中为该行输入一个勾选标记。 如果测试值集无效,DQS 将在行的“有效性”列中输入一个带有感叹号的三角形。
测试完成后,单击“测试复合域规则”对话框中的“关闭”。
完成跨域规则后,单击“ 完成 ”以完成域管理活动,如 “结束域管理活动”中所述。
后续操作:在创建跨域规则之后
创建交叉规则后,可以在域上执行其他域管理任务,可以执行知识发现以将知识添加到域,也可以向域添加匹配策略。 有关详细信息,请参阅 “执行知识发现”、“ 管理域”或 “创建匹配策略”。