ETL技术在数据审计中的应用_stage论文

ETL技术在数据审计中的应用_stage论文

ETL技术在数据审计中的具体应用,本文主要内容关键词为:数据论文,技术论文,ETL论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

      随着信息技术突飞猛进的发展,信息化审计的地位日益凸显,而数据审计作为信息化审计的重要组成部分,其审计技术和方法的创新决定着信息化审计工作的成效。

      根据审计署发布的数据审计指南,数据审计是指审计机关通过数据准备和数据分析进行审计的行为,这指出了数据审计的两个重要内容,即数据准备和数据分析。信息技术的飞速发展带来了信息爆炸的问题,对数据审计的影响体现在工作中需要处理的数据近指数增长。随着审计全覆盖的推进,该问题将愈加明显。如何对海量数据进行整理分析并从中发现审计线索,成为亟待解决的问题。

      ETL技术及实现方式

      ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(Extract)、转换(Transform)、加载(Load)至目的端的过程。ETL常用于数据仓库领域,目的是将分散、零乱、标准不统一的数据,按照统一的规则集成整合,完成数据从数据源向目标数据仓库的转化。

      ETL的实现一般有三种方式。一是借助ETL工具。典型的ETL工具有IBM InfoSphere DataStage(简称Data Stage)、Oracle Warehouse Builder和Microsoft SQL Server DTS等,借助ETL工具可以快速建立起ETL工程,屏蔽复杂的编码工作,使ETL开发专注于逻辑规则的实现,提升开发效率,但纯粹借助工具缺乏灵活性。二是编写SQL脚本。这种方式的最大优点是处理灵活,能够最大程度上体现ETL开发人员的思路,但该方式对ETL开发人员技术要求高,编写脚本难度大。三是上述两种方式结合。将ETL工具与SQL脚本方式结合,提高ETL开发效率又不失灵活性。实际上,目前部分ETL工具中已经提供了可供开发人员编写SQL脚本的模块,技术上实现了两种方式的结合。

      ETL工具的具体应用

      结合DataStage软件,本文谈ETL技术在数据审计中的应用。

      (一)DataStage的工作模式

      DataStage是通过设计job来实现ETL功能的,job的设计与普通的IDE设计工具类似,通过拖拽控件(Stage)并添加脚本来完成。DataStage提供了种类功能繁多的控件,将不同功能的控件按照数据处理的需求通过一定方式加以组合,形成job进行编译运行,从而实现对数据的抽取转换加载。DataStage除使用图形化界面开发,易于操作和管理维护外,还具有支持异构数据库、采用并行机制提高数据处理速度、减少源数据库服务器压力以及支持自定义开发组件等优点。

      (二)数据准备中的应用

      数据准备阶段包括对审计对象的数据进行采集、整理、加工,最终形成便于审计人员开展数据分析的基础。

      目前,审计工作中从审计对象采集的后台数据主要包括Oracle数据库文件、SQL Server数据库文件以及Excel、Txt文本文件等,DataStage对这些常见的数据源均有相应的组件进行支持。假设源数据库文件已经在相应的数据库系统中完成了恢复,在DataStage中使用前只需先进行ODBC配置,然后在开发时选择相应的源数据组件Oracle Connector、ODBC Connector即可。除Oracle和SQL Server外,DataStage还支持DB2、Sysbase等数据库。Excel和Txt文本文件也可以调用Sequence File Stage和Unstructured Data Stage进行数据读取。

      接下来是数据的整理和标准化工作,即清洗和转换数据。数据清洗的主要目的是为了过滤不符合要求的数据,根据过滤结果由业务人员判断直接删除或是由数据提供单位补充修正后重新抽取。

      不符合要求的数据主要包括不完整的数据、错误数据和重复数据。不完整的数据主要指数据中部分应有的信息缺失,如工商数据中的股东持股比例信息缺失、银行流水数据中的对手信息缺失等,DataStage中可以使用Transformer组件调用内置函数IsNull对空值数据进行筛选。错误数据主要指因业务系统不健全,在数据录入时没有经过检验检查直接写入数据库后导致的数据错误,如应为数字格式的金额字段填入了文字,日期格式的字段值录入不规范等,同样可以使用Transformer组件调用参数类型匹配函数IsValid进行匹配,更复杂的逻辑可以开发自定义函数Routines来处理。重复数据则是指出现了一个或多个字段值重复的情况,这种情况可使用Remove Duplicates Stage直接对数据去重。

      完成数据的清洗后,按照一定的规则,将数据进行转换,形成便于数据分析人员使用的标准表。数据转换主要包括表连接、合并、排序等,DataStage都提供了相应的功能组件Join、Merge、Sort等来完成这一工作,Transformer组件也可以通过调用一系列内置函数和自定义函数来完成数据转换。

      以将某银行业务数据按标准化规则整理成银行流水标准表为例,简述DataStage在数据准备中的应用(限于篇幅不赘述DataStage使用细节)。假设银行业务数据中包含对公交易信息表(含客户编号、交易时间、交易金额、账户余额、摘要等字段)和对公客户信息表(含客户编号、客户名称、客户类型等字段),需进行数据采集整理后形成对公交易标准表(含客户名称、交易时间、交易金额、账户余额、摘要等字段)。

      1.导入源数据。分别用两个Oracle Connector组件连接对公交易信息表和对公客户信息表两张源表,配置好相关的数据源地址、访问用户名及密码等参数。

      2.对源数据进行清洗。假设对公交易信息表中存在账户余额为负数的错误数据,对公客户信息表中存在客户编号重复的数据。连接对公交易信息表的Oracle Connector1组件后加入Transformer Stage组件,然后在组件中对对公交易信息表的账户余额字段设置过滤条件“账户余额>=0”,即可得到符合条件的数据。连接对公客户信息表的Oracle Connector2组件后,根据需求分别加一个SortStage组件和Remove DuplicatesStage组件,Remove Duplicates Stage要求先对需要去重的数据字段进行排序,Sort Stage先按客户编号对数据进行排序,将重复的记录放在一起,Remove Duplicates Stage再去除相邻两行中存在相同键列值的重复记录。

      3.导出标准表到目标数据库。将源数据进行清洗后,根据标准表格式使用Join Stage组件,用客户编号字段将两张源数据表连接,分别取客户名称和交易时间、交易金额、账户余额,摘要等字段,形成对公交易标准表,最后使用Oracle Connector3导出标准表到目标数据库。

      (三)数据分析中的应用

      鉴于DataStage为数据的转换提供了丰富的内置组件、功能函数并支持自定义开发组件,可以利用这些组件尤其是自定义开发组件来实现数据分析方法,将ETL开发演化成审计方法或审计模型的开发,特别是对于一些结构固定的业务数据,如财政收支数据、税收征管数据、银行业务数据等,可以根据日常工作总结的常规性审计思路进行ETL开发,形成一套固定的审计模型。针对不同时间或地域范围的数据,只需稍微修改模型参数后在软件中编译运行,即可得到数据分析结果,实现审计方法的模块化和重用化,简化数据分析的过程,降低数据分析的技术难度,从而大大提高数据分析的效率。

      我们以财政审计中对获取专项资金的企业纳税情况进行分析为例,简述DataStage在数据分析中的应用。假设现有某专项资金的国库支付数据和企业的纳税数据,数据分析如下:

      1.导入源数据。同样,先分别用两个Oracle Connector组件连接专项资金国库支付数据表和企业纳税情况表。

      2.分别统计企业获取专项资金总额和纳税总额。使用两个Aggregator Stage组件,以收款单位和纳税人名称对数据进行分组,汇总求和某段时间内企业获取专项资金总额和纳税总额。

      3.匹配企业获取专项资金数据和纳税数据,发现疑点。使用Join Stage按“收款单位=纳税人名称”的条件,对经汇总后的国库支付数据和纳税数据进行连接,然后使用Sort Stage按获取专项资金总额对数据进行降序排序,将结果通过Sequential File Stage输出到平面文件,关注获取专项资金总额较大而纳税额与之不匹配的企业,形成审计疑点。

标签:;  ;  ;  ;  ;  ;  ;  ;  

ETL技术在数据审计中的应用_stage论文
下载Doc文档

猜你喜欢