数据校验
组件介绍
“数据检验”组件通常用于确保传入的数据具有一定的质量。 发生验证的原因可能多种多样,例如,如果您怀疑传入的数据质量不佳,或者仅仅是因为您拥有一定的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”的组件,右击并选中“预览”**查看数据。通过校验的数据结果如下图所示:
和**“过滤记录”步骤相比,“数据校验”步骤更像一个高度可配置化的过滤器。满足各种校验条件的数据被发送到主数据流里,不满足条件的数据被发送到错误数据流中。和“过滤记录”步骤不同的是,“数据校验”**步骤不用必须指定不满足条件的数据的流向。但强烈建议要设置不满足条件的数据的流向,因为一般都要统计为什么会验证失败,验证失败的记录有多少等等。