1. 概述
用于执行R语言脚本检查数据,通过R脚本来判断数据的正确性,并返回检查结果。
以人员信息数据为例,人员信息表记录员工的员工编号、入职时间、转正时间、证件类型、证件号等信息。现我们将使用数据质量-R脚本检查“证件类型”不为“CN01”身份证的数据。
2. 操作步骤
1. 添加质检主题表
添加“人员信息”主题表,定义主题表的数据期、数据级次、关键字字段。没有可不定义,这里将“员工编号”字段设置为关键字,方便后续查看质检结果表。
2. 添加质检规则
在规则库页面点击“新建规则”按钮,进入选择规则类型页面。
选择“R脚本”,点击“下一步”,进入新建规则页面。
其中,
Ø 代号:系统将根据规则类型系统自动生成,也可能自定义输入。
Ø 分组:选择规则分组,当前规则将添加至选定的分组下。
Ø 主题表:选择规则作用的主题表。
Ø 业务规则:选择规则的业务规则类型
Ø 脚本代码:需要执行的R脚本代码。 在弹出的对话框内输入R脚本。
Ø 描述:用户输入规则的详情。
Ø 关联关系:选择主题表的关联关系。过滤条件涉及他表时,需勾选与之对应的关联关系。
Ø 过滤条件:当对一部分数据进行检查时,可以输入过滤条件表达式。
Ø 问题级别:分为严重、重要、一般。用户可以根据提示选择优先处理哪类问题。
Ø 权重:输入权重值,用于质量管理绩效打分。
Ø 自动启用:打上勾后表示创建规则后自动设为启用状态,不打勾设为禁用状态。
可以点击右下角的查看“R检查说明”,
配置R服务器:使用R脚本检查时,需要在资源管理器中/root/products/edq/rule/r-config.properties文件中配置R服务器信息。修改它,配置会及时生效。
R服务器配置要求:R语言环境要求能够使用RJDBC、jsonlite包。请在R服务器用户主目录上放置检查库的数据库驱动JAR包,并保证JAR包路径与资源管理器中/root/products/edq/rule/rjdbcjar-config.properties配置一致。
选择需要使用R脚本检查的主题表F_RYJBXX (人员信息),要求:证件类型(ZJLX)不为空,且证件类型为“CN01”。脚本参考如下:
for (i in 1:nrow(checkdatas)) {
if(!is.na(checkdatas$ZJLX[i])) {
if(checkdatas$ZJLX[i]=="CN01") {
checkresults$EDQU_RULE_RESULT[i] <- TRUE
} else {
checkresults$EDQU_RULE_RESULT[i] <- FALSE
}
} else {
checkresults$EDQU_RULE_RESULT[i] <- FALSE
}
}
点击完成,即R脚本质检规则保存成功。
3. 查看质检结果
新建“质检方案”(步骤略),将R脚本规则添加到质检方案后,点击对应质检方案的“质检结果表”按钮,
添加“规则涉及字段”证件类型,
配置好质检结果表后,点击“执行”按钮手动执行质检方案。
质检方案执行完成后,可以在“质量监控”模块选择对应的质检方案,然后点击“查看”按钮或者点击“错误合计”下的数字,查看对应的质检结果。
如下图,最终检查出11条证件类型为“身份证”的数据。
在数据库中查询证件类型ZJLX数据如下。
请先登录