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編程,可以減少重復過程,讓工作事半功倍。