刍议电子数据审计过程中应注意的几个问题
易晟(审计署驻长沙特派办)
【发布时间:2011年03月11日】
字号:【大】 【中】 【小】
    
    
    随着信息技术的发展和普及,现阶段的审计工作已离不开计算机审计。电子数据审计作为计算机审计的一个重要组成部分,近年来,其有关理论、技术、方法得到了广泛地研究、推广和应用,在审计实务中发挥了越来越重要的作用。
    众所周知,电子数据审计的基本步骤包括数据提取、数据清洗、数据转换、数据分析等四个基本步骤。因被审计单位的信息环境、应用系统千差万别,电子数据审计并无放之四海而皆准的具体的解决之道,也不存在普适性的工具软件供审计人员使用。但是,电子数据审计存在一些特有的方法,审计人员应加以了解和掌握,以期达到事半功倍的效果,以下分述之。
    一、数据提取阶段
    数据提取是指根据数据需求,采取一定的方法和工具对被审计单位数据库中的数据进行提取的工作。数据提取阶段应重点关注的问题包括了解数据库管理系统(DBMS)的类型、判定原始数据的存放位置、选择提取原始数据的方法。目前市场上的DBMS可大致分为桌面数据库系统和大型数据库系统,前者包括ACCESS 、FOXBASE、PARADOX等,后者主要类型有ORACLE、SQL SERVER、DB2等。对于桌面DBMS,一般情况下,其数据文件存放在应用系统的安装目录下或其子目录中(如DAT、DATA子目录),对于此类数据文件,直接拷贝出来即可供使用;而对于大型DBMS,审计人员则需使用DBMS自带的数据库管理工具,查看数据库的配置参数以确定数据文件存储的目录,并通过备份数据库或直接拷贝数据文件的方式来提取原始数据。
    二、数据清洗阶段
    数据清洗是对提取的原始数据执行规范化操作的过程。系统在运行过程中,由于设计不完善、录入不规范等原因,可能产生不规范数据,比如值丢失、数据值为空、数据值错误、记录重复等。数据清洗包含两个步骤:首先使用SELECT语句对表的字段进行分类汇总,了解不规范数据的总体情况,如执行“SELECT * FROM 表名 WHERE 某金额字段 IS NULL”可以发现有多少个金额字段为空的记录,其次通过执行DELETE语句删除重复值、UPDATE语句规范字段值,如执行“UPDATE 表名 SET某金额字段 = 0 WHERE 某金额字段 IS NULL”可将金额字段为空的记录全部转换为0值。这个阶段的工作要求审计人员熟悉数据库查询工具的运用以及SELECT、DELETE、UPDATE语句的基本使用方法。
    三、数据转换阶段
    数据转换是指对清洗后的数据进行格式转换。事实上,因各DBMS对数据格式的定义、值域存在较大的差异,数据转换的过程比较容易出现转换错误,且处理起来比较麻烦,因此,如有可能,应尽量使用与原始数据相同的DBMS,这样可以大大降低工作量。但在有些情况下,因某些审计软件或分析工具对DBMS有明确的要求,则数据转换工作无法避免。比如在使用AO时,若原始数据是ORACLE,而现阶段AO不支持ORACLE,那么就必须先将ORACLE的数据转换为ACCESS格式。在数据转换中,对于小数据量(1000万以下),审计人员可借助一些专业软件的功能来完成转换工作,如SQL Server的DTS、EXCEL和ACCESS的数据导入功能等,使用简便且效率较高;但对于海量数据(1000万以上)的转换,建议采取文本文件(TXT文件)为中介完成。如DB2的数据转换为SQL SERVER格式,可先使用DB2的EXPORT命令将数据导出为文本文件,再使用SQL SERVER的BCP命令将文本文件导入到数据库。之所以采取文本文件作为转换中介,主要考虑在海量数据中因数据庞大,数据转换中格式错误发生的可能性较大,一旦发生错误即可通过文本扫描工具软件分析文本文件,并准确定位到错误行,对错误行文本进行纠错、保存后,再继续执行导入。海量数据转换过程的排错工作对数据库、编程有相当要求,一般审计人员较难胜任。
    四、数据分析阶段
    数据分析是指通过建立模型对数据进行核对、检查、复算、判断等操作。在进行分析之前,审计人员应取得数据表说明文档,包括表及表字段的中文定义、表与表之间的关联关系等。如果系统是被审计单位自行开发的,被审计单位应能提供设计文档,但大多数情况下,系统是被审计单位是通过购买取得,被审计单位并无完整的设计文档。在这种情况下,审计人员可以通过“数据检索核对法”确定数据结构。比如数据库中有几十个张表,其中包含了财务数据,怎么找到其中凭证表呢?可以采取以下方法:先抽查数张纸质凭证,将凭证上的金额在数据库中进行全文检索,检索到结果后将电子数据表、字段与纸质凭证各要素一一对照比较,则可基本确定凭证表的结构。“数据检索核对法”需要使用数据库的全文检索工具,分析核对比较耗时,但却是无法取得数据结构设计文档时较为行之有效的方法。
    审计人员进行数据分析时,建议直接编写SQL查询语句进行分析。SQL语句功能强大,语法简单,一般学习一周时间便能基本掌握,灵活使用足敷日常分析工作。但对海量数据的分析,情况则复杂得多。例如在某审计项目中,需要将三个表进行关联(JOIN)运算,三个表的记录数都超过1000万,此时如果没有专业的指导,即使编写的语句逻辑无误,也经常因操作超时无法计算出结果,或者因占用太多系统资源导致当机。对海量数据的分析涉及到数据库物理存储设计、索引的建立、SQL语句的优化、运行成本分析等多方面的内容,这类工作需要有专业的计算机技术人员加以规划和指导,方能取得较为理想的结果。
    以上简要阐述了电子数据审计四个阶段应重点关注的几个问题及应对的方法。应当指出的是,在大多数的审计项目中,遇到的情况远比上述涉及的简单。我以为,电子数据审计应本着“能用、够用”的原则进行。事实表明,熟练掌握EXCEL、ACCESS和SQL语句,能解决90%以上的问题。其他10%的问题,出现在海关通关系统、电信BOSS系统、商业银行业务系统的海量数据审计当中,这部分的问题需要审计人员深入钻研数据库知识,在实践中不断积累经验。 (易晟)

【关闭】    【打印】