1. 概述
用于执行Python语言脚本检查数据,通过Python脚本来判断数据的正确性,并返回检查结果。
以人员信息数据为例,人员信息表记录员工的员工编号、入职时间、转正时间等信息。现我们将使用数据质量-Python脚本检查入职时间小于转正时间。
2. 操作步骤
1. 添加质检主题表
添加“人员信息”主题表,定义主题表的数据期、数据级次、关键字字段。没有可不定义,这里将“员工编号”字段设置为关键字,方便后续查看质检结果表。
2. 添加质检规则
在规则库页面点击“新建规则”按钮,进入选择规则类型页面。
选择“Python脚本”,点击下一步,进入新建规则页面。
其中,
Ø 代号:系统将根据规则类型系统自动生成,也可能自定义输入。
Ø 分组:选择规则分组,当前规则将添加至选定的分组下。
Ø 主题表:选择规则作用的主题表。
Ø 业务规则:选择规则的业务规则类型
Ø 脚本代码:需要执行的Python脚本代码。 在弹出的对话框内输入Python脚本。
Ø 描述:用户输入规则的详情。
Ø 关联关系:选择主题表的关联关系。过滤条件涉及他表时,需勾选与之对应的关联关系。
Ø 过滤条件:当对一部分数据进行检查时,可以输入过滤条件表达式。
Ø 问题级别:分为严重、重要、一般。用户可以根据提示选择优先处理哪类问题。
Ø 权重:输入权重值,用于质量管理绩效打分。
Ø 自动启用:打上勾后表示创建规则后自动设为启用状态,不打勾设为禁用状态。
可以点击右下角的查看“Python检查说明”,
选择需要使用Python脚本检查的主题表F_RYJBXX (人员信息),要求:入职时间不为空的时候(注意此时转正时间为空是符合实际的),入职时间<=转正时间。脚本参考如下:
def checkData(data) :
value2 = getValueByField(data, "ZZSJ")
value3 = getValueByField(data, "HIREDATE")
if (value3 is None) :
addResult(data,0)
elif (value2 is None) :
addResult(data,1)
elif value3 <= value2:
addResult(data,1)
else :
addResult(data,0)
return
while (True) :
d = curs.fetchone()
if d is None :
break
checkData(d)
点击完成,即Python脚本质检规则保存成功。
3. 查看质检结果
新建“质检方案”(步骤略),将python脚本规则添加到质检方案后,点击对应质检方案的“质检结果表”按钮,
添加“规则涉及字段”,如入职时间、转正时间,
配置好质检结果表后,点击“执行”按钮手动执行质检方案。
质检方案执行完成后,可以在“质量监控”模块选择对应的质检方案,然后点击“查看”按钮或者点击“错误合计”下的数字,查看对应的质检结果。
如下图,最终检查出12条入职时间为空的数据。
请先登录