1 VBA编程简介
Excel是一个功能强大、技术先进、使用方便的数据管理和分析软件,VBA是内置在其中的编程语言。借助VBA可以开发各种电子表格的应用程序,为Excel提供新的功能或增强现有功能,从而极大提高日常工作效率,实现对通信领域中复杂数据的自动化分析和管理。VBA是面向对象(Object)的语言,使用中以Object.Method的形式呈现。在Excel中内置了VBA调试器,非常适用于简单调测与跟踪分析。与Excel结合使用,VBA语言比其他任何一种语言都方便快捷。
2 VBA编程的应用
VBA编程结合Excel在电信领域有很多应用,涉及到信令解析、专项统计、自动报表等多方面内容。
2.1 硬切换日志解析工具
⑴硬切换日志
华为CDMA 系统的硬切换日志(HardHandoff Log,HHL)跟踪功能由BSC实现。开关打开后,当BSC内硬切换或BSC间硬切换切出发生失败时,系统就会产生一条硬切换日志,记录本次硬切换的相关信息,例如IMSI、ESN、发起切换的小区、目标小区、失败原因等。通过在系统侧分析硬切换失败日志,就可以快速定位硬切换失败问题,一般情况下不需要工程师再去路测,大大提高了硬切换问题定位和优化的效率。
⑵工具说明
本工具主要针对SPU源数据进行处理,提取其中HHL相关信息,导入Excel中,进行筛选分析。其功能如下:
● 支持8类指标项目的过滤分析,主要包括失败原因值、呼叫主状态、IMSI、ESN、硬切换属性、呼叫类型、硬切换类型、源侧小区信息等;
● 在Data Sheet页中的标题项目中有对应的8类分布统计按钮,点击后可以获得过滤后的数据,其中失败原因值、呼叫主状态、硬切换属性、呼叫类型、硬切换类型5项指标在对应页均有详细对照说明,方便分析;
● 各分页的返回链接可以回到Data 源数据主页,进行其他属性的分析。
⑶效率提升
在分析硬切换TOP小区的时候,解析HHL日志是必要的。日常分析中主要对SPU日志解析后的数据进行逐条筛选得到相关统计信息。本工具一键实现了性能统计,大大缩短繁琐过程,提高效率,让分析变得直观快捷。
⑷应用建议
江苏电信部分分公司和华为现场优化工程师利用本工具,迅速发现邻区漏配和外部基站信息配置错误信息,很好地解决了用户投诉及边界硬切换成功率低的实际问题(注意,本工具目前仅针对CDMA网络华为区设备信令进行解析统计)。
2.2 室内RRU专项统计工具
⑴室内RRU专项统计
cdma20001x语音的优化是CDMA网络的基础优化工作,为了全面提升全网性能,对于覆盖室内的RRU小区的优化就显得尤为重要。一般而言,构建分布系统用于覆盖室内的小区语音各项指标均应比室外覆盖好很多,主要体现在掉话率低、呼叫成功率高、软切换成功率高、Ec/Io指标好等方面,所以周期性对全省的室内RRU进行统计评估很有必要。
⑵工具说明
为了更好地对全省室内覆盖的RRU小区进行专项优化和统计,通过分公司上报小区数据和数据库采集性能源数据,结合室内RRU专项统计工具,可以便利地统计全省各地市各项指标,按照考核要求进行自动打分。同时在“室内覆盖小区”列表中,会详细统计性能不达标的小区,并将其标注,方便分公司日常的TOP整治和跟踪优化。
⑶效率提升
本工具开发之前,省内通过Excel大量表格数据的Vlook up和重复查找,进行相关指标的统计,效率极低。现在通过读取华为、中兴区的源数据,一键生成RRU各项统计指标,非常方便。
⑷应用建议
本工具在全省周期性地通报全省室内RRU性能各项指标方面,起到了非常便利的作用。各分公司按照本工具提供的不达标小区详表,发现并整改了不少问题点,为其日常工作的T O P整治和跟踪优化,提供了思路,效率大为提升。
全省室内RRU的性能达标率也从80%提升至96%(注意,本工具所读取的两个文件为从SQL Server数据库中建立生成的数据,对于部署在其他省市华为区和中兴区的CDMA网络,需要在数据库中配置好相关基站信息,以与本工具匹配)。
2.3 自动路测报表统计工具
⑴自动路测
自动路测系统是使用自动测试数据采集和传输终端(RCU),通过整合社会化移动载体资源(如出租车与长途大巴车)进行海量数据的测试。通过计算机终端向RCU 发送测试指令,RCU按测试指令进行测试并记录测试数据,通过CDMA网络实时传到后台数据服务器。利用自动路测系统可以通过海量数据的获取以及分析,将网络中的隐性问题点暴露出来,从偶然事件中发现必然事件,从而使网优工程师有的放矢。
⑵工具说明
本工具主要针对自动路测系统生成的海量数据(444个Excel文件)进行分类筛选和统计,可以生成三大运营商各自的高速、国道省道、地市高速、市区、县城各5张性能表,并最后提供每项指标各在运营商之间的对比报表,全部共计20张报表。涉及的指标主要有:测试里程、里程覆盖率、接通率、掉话次数、里程掉话比、MOS均值等。
⑶效率提升
省公司每双周要对自动路测的数据进行汇总统计,为分公司的干道边界优化提前发现、解决问题。同时对比其他运营商的网络指标,知己知彼。本工具由之前需要读444个Excel表文件,并且进行大量重复劳动变为现在的一键生成,大大缩短了报表生成的时间,提高了效率。
⑷应用建议
本工具适应不同地市的各类自动路测RCU文件,可以在部署了自动路测系统的省市使用。
3 VBA编程效率优化建议
3.1 减少使用对象引用
尽量减少使用对象引用,尤其在循环中。每一个Excel 对象的属性、方法的调用都需要通过OLE接口的一个或多个调用,这些OLE调用都是需要时间的,减少使用对象引用能加快VBA代码的运行。使用With语句和对象变量均能加快运行速度。
3.2 关闭屏幕更新
VBA程序中关闭屏幕更新是提高程序运行速度的最有效的方法,缩短运行时间2/3 左右。关闭屏幕更新的方法:Application.ScreenUpdate =False。最后不要忘记VBA程序运行结束时再将该值设回来:Application.ScreenUpdate = True。
3.3 注意单元格写法
Cells(1,1) 符合 Excel结构,最快;Range("A1") 有对象,稍慢;[A1] 写的快,运行慢。
3.4 数组取代RANGE对象
少用RANGE对象,可用数组取代,速度快5~10 倍。
4 结束语
VBA是一种快速上手和能解决实际中问题的工具语言。结合实际工作,熟练使用VBA编程,可以减少重复过程,让工作事半功倍。