专栏名称: 审计之家
审内势,计天下。审计行业资讯、审计从业人员交流平台。
目录
相关文章推荐
第一财经  ·  又一豪华酒店挂牌待售! ·  2 天前  
第一财经  ·  刚刚!北交所出手! ·  1 周前  
南半球聊财经  ·  市场有了新的期待:周六的简报会 ·  1 周前  
第一财经  ·  永辉超市突发!连带起诉王健林! ·  1 周前  
51好读  ›  专栏  ›  审计之家

快速查找财政预算指标前后台差异提高大数据分析质效

审计之家  · 公众号  · 财经  · 2017-04-13 17:04

正文

定期报送财政电子数据已经成为基层审计部门的一项常态化工作,目前很多地方正在积极开展数据采集和校验工作。2017年数据采集工作,在原有基础之上对数据的准确性提出了更高的要求。单位指标前后台的数据量以及总金额需要校验一致。在获取到前后台数据后,如何快速查找出前后台差异,就成为提高财政数据采集整理上报工作效率的关键。


笔者在实践过程中,通过对前后台数据各关键字段的分析,利用SQL SERVER对前台和后台表数据进行整理,形成出了一套查找财政单位指标数据前后台差异的方法,现展现出来,希望对大家有所帮助。


一、数据采集及结构分析


通过财政部门单位指标管理系统导出2016年单位指标明细表,即财政指标前台表。在获取到财政数据备份文件(.dmp格式)后,根据省厅标准化语句提取字段,形成财政指标后台表。


1.预算单位指标后台为Oracle,整理语句如下:

select a.BillObjID  单据编码  ,a.BillTypeObjID  单据类型编号 ,--k.billname   单据类型名称  ,a.ApprBillTypeID  拨款单类型编号 ,a.IndiYear  年度  ,c.Divshowid 单位编码  ,c.DivName 单位名称  ,b.DocNo 文号  ,b.IndiNo 指标编号  ,b.DocDate 发文日期  ,a.InitMoney 报送金额  ,a.AdjustMoney  调整金额 ,a.PlanMoney  计划金额  ,a.ApprNMoney 使用金额  ,a.IndiMoney 可用金额  ,a.FreezeFlag 冻结标志  ,l.ACCTCODE  科目编码    序号 ,a.SourceObjID  源指标编号  ,a.Abstracts 摘要  ,a.IndiObjID 指标ID  ,a.IndiType 指标类型  ,a.UserID 制单人编码  ,f.UserName   制单人姓名 ,a.AutoApprFlag  自动拨款  ,b.Remark 备注  ,a.FirstDivID 部门  ,b.OperUserID 操作人编码  ,g.UserName   操作人姓名 ,b.BillKind  单据性质  ,b.AuditUserID  审核人编码 ,b.AuditComment  审核意见  ,

b.BillDate  制单日期 ,b.AuditState  状态位  ,a.ApprPMoney 计划支付金额,a.ApprNMoney 非计划支付金额

into 指标管理_指标明细表

from Indi_t_IndiBillDetail a

left join Indi_t_IndiBillMain b

on a.BillObjID=b.BillObjID

left join  Pub_t_Division  c

on a.DivID=c.DivID

left join  Pub_t_FundType  d

on a.FundKindID=d.FundID

left join Pub_t_EconomicType e

t-size:14pt">on a.BillObjID=b.BillObjID

left join  Pub_t_Division  c

on a.DivID=c.DivID

left join  Pub_t_FundType  d

on a.FundKindID=d.FundID

left join Pub_t_EconomicType e

on a.EconomicTypeID=e.EconomicTypeID

left join Indi_v_User f

on  a.UserID=f.UserID

left join Indi_v_User g

on b.OperUserID=g.UserID

left join ref_t_sourcetype h

on a.SourceTypeID=h.refid

left join ref_t_project i

on a.ProjID=i.refid

left join efm_t_paymode j

on a.PayModeID=j.paymodeid

--left join Indi_v_Rep_BillType k

--on a.BillTypeObjID=k.billid

left join EFM_T_ACCTITEM l

on a.AcctCode=l.AcctCode

left join Sys_t_Dept m

on a.DeptID=m.DeptID

left join ref_t_projtype n

on a.ProjType=n.refid


2.预算单位指标后台为Sql,整理语句如下:

select

a.BillObjID  单据编码 ,

a.BillTypeObjID  单据类型编号 ,

k.billname   单据类型名称 ,

a.ApprBillTypeID  拨款单类型编号 ,

a.IndiYear  年度 ,

a.DivID  单位编码 ,

c.DivName  单位名称 ,

b.DocNo  文号 ,

b.IndiNo  指标编号 ,

