覆盖主要内容
版本: 6.1.0

数据校验

组件介绍

数据检验”组件通常用于确保传入的数据具有一定的质量。 发生验证的原因可能多种多样,例如,如果您怀疑传入的数据质量不佳,或者仅仅是因为您拥有一定的SLA,就可能会进行验证。数据验证程序步骤允许您定义简单的规则,以描述字段中的数据应为什么样。 这可以是一个值范围,一个不同的值列表或数据长度。 此步骤允许在单个步骤中对传入数据应用无限数量的验证规则。


  • 输入:数据信息(表,数据库,文件等)输入内容
  • 输出:检查情况输出数据信息

页面介绍

数据检验”组件的配置页面如下图所示:

参数选项

数据检验”组件主要包括如下参数:

选项说明样例值
步骤名称指定画布上步骤的唯一名称。
报告所有错误,不止第一个错误重复报告该检验的所有问题,不止一个。
只输出一行只输出检查发生错误的第一个。
指定连接错误的分隔符错误信息的分隔符。
数据校验增加校验:新增校验规则;删除校验:删除校验规则。

基础信息标签页

当添加一个test校验后,得到下图所示界面:

字段表

“基础信息”选项卡主要包括如下参数:

列名说明样例值
检查描述校验名称。
要检查的字段名展示要验证的字段名称。
错误代码传递给此验证规则的错误处理的错误代码。
错误描述传递给此验证规则的错误处理的错误描述。

数据类型标签页

点击“数据类型”标签,得到下图所示界面:

字段表

“数据类型”选项卡主要包括如下参数:

列名说明样例值
检验数据类型如果要指定某种数据类型以进行匹配,请选中此复选框。
数据类型指定此对话框中指定的数据的数据类型或要验证的数据类型。
转换掩码用于转换此验证规则中指定的数据的掩码。
小数点符号用于转换此验证规则中指定的数据的十进制符号。
分组符号进行数据分组的符号设定。

数据标签页

点击“数据”标签,得到下图所示界面:

字段表

“数据”选项卡主要包括如下参数:

列名说明样例值
允许空?如果您不想在所选字段的数据中允许使用空值,请禁用此选项。
只允许空值如果你想在所选字段的数据中允许使用空值,请选用此选项。
只允许数值类型的数据想在所选字段的数据中允许使用指定的数据类型,请禁选用此选项,并设定数据类型。
最大字符串长度验证所选字段数据的字符串形式的长度,确保其短于或等于此处指定的长度。
最小字符串长度验证所选字段的数据的字符串形式的长度,确保其长于或等于此处指定的长度。
最大值验证所选字段的数据,看是否不高于此处指定的最大值。
最小值验证所选字段的数据,并查看其是否不低于此处指定的最小值。
允许的开始字符串我们验证的值的字符串值需要以此值开头(指定时)。
允许的结束字符串我们验证的值的字符串值必须以该值结尾(指定时)。
不允许的开始字符串不允许我们验证的值的字符串值需要以此值开头(指定时)。
不允许的结束字符串不允许我们验证的值的字符串值需要以此值开头(指定时)。
合法数据的正则表达式我们验证的值的字符串值需要与此正则表达式匹配(指定时)。
不合法数据的正则表达式我们验证的值的字符串值不允许与此正则表达式匹配(指定时)。
从其他步骤获得允许的值启用此选项可从转换的另一步骤获取数据。 这有效地消除了对可用值进行硬编码的需要。现在,您可以将它们存储在数据库表或文件中的某个位置。如果选择此选项,则还需要指定要读取的步骤和字段。提示:对于每次验证都可获取数据,您需要指定一个不同的步骤以进行读取。
要读取的步骤选定读取步骤。
要读取的字段选定步骤中的读取字段。

使用案例

首先需要一些输入数据,将**“自定义常量数据”**拖至画布,双击组件,步骤名称填入“Data Grid”,插入如下图所示字段:

选择“数据”标签,输入如下图所示数据:

将**“计算器”组件拖至画布来计算平均值,与上一步骤“自定义常量数据”**连接,并双击组件,步骤名称填入“PricePerItem”,在计算里选择“A/B”,把【amount】和【items】作为字段A和字段B,新增加字段名为【ItemPrice】,具体配置如下图:

再将**“自定义常量数据”**拖至画布,双击组件,步骤名称填入“ProductList”,插入如下图所示字段:

选择“数据”标签,输入如下图所示数据:

有了数据后进行数据校验,将**“数据校验”组件拖至画布,并把上一步骤的“自定义常量数据”“计算器”步骤都连接到“数据校验”**,双击组件,步骤名称为“Data Validator”,增加数据校验,按下图配置:

校验描述为“date_val”的配置信息:

当后面有判断字段是否是空值的校验描述时,判断值的校验需要勾选“允许空?”,以免空值情况将出现两处错误;

校验描述为“name_val”的配置信息:

校验描述为“items_val”、“amount_val”和“itemprice_val”的配置信息都与“date_val”类似,“要校验的字段名”选择与校验描述一致的名称,“错误代码”与“错误描述”用户可以自行定义,还要注意设置字段对应的“字段类型”,并在“数据”标签中设置最大值与最小值;

校验描述为“items_null”的配置信息:

校验描述为“itemprice_null”、“date_null”、“prod_null”、“items_null”、“amount_null”和“itemprice_null”的配置信息都与“items_null”类似,“要校验的字段名”选择与校验描述一致的名称,“错误代码”与“错误描述”用户可以自行定义,注意设置字段对应的“字段类型”;

将**“空操作(什么也不做)”组件拖至画布,“数据校验”与其连接,当提示选择步骤时,选择“随机分发”“错误输出步骤”**,并双击组件,步骤名称填入“Errors”;

再将**“空操作(什么也不做)”组件拖至画布,“数据校验”与其连接,当提示选择步骤时,选择“随机分发”“主输出步骤”**,并双击组件,步骤名称填入“VAlid rows”。完整转换如下图所示:

运行转换,结果如下图所示:

选中名为**“Error”的组件,右击并选中“预览”**查看数据。可以观察到【ItemPrice】字段中有 NULL 值,【amount】字段中有大于设置的最大值数据,【asate】字段中有无效的日期点,结果如下图所示:

选中名为**“VAlid rowsr”的组件,右击并选中“预览”**查看数据。通过校验的数据结果如下图所示:

和**“过滤记录”步骤相比,“数据校验”步骤更像一个高度可配置化的过滤器。满足各种校验条件的数据被发送到主数据流里,不满足条件的数据被发送到错误数据流中。和“过滤记录”步骤不同的是,“数据校验”**步骤不用必须指定不满足条件的数据的流向。但强烈建议要设置不满足条件的数据的流向,因为一般都要统计为什么会验证失败,验证失败的记录有多少等等。