1 VBA編程簡介
Excel是一個(gè)功能強(qiáng)大、技術(shù)先進(jìn)、使用方便的數(shù)據(jù)管理和分析軟件,VBA是內(nèi)置在其中的編程語言。借助VBA可以開發(fā)各種電子表格的應(yīng)用程序,為Excel提供新的功能或增強(qiáng)現(xiàn)有功能,從而極大提高日常工作效率,實(shí)現(xiàn)對(duì)通信領(lǐng)域中復(fù)雜數(shù)據(jù)的自動(dòng)化分析和管理。VBA是面向?qū)ο螅?span lang="EN-US">Object)的語言,使用中以Object.Method的形式呈現(xiàn)。在Excel中內(nèi)置了VBA調(diào)試器,非常適用于簡單調(diào)測與跟蹤分析。與Excel結(jié)合使用,VBA語言比其他任何一種語言都方便快捷。
2 VBA編程的應(yīng)用
VBA編程結(jié)合Excel在電信領(lǐng)域有很多應(yīng)用,涉及到信令解析、專項(xiàng)統(tǒng)計(jì)、自動(dòng)報(bào)表等多方面內(nèi)容。
2.1 硬切換日志解析工具
⑴硬切換日志
華為CDMA 系統(tǒng)的硬切換日志(HardHandoff Log,HHL)跟蹤功能由BSC實(shí)現(xiàn)。開關(guān)打開后,當(dāng)BSC內(nèi)硬切換或BSC間硬切換切出發(fā)生失敗時(shí),系統(tǒng)就會(huì)產(chǎn)生一條硬切換日志,記錄本次硬切換的相關(guān)信息,例如IMSI、ESN、發(fā)起切換的小區(qū)、目標(biāo)小區(qū)、失敗原因等。通過在系統(tǒng)側(cè)分析硬切換失敗日志,就可以快速定位硬切換失敗問題,一般情況下不需要工程師再去路測,大大提高了硬切換問題定位和優(yōu)化的效率。
⑵工具說明
本工具主要針對(duì)SPU源數(shù)據(jù)進(jìn)行處理,提取其中HHL相關(guān)信息,導(dǎo)入Excel中,進(jìn)行篩選分析。其功能如下:
● 支持8類指標(biāo)項(xiàng)目的過濾分析,主要包括失敗原因值、呼叫主狀態(tài)、IMSI、ESN、硬切換屬性、呼叫類型、硬切換類型、源側(cè)小區(qū)信息等;
● 在Data Sheet頁中的標(biāo)題項(xiàng)目中有對(duì)應(yīng)的8類分布統(tǒng)計(jì)按鈕,點(diǎn)擊后可以獲得過濾后的數(shù)據(jù),其中失敗原因值、呼叫主狀態(tài)、硬切換屬性、呼叫類型、硬切換類型5項(xiàng)指標(biāo)在對(duì)應(yīng)頁均有詳細(xì)對(duì)照說明,方便分析;
● 各分頁的返回鏈接可以回到Data 源數(shù)據(jù)主頁,進(jìn)行其他屬性的分析。
⑶效率提升
在分析硬切換TOP小區(qū)的時(shí)候,解析HHL日志是必要的。日常分析中主要對(duì)SPU日志解析后的數(shù)據(jù)進(jìn)行逐條篩選得到相關(guān)統(tǒng)計(jì)信息。本工具一鍵實(shí)現(xiàn)了性能統(tǒng)計(jì),大大縮短繁瑣過程,提高效率,讓分析變得直觀快捷。
⑷應(yīng)用建議
江蘇電信部分分公司和華為現(xiàn)場優(yōu)化工程師利用本工具,迅速發(fā)現(xiàn)鄰區(qū)漏配和外部基站信息配置錯(cuò)誤信息,很好地解決了用戶投訴及邊界硬切換成功率低的實(shí)際問題(注意,本工具目前僅針對(duì)CDMA網(wǎng)絡(luò)華為區(qū)設(shè)備信令進(jìn)行解析統(tǒng)計(jì))。
2.2 室內(nèi)RRU專項(xiàng)統(tǒng)計(jì)工具
⑴室內(nèi)RRU專項(xiàng)統(tǒng)計(jì)
cdma20001x語音的優(yōu)化是CDMA網(wǎng)絡(luò)的基礎(chǔ)優(yōu)化工作,為了全面提升全網(wǎng)性能,對(duì)于覆蓋室內(nèi)的RRU小區(qū)的優(yōu)化就顯得尤為重要。一般而言,構(gòu)建分布系統(tǒng)用于覆蓋室內(nèi)的小區(qū)語音各項(xiàng)指標(biāo)均應(yīng)比室外覆蓋好很多,主要體現(xiàn)在掉話率低、呼叫成功率高、軟切換成功率高、Ec/Io指標(biāo)好等方面,所以周期性對(duì)全省的室內(nèi)RRU進(jìn)行統(tǒng)計(jì)評(píng)估很有必要。
⑵工具說明
為了更好地對(duì)全省室內(nèi)覆蓋的RRU小區(qū)進(jìn)行專項(xiàng)優(yōu)化和統(tǒng)計(jì),通過分公司上報(bào)小區(qū)數(shù)據(jù)和數(shù)據(jù)庫采集性能源數(shù)據(jù),結(jié)合室內(nèi)RRU專項(xiàng)統(tǒng)計(jì)工具,可以便利地統(tǒng)計(jì)全省各地市各項(xiàng)指標(biāo),按照考核要求進(jìn)行自動(dòng)打分。同時(shí)在“室內(nèi)覆蓋小區(qū)”列表中,會(huì)詳細(xì)統(tǒng)計(jì)性能不達(dá)標(biāo)的小區(qū),并將其標(biāo)注,方便分公司日常的TOP整治和跟蹤優(yōu)化。
⑶效率提升
本工具開發(fā)之前,省內(nèi)通過Excel大量表格數(shù)據(jù)的Vlook up和重復(fù)查找,進(jìn)行相關(guān)指標(biāo)的統(tǒng)計(jì),效率極低。現(xiàn)在通過讀取華為、中興區(qū)的源數(shù)據(jù),一鍵生成RRU各項(xiàng)統(tǒng)計(jì)指標(biāo),非常方便。
⑷應(yīng)用建議
本工具在全省周期性地通報(bào)全省室內(nèi)RRU性能各項(xiàng)指標(biāo)方面,起到了非常便利的作用。各分公司按照本工具提供的不達(dá)標(biāo)小區(qū)詳表,發(fā)現(xiàn)并整改了不少問題點(diǎn),為其日常工作的T O P整治和跟蹤優(yōu)化,提供了思路,效率大為提升。
全省室內(nèi)RRU的性能達(dá)標(biāo)率也從80%提升至96%(注意,本工具所讀取的兩個(gè)文件為從SQL Server數(shù)據(jù)庫中建立生成的數(shù)據(jù),對(duì)于部署在其他省市華為區(qū)和中興區(qū)的CDMA網(wǎng)絡(luò),需要在數(shù)據(jù)庫中配置好相關(guān)基站信息,以與本工具匹配)。
2.3 自動(dòng)路測報(bào)表統(tǒng)計(jì)工具
⑴自動(dòng)路測
自動(dòng)路測系統(tǒng)是使用自動(dòng)測試數(shù)據(jù)采集和傳輸終端(RCU),通過整合社會(huì)化移動(dòng)載體資源(如出租車與長途大巴車)進(jìn)行海量數(shù)據(jù)的測試。通過計(jì)算機(jī)終端向RCU 發(fā)送測試指令,RCU按測試指令進(jìn)行測試并記錄測試數(shù)據(jù),通過CDMA網(wǎng)絡(luò)實(shí)時(shí)傳到后臺(tái)數(shù)據(jù)服務(wù)器。利用自動(dòng)路測系統(tǒng)可以通過海量數(shù)據(jù)的獲取以及分析,將網(wǎng)絡(luò)中的隱性問題點(diǎn)暴露出來,從偶然事件中發(fā)現(xiàn)必然事件,從而使網(wǎng)優(yōu)工程師有的放矢。
⑵工具說明
本工具主要針對(duì)自動(dòng)路測系統(tǒng)生成的海量數(shù)據(jù)(444個(gè)Excel文件)進(jìn)行分類篩選和統(tǒng)計(jì),可以生成三大運(yùn)營商各自的高速、國道省道、地市高速、市區(qū)、縣城各5張性能表,并最后提供每項(xiàng)指標(biāo)各在運(yùn)營商之間的對(duì)比報(bào)表,全部共計(jì)20張報(bào)表。涉及的指標(biāo)主要有:測試?yán)锍?、里程覆蓋率、接通率、掉話次數(shù)、里程掉話比、MOS均值等。
⑶效率提升
省公司每雙周要對(duì)自動(dòng)路測的數(shù)據(jù)進(jìn)行匯總統(tǒng)計(jì),為分公司的干道邊界優(yōu)化提前發(fā)現(xiàn)、解決問題。同時(shí)對(duì)比其他運(yùn)營商的網(wǎng)絡(luò)指標(biāo),知己知彼。本工具由之前需要讀444個(gè)Excel表文件,并且進(jìn)行大量重復(fù)勞動(dòng)變?yōu)楝F(xiàn)在的一鍵生成,大大縮短了報(bào)表生成的時(shí)間,提高了效率。
⑷應(yīng)用建議
本工具適應(yīng)不同地市的各類自動(dòng)路測RCU文件,可以在部署了自動(dòng)路測系統(tǒng)的省市使用。
3 VBA編程效率優(yōu)化建議
3.1 減少使用對(duì)象引用
盡量減少使用對(duì)象引用,尤其在循環(huán)中。每一個(gè)Excel 對(duì)象的屬性、方法的調(diào)用都需要通過OLE接口的一個(gè)或多個(gè)調(diào)用,這些OLE調(diào)用都是需要時(shí)間的,減少使用對(duì)象引用能加快VBA代碼的運(yùn)行。使用With語句和對(duì)象變量均能加快運(yùn)行速度。
3.2 關(guān)閉屏幕更新
VBA程序中關(guān)閉屏幕更新是提高程序運(yùn)行速度的最有效的方法,縮短運(yùn)行時(shí)間2/3 左右。關(guān)閉屏幕更新的方法:Application.ScreenUpdate =False。最后不要忘記VBA程序運(yùn)行結(jié)束時(shí)再將該值設(shè)回來:Application.ScreenUpdate = True。
3.3 注意單元格寫法
Cells(1,1) 符合 Excel結(jié)構(gòu),最快;Range("A1") 有對(duì)象,稍慢;[A1] 寫的快,運(yùn)行慢。
3.4 數(shù)組取代RANGE對(duì)象
少用RANGE對(duì)象,可用數(shù)組取代,速度快5~10 倍。
4 結(jié)束語
VBA是一種快速上手和能解決實(shí)際中問題的工具語言。結(jié)合實(shí)際工作,熟練使用VBA編程,可以減少重復(fù)過程,讓工作事半功倍。