指标管理

SQL脚本规则说明

1.概述

主要介绍SQL脚本规则的使用,SQL脚本规则支持使用SQL语句及存储过程对质检数据进行质量检查。

2. SQL语句检查 

通过SQL语句对质检主题表数据进行检查,需要在SQL语句中定义好数据期、数据级次、关键字字段以及质检条件。示例如下: 
1)添加质检主题表,定义主题表的数据期、数据级次、关键字字段。没有可不定义。
2)添加SQL规则进入规则编辑页面,选择对应质检主题表,并写入固定格式的SQL语句。
select [数据期字段] as PERIOD, [数据级次字段] as DATACLASS,[关键字字段1] AS KEY_字段1,[关键字字段2] AS KEY_字段2 from [质检主题表对应数据库] where [质检条件] and [数据期字段]= '<#=PERIOD#>'
当模型及质检主题表设置数据期、数据级次时,SQL语句中必须包含数据期及数据级次;当模型及质检主题表未设置数据期或数据级次时,可写入’’ as PERIOD作为数据期条件、’000000’ as DATACLASS作为数据级次条件
 

3. 存储过程检查 

通过存储过程对质检主题表数据进行检查之前,需要先在对应数据库连接池内自定义存储过程。规则执行时系统调用存储过程,传递数据期,数据级次相关参数,由存储过程返回临时表。示例如下:

1)创建临时表

 CREATE TABLE SQLCHECKTABLE2(

DATACLASS VARCHAR(50),

CHECKSTATE INTEGER ,

SYS_XDATA_ROWID VARCHAR(50),

FIELDVALUES VARCHAR(50),

FIELDVALUEDESC VARCHAR(50))

//以上临时表sql中除了 SYS_XDATA_ROWID是关键字字段外,其余是固定写法

2)创建存储过程

CREATE OR REPLACE PROCEDURE SQLCHECK_TEST2(

  PERIOD IN VARCHAR,//定义数据期参数

  DATACLASS IN VARCHAR,//定义数据级次参数

  TMPTABLE OUT VARCHAR) AS

  BEGIN

  DELETE SQLCHECKTABLE2;//清空临时表SQLCHECKTABLE2

  COMMIT;

  EXECUTE IMMEDIATE 'INSERT INTO SQLCHECKTABLE2(DATACLASS,CHECKSTATE,SYS_XDATA_ROWID)//将数据插入临时表SQLCHECKTABLE2

(SELECT UPIDC18 AS DATACLASS, (CASE WHEN A.E15C2 is null THEN 0 ELSE 1 END) AS CHECKSTATE,A.SYS_XDATA_ROWID FROM F_XXB3_COPY A WHERE A.BBQC11 ='''||PERIOD||''')';//UPIDC18为数据级次字段,BBQC11为数据期字段,F_XXB3_COPY为质检主题表对应库表名称,SYS_XDATA_ROWID为关键字字段

COMMIT;

TMPTABLE := 'SQLCHECKTABLE2';

END SQLCHECK_TEST2;

3)新建sql规则,主题表选择F_XXB3_COPY,存储过程选择SQLCHECK_TEST2,然后保存规则。

注意:模型启动Saprk引擎后,不支持选择存储过程进行数据质检。

附件列表

0

文档内容仅供参考
如果您需要解决具体问题,还可以登录亿信社区
在提问求助板块提问,30分钟内帮您解决问题

如果您认为本词条还有待完善,请编辑

上一篇质检规则通用设置说明

下一篇空值检查

请先登录