b.DocDate  发文日期 ,

a.InitMoney  报送金额 ,

a.AdjustMoney  调整金额 ,

a.PlanMoneyl.AcctName   科目名称 ,

a.EconomicTypeID  经济分类编码 ,

e.EconomicTypeName  经济分类 ,

a.SourceTypeID  来源类型编码 ,

h.SourceTypeName  来源类型 ,

a.FundKindID  资金性质编码 ,

d.FundName   资金性质 ,

a.ProjID  项目编号 ,

i.ProjName   项目名称 ,

a.ProjType  项目类型 ,

n.ProjTypeName  项目类别名称 ,

a.PayModeID  支付方式编码 ,

j.PayModeName   支付方式 ,

a.DeptID  制单处室编码 ,

m.DeptName   制单处室名称 ,

a.UseDirection  使用方向 a.UseDirection  使用方向 ,

a.AcceptDivID  收款单位编码 ,

a.AuthFlag  授权 ,

a.SerialNo  序号 ,

a.SourceObjID  源指标编号 ,

a.Abstracts  摘要 ,

a.IndiObjID  指标ID  ,

a.IndiType  指标类型 ,

a.UserID  制单人编码 ,

f.UserName   制单人姓名 ,

a.AutoApprFlag  自动拨款 ,

b.Remark  备注 ,

a.FirstDivID  部门 ,

b.OperUserID  操作人编码 ,

g.UserName   操作人姓名 ,

b.BillKindleft join Sys_t_Dept m

on a.DeptID=m.DeptID

left join Indi_v_Rep_ProjType n

on a.ProjType=n.ProjTypeID


需要注意的是,后台表中预算单位代码和预算单位名称为两个字段,如果提取到的前台表单位代码和单位名称为一个字段,可以通过Excel表格的数据分列功能将其分开,分列方式如下:

打开前台表(.xls或者.xlsx)     在单位列后插入空白列

选中“单位”列,选择数据—分列,按照前台表“单位”列实际内容情况,选择固定宽度或者分隔符方式进行数据分列。




二、前后台指标数据比对


2016为数据采集年度,财政单位指标前台表命名为“财政指标2016前台导出”,后台数据按照要求处理后形成 “财政指标2016后台处理”,根据实际情况修改。


1.分单位汇总前后台数据量和指标金额,查找有差异单位。

select *,后台指标金额-前台指标金额 差异 from

(select YSDWCODE,YSDWNAME,SUM(ZBJE) 后台指标金额,SUM(ZBKYJE) 可用指标金额,COUNT(*) 行记录数 from dbo.财政指标2016后台处理 group by DWCODE,YSDWNAME) a

full join

(select 单位代码,单位,SUM(单据指标金额) 前台指标金额,SUM(单据计划占用金额+单据核销金额+余额) 前台可用余额,COUNT(*) 行数 from dbo.财政指标前台导出

group by 单位代码,单位) b 

on a.YSDWCODE=SUBSTRING(b.单位代码,2,9)

where 后台指标金额-前台指标金额<>0

order by 单位代码


2. 确定单位后,比对明细,查找差异明细。此处以“财政局机关”为例。

select * from

(select * from dbo.财政指标前台导出

where 单位 like '财政局机关') a

full join

(select * from dbo.财政指标2016后台处理

where YSDWNAME like '财政局机关') b

on a.单位=b.YSDWNAME and a.单据指标金额=b.ZBJE and a.文号=b.DOCNO and a.摘要=b.BZ   and substring(a.功能分类,2,7)=b.GNFLCODE and 备注=ZBSM 

where a.单位 is null or b.YSDWCODE is null


3.分析差异原因。

差异原因大致分为时间跨度和内容分类两个方面。从时间上,因前后台数据提取存在时间差,在时间差时段内的数据容易形成前后台数据量和指标金额差异。


从内容上,前后台数据范围不一致,例如:前台数据单据类型只包含单位指标追加通知单,后台数据可能包含了总指标或者科室指标;前台表仅为指标上系统成功数据,后台数据则包含操作删除或者指标上系统未成功部分,需要通过字段筛选剔除。


审计人员通过数据比对获得差异后,需要与财政部门相关人员一起对差异原因进行分析,切忌擅自修改前台或者后台数据。

来源:微审计(刘颖)


更多精彩内容可向公众号回复关键词:

内控 | 2016版《全面风险管理框架的修订版》

会计 | 史上最全IPO审计的财务问题及其规范方法

报告 | 新审计报告准则发布,你做好准备了吗?

笔记 | 做财务总监十年,总结出98条精华笔记!

四大 | 都闪开,说到黑「四大」谁有我专业

审计 | 内部审计中常见的会计舞弊手段