资源描述
用VBA开发C网话务报表分析系统
摘要:话务报表分析是网络优化中的一项基础工作,目前CDMA网中所使用的SMART工具还不能很好的满足实际工作的需要,为此我们以SMART报表为基础,使用Microsoft Excel VBAI具开发了C网话务报表分析系统,取得了很好的效果。本文详细论述了该系统的设计和实现中的关键问题。
关键字:SMART;话务报表分析;VBA;
TP274
:B
:1673-1131(2010)05-027-03
一、引言
话务报表分析是网络优化中的一项基础工作.通过分析可以得到反映网络运行状况的各种数据,包括接通率、掉话率、误帧率、软切换率.话务量等。依据所得出的数据,不仅能对网络故障实现快速定位,同时还能对故障进行初步的分析,可以极大的提高网络优化工作的效率。
目前CDMA网朗讯业务区话务报表分析中普遍使用的是朗讯公司提供的SMART工具.SMART工具通过导入交换系统每天生成的smr文件,最终能生成基站、小区、AP.Unicom Headquarter等格式的SMART报表。
但在实际工作中发现,依据SMART工具生成的报表,并不能很好地分析出对网络优化工作有用的信息和数据。该情况产生的主要原因有:
(1)SMART报表存在大量的冗余信息,真正有用的信息没有被提炼出来;
(2) SMART报表只是简单的列出了各个参数值,并没有在此基础上,根据运行维护的标准做进一步的分析、判断:
(3) SMART工具只能在所提供的14中报表模板进行选择,无法根据需要自定义报表格式;
(4)生成SMART报表需要占用大量的计算机资源,如果进行一周、一个月的分析,将运行相当长时间,使得该项工作实际无法进行。
针对以上问题,有两种改进的方案。第一种方案是,直接从交换系统中读取smr文件,实时地进行计算和分析,将最后结果显示出来,并保存为符合要求的文件格式。该方案的优点在于能实时显示得到的结果,做到报表分析的全自动化。而该方案的完成需要清楚smr文件接近几百个计数器的定义,和各种参数的计算公式,完成起来难度较大。第二种方案是,以SMART报表为基础,用Microsoft Excel VBA工具进行二次开发。该方案仍以SMART报表为基础,虽无法实时显示各种参数数据,但简单易行。
二、话务报表分析系统的设计
用Microsoft Excel VBA开发的C网话务报表分析系统分为”日报表分析”和”周/月报表分析”两部分。
“日报表分析”实现对SMART报表最初分析.其工作界面如图1所示。选择需要进行日报表分析的日期.输入SMART报表存放的目录路径,点击“生成报表”将生成如图2样式的Excel表格。“保存/关闭报表”将生成的报表保存到相应的路径后关闭该报表。
“日报表分析”提炼和合并Cell. Sector和UnicomHeadquarter格式报表中的有用数据,然后根据得出的数据分别按照接通率、掉话率、软切换率.误帧率、最坏小区的指标对所有小区或基站进行分析,将存在问题的小区或基站单独列出。最后合并一个基站所有小区的话务量得到该基站的话务量,并根据相应标准表示其是否”忙”或”闲“。
“周/月报表分析”对日报表进行进一步的分析,其工作界面如图3所示。选择周或月报表分析的开始和结束日期,并输入日报表存放的目录路径,点击“生成报表”将生成如图4样式的Exc el表格。“保存/关闭报表”将生成的报表保存到相应的路径后关闭该报表。
“周/月报表分析”首先通过求平均值的方式处理日报表中”小区数据”和“基站数据“,并按日期列出日报表中的”考评数据”和“最坏小区”数据。然后根据得出的数据分别按照接通率、掉话率、软切换率,误帧率的指标对所有小区或基站进行分析,将存在问题的小区或基站单独列出。最后合并一个基站所有小区的话务量得到该基站的话务量,并根据相应标准表示其是否“忙”或“闲”。
三.话务报表分析系统实现中的关键问题
3.1单元格的定位和取值,赋值,单元格的遍历
用Microsoft Excel VBA开发话务报表分析系统离不开对Excel表格中单元格的定位和取值、赋值。单元格的引用分为直接引用和间接引用。直接引用单元格常采用编号引用和Range对象引用两种方式,间接引用按照相对于其他单元格的方式来引用单元格。
在Microsoft Excel中单元格是基于某个工作簿的,如果未激活某个Worksheet而直接选取其中的单元格,则会出现”方法无效”的出错提示。
需要遍历表格中的单元格时,可以用For循环语句来实现。其程序代码如下:
Set currentCell= Worksheets(”小区数据”).Range(’´Al”)
Do While Not IsEmpty(currentCell)
Set nextCell= currentCell.Offset(l,0)
处理单元格数据
Set currentCell= nextCell
Loop
3.2数组的使用
在SMART报表中只有基站的编号,为利于对数据的分析,需要将基站名称、所属县市等信息加入表格。相比同时操作基站信息表格和SMART报表,将相关数据做成全局数组加入到程序中,效率更高。该全局数组为多维数组,以基站编号为第1维的下标,第2维依次表示为基站名称、所属县市、小区总数、用于业务信道的CE总数、计算得出的基站话务量。全局数组的维数和取值可以根据需要做增加和更改。将数据加入表格时,遍历表格中的单元格,读出基站标号,根据数组的相应值得到基站名称、所属县市等数据。
3.3筛选、排序、自动填充的使用
Excel中有许多独有的操作,如对数据的筛选、排序、公式、自动填充等,能对数据进行初步的处理。MicrosoftExcel VBA编程中能大量调用Excel中这些独有的操作。例如在日报表分析中处理小区数据的程序流程如图5:
在进行数据筛选后,需要使用以下方法选取和拷贝筛选后得到的数据:
Range(A2).Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Range(Selection, Cells(2, I》.Select
Selection.Copy
3.4日期间隔问题
在周/月报表分析中,需要处理较多天的数据。为处理数据的需要,所有数据文件的名称均有一定的命名规则,如“S20091130.xls"表示2009年11月30日的SMART小区数据报表,"R20091130.xls"表示2009年11月30日的日报表。
可以将日期直接转换为long型数值,例如2009年12月1日转换为”20091201",并顺序的加1,便能得到随后几天的数据。但如果某周的前几天在上月末、后几天在下月初,将日期直接转换为long型数值并顺序加1.会出现2009年1 1月30日的后二天是2009年11月32日的问题。较好的解决办法是,利用先DateDiff函数得到前后日期间隔的天数,再用DateAdd函数在开始日期的基础上顺序得到随后的日期。
四、话务报表分析系统的实际应用
通过话务报表分析系统,实现了对SMART报表数据的每日综合分析,同时还能在一周或一个月的长时间间隔内分析网络和所有基站的运行数据.通过分析得出的数据能很快的发现存在的问题。在2009年11月22日到l2月5日,连续两周的时间内发现荆州九店和观音当镇基站的某些小区掉话率均较高.数据如表1和2。
Call Dropped
Cell_NO Name
City
SectorRate(DropCall%)
153九店
荆州
1
10.37%
11观音当镇
荆州
l
9.70%
333藤店 荆州
l4.16%
251菱角湖 荆州
1
2.96%
152丁家咀 荆州
1
“2.92%
153九店 荆州
2
2.61%
表2 11月29日至12月5日掉话率数据表(部分)
Call Dropped
CelI_NO Name
City
Sector Rate(DropCall%)
153九店 荆州
l8.38%
11观音当镇 荆州
l4.61%
153九店 荆州
2
3.33%
251菱角湖 荆州
1
2.12%
同时这两个基站接通率很低、误帧率参数也很高。通过查看基站的相关信息,发现这两个基站地处荆州和荆门交界,在荆门边界的基站做调整后.这两处基站的临区关系表没有及时更新。在重新做了临区关系表后,九店和观音当基站的掉话率明显改善,2009年12月13日到12月19日的数据表3。
表2 12月13日至12月19日小区数据表(部分)
Call Dropped
CelI_NO Name
City
Sector Rate(DropCall%)
Il观音当镇 荆州
1
II6%
153九店 荆州
1
0.77%
153九店 荆州
2
0.67%
参考文献
[1]魏贝贝,关于SMART使用中的两条经验.湖北联通运行与维护,2003,2:38-39.
[2]中国联合通信有限公司.中国联通电信网运行维护质量指标第二分册(移动业务CDMA网分册).
[3] Jeff Webb.用Visual Basic定制和开发Excel.科学出版社.
作者简介
朱里奇(1973一),毕业于华中科技大学电子与信息工程系,获通信与信息系统硕士学位。后加入中国联通荆州分公司从事网络优化工作,现就职于武汉职业技术学院通信系。主要研究方向为移动通信,网络优化。
-全文完-
展开阅读全文