可视化分析在电力营销审计中的应用

2020-02-14 07:40厉雨邵天龙王浩
中国内部审计 2020年1期
关键词:数据表可视化分析

厉雨 邵天龙 王浩

[摘要]本文介绍了确定源端业务系统与全业务数据中心数据表对应关系的方式方法,进一步将全业务数据中心数据字典本地化,并讨论如何将查询数据表提取至电子表格,通过应用Excel的ADO和VBA技术对数据进行清洗和转换,得到加工处理过的数据,进而通过BI软件Tableau连接至该数据源并进行可视化分析与展现,使内部审计透过可视化发现疑点、分析原因、提出建议。

[关键词]全业务    数据表    数据转换    可视化分析

國网公司于2016年初启动全业务统一数据中心建设,将源端业务系统的存量数据及增量数据高度融合,充分共享至贴源历史层(以下简称贴源层)。贴源层采用的数据库为Oracle数据库,由此,审计人员想要获取数据除了通过源端业务系统进行前端查询之外,还可以通过访问贴源层来获取数据。只要拥有贴源层相应的访问权限,就可以直接访问贴源层并查询相关数据,相对于审计人员从单一源端系统查询数据更便捷也更强大。本文通过PL/SQL软件访问贴源层Oracle数据库,PL/SQL是一款可以访问、操作、维护Oracle数据库的软件,辅以SQL语句即可访问贴源层各源端系统及其数据表,并可将查询结果导出为xls、csv等Excel文件。在Excel中通过ADO及VBA技术进行多表、跨表数据提取汇总、清洗及数据分析等操作,将Tableau链接处理以后的电子表格作为数据源进行数据可视化分析,进而从可视化展示中发现问题,解决问题。

一、Tableau简介

相对于其他BI软件,Tableau学习成本低而功能产出却更为强大。Tablueu的使用分为三步:链接数据源、制作可视化图表、使用仪表板讲述可视化故事。连接好数据源以后,Tableau会智能地将字段转换为度量或维度值,一般会将文本型和日期型字段转换为维度值,用于分类或阐明数据;而数值类型的字段一般会转换为度量值,可根据维度值进行一些聚合计算,如求和、计数、平均值等。有了这些度量及维度值,只需在Tableau中通过一些基本的拖拽即可做出美观的可视化图表。Tabluea会根据用户拖拽的字段智能生成系统最佳匹配的图表。

二、结合源端系统在贴源层定位并查询数据

(一)贴源层数据字典本地化

为方便日后查询数据表以及表字段,首先,将贴源层数据字典本地化。通过SQL语句进行数据表ALL_COL_COMMENTS及ALL_TAB_COMMENTS联合查询,即可查询出表名、表注释、字段名、字段注释等数据表信息。将查询所得数据导出到Excel表格,考虑到Excel储存能力及计算速度有限,采用将Access作为本地数据字典的储存载体。Access相比Excel不仅数据更为严谨,而且储存量达到2G内存,查询速度也比Excel快。虽然Access更适合作为储存载体,但其操作界面相较于Excel不够人性化,也不符合大多数审计人员的操作习惯,因此在Excel里通过UI设计结合VBA语言开发一套前端查询系统。数据字典本地化不占用服务器资源,数据库在本地相对查询速度比在贴源层直接查询要快。此外,这样一份数据字典为审计人员的日常工作带来一定的便利。

(二)源端系统Html网页结构分析

通过源端系统可以查询数据,但是查询方式必须按照前端所设定的固定查询条件进行。如果可以直接在贴源层查询的话,就可以按照自己想要的条件编写SQL语句进行查询,从而大大提高数据查询的灵活性。但灵活查询的前提是要梳理清楚源端系统前端页面与贴源层数据表之间的对应关系。

为理清源端数据表与贴源层数据表的对应关系,最初笔者采用的方法是字段注释模糊检索法,但此方法无异于大海捞针,不仅工作量大而且缺乏针对性。而采用Html网页结构分析法,可以快速找到源端系统与贴源层数据表的对应关系,此方法使得工作量大大缩短,而且更有针对性。

(三)查询贴源层数据到本地

已知数据表名,接下来的数据查询工作就变得简单很多。通过以下SQL语句查询FC_GC数据表中的数据:SELECT * FROM BUF_CMS_ALL.FC_GC,然后将查询结果导出为Excel格式的数据。如果数据量过大超出Excel的行数限制,可以在上述SQL基础上加一个限制条件:ROWNUM<1,000,000,这样就可以查询1,000,000条以下的记录数。通过Html网页结构分析法,很快将发电客户档案里的其他几个表数据也查询到本地Excel文件中。

三、应用Excel ADO技术进行数据处理

(一)Office ADO技术介绍

ADO是微软提供的一项技术手段,为用户访问数据库中的数据提供了API接口。本文基于微软提供的Access和Excel的驱动程序,得以实现在Excel中调用ADO接口访问Access或Excel数据库。ADO的工作原理是先创建ADO的类,然后通过一串连接字符串,通过所创建的类来实现对数据库的连接。

连接Excel的字符串如下:"provider=Microsoft.ACE.OLEDB.12.0;extended properties=Excel 12.0; data source=",

“data source”等于所要连接的本地Excel文件的完整路径。

连接Access的字符串如下:"provider=Microsoft.ace.OLEDB.12.0; Data source="

“data source”等于所要连接的本地Access文件的完整路径。

在连接成功的前提下,通过ADO提供的Execute方法执行SQL语句,并得到查询记录集对象。最终通过Copy From Recordset方法将查询记录集对象输出到本地的Excel文件中。

由于强大的ADO接口,可以使用该接口访问Excel和Access文件。使用SQL语句查询本地数据库不仅速度快,且可提供许多聚合计算的函数,既保证审计人员仍然可以使用Excel作为数据分析工具,又兼得数据处理的速度与能力。

(二)无效数据删除

当Excel数据量达到数十万甚至百万量级时,数据处理速度就成为审计人员关切的问题。为突破普通筛选以及函数处理速度慢的现状,本文采用ADO技术作为无效数据筛查的手段。如在发电客户档案表中,发电方式字段的有效识别符包括01、02、03、04,而在前面查询所得的FC_GC表内却出现了07、11、99以及空白等不应当出现的识别符。在这种情况下,这些无法识别的识别符应作为无效数据删除。在发电客户档案表中,相当一部分字段都出现了这种情况,因此需要逐一检查并排除。

通过SQL语句排除无效识别符,只需在SQL语句里加几个限制查询条件即可,具体SQL语句为:SELECT * FROM FC_GC WHERE GC_TYPE_CODE =01AND GC_TYPE_CODE =02AND GC_TYPE_CODE =03AND GC_TYPE_CODE =04

(三)数据格式化

数据格式化指将数据表中的数据进行整理使其样式统一,便于后续数据分析。如在FC_GC表中的客户建档日期字段内出现了空白日期或日期格式不规范的情况。对于空白的日期,应考虑是否作为无效数据进行删除。日期格式出现了“YYYY-MM-DD HH:MM:SS”和“YYYY-MM-DD”两种格式,应根据业务需求,如将日期统一格式化為“YYYY-MM-DD”格式。这一操作同样可通过SQL语句中的FORMAT函数实现,具体的SQL语句为:SELECT FORMAT(BUILD_DATE,YYYY-MM-DD) FROM FC_GC。通过此方法将FC_GC数据表中的其他日期类字段统一格式化为“YYYY-MM-DD”格式。

四、通过Tableau对电力销售进行可视化分析

使用VBA技术对电力销售明细表进行多表及跨表数据提取汇总,将汇总数据作为数据源连接至Tableau,最终通过Tableau进行数据可视化展示。

(一)数据汇总

通过源端系统导出的数据为多个Excel表格,其中包括国网辽宁公司整体数据以及各地市公司数据。首先使用Excel VBA技术将辽宁省及各地市数据汇总到一个电子表格内。语句如下:

fileToopen = Application.GetOpenFilename("

Excel Files(*.xl*), * .xl*", "请选择文件", True)

If IsArray(fileToopen) = False Then

Exit Sub

Else

For i = 1 To UBound(fileToopen)

Set wb = Workbooks.Open(fileToopen(i))

Next

End If

通过上述语句可以选择多个Excel文件并将它们逐个打开,再通过以下语句获取各个工作表的数据至一个汇总表:

Sheet4.Range("d" & MaxRow1).Value = sht.Range("E11").Value

Sheet4.Range("e" & MaxRow1).Value = sht.Range("G11").Value

Sheet4.Range("f" & MaxRow1).Value = sht.Range("H11").Value

Sheet4.Range("g" & MaxRow1).Value = sht.Range("I11").Value

最终,将辽宁省及各地市的售电量、峰平谷电量、应收电费等数据进行汇总,如表1所示。

(二)售电量可视化分析

将上述数据作为数据源与Tableau进行连接。在Tableau软件中将“地市”字段转换为地理角色——县,Tableau即可自动创建各地市的经纬度度量值,进而通过拖拽经纬度创建辽宁省售电量地图,如图1所示。

在上述售电量地图中,可以看到Tableau创建的辽宁省各地市地图分界线以及各地市名称。每个地市用不同颜色的气泡表示,气泡大小与售电量总和大小成正比。通过该图可以看出,沈阳、鞍山、营口、大连4个地市的售电量总和最大,丹东、阜新等售电量总和相对较小。

Tableau可以创建的图表类型非常多,不仅仅局限于地图可视化,通过业务分析创建各种类型的可视化图表,还提供了仪表盘工具,可将各种可视化图表放置到仪表盘内进行布局设计。另外,还可通过关联数据创建动态可视化图表,如图2所示。

通过一系列可视化图表展示,可直观清晰地对比各地市售电量数据、峰平谷数据、应收电费数据大小、走向趋势等信息,以达到透过可视化找异常、透过异常找原因、透过原因直达病灶解决问题的审计目的。

五、Tableau与Power BI及Excel的对比

Power BI是微软开发的BI软件,Power BI的组件较多,其中最主要的有Power Query、Power Pivot和Power BI Desktop。Power BI与Tableau相比,劣势在于组件多,每种组件的学习成本也相对较高,并且目前国内相关的学习资料相对较少。审计人员想要得心应手地运用还需学习M语言及DAX语言。Tabluea不需要审计人员具备任何编程基础,甚至通过半天的短暂培训就可以快速上手数据可视化制作。本文用到的版本为Tableau Public,该版本为免费版,其所链接的数据源有Excel文件和CSV文件,足以完成大部分可视化分析工作。在实际工作中,审计人员大多运用Excel进行数据处理。因此,Tableau Public不仅省去了使用成本,而且更适用于数据分析师进行一些基本的可视化工作。

(作者单位:国网辽宁省电力有限公司,邮政编码:110006,电子邮箱:liy@ln.sgcc.com.cn)

猜你喜欢
数据表可视化分析
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
湖北省新冠肺炎疫情数据表
基于SQLite的边界扫描测试链路自动生成研究与实现
高校学生管理法治化研究:基于CiteSpace的可视化分析
我国职业教育师资研究热点可视化分析
声波吹灰技术在SCR中的应用研究
可视化分析技术在网络舆情研究中的应用
国内外政府信息公开研究的脉络、流派与趋势
基于网络的高校教材管理系统的研究