999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用VBA工具實現汽車產品數據自動化處理

2020-07-23 07:00:18肖凱郁淑聰王景景
時代汽車 2020年7期
關鍵詞:數據挖掘

肖凱 郁淑聰 王景景

摘 要:隨著國內汽車市場競爭壓力進一步增大,各大主機廠都在加快汽車產品的開發換代工作。同時,隨著各家產品策略的轉變,數據體系和分析維度也在不斷變化,如產品名稱的變更,數據源的轉換,車型分類標準擴充等,每次變更都會導致數據體系的變化,這也導致汽車產品研究工作面臨大量繁瑣的數據分析工作,給相關業務人員帶來了諸多挑戰,也占用了大量不必要的時間,因此,設計數據自動化處理方案對如今的汽車產品規劃工作十分重要。本文采用了技術門檻較低的EXCEL及VBA進行自動化數據處理,并著重保留其可修改性,以便滿足不斷變化的數據分析需求。

關鍵詞:VBA;乘用車;產品研究;市場研究;數據挖掘

1 VBA工具簡述

Visual Basic for Applications(即VBA)是1993年微軟公司基于VB語言開發的可在應用程序內共享的通用自動化語言,集成于OFFICE軟件和部分第三方軟件中,如WORD,EXCEL,AUTOCAD等。VBA與其他常見的編程語言不同,需要基于對應的應用程序運行,不需要通過搭建編譯環境獨立運行,這給VBA工帶來了門檻低,效率高的優勢,部分應用程序還可以通過圖形界面生成VBA代碼,實現可視化編程操作,方便程序的流通和修改,這大大拓展了它的應用范圍,更適合需要跨專業知識的非專業程序員使用,也更適合需要頻繁人工介入的小型項目。

以EXCEL中內嵌的VBA工具為例,其開發工具包基于VB語言,并與軟件高度整合,可借助代碼實現多種對象的操作,包括數據的增刪修改,復制,移位等等,還可通過代碼調用EXCEL內建功能,包括函數,透視表,排序等。VBA自動化辦公的本質就是利用自動化執行的代碼代替人工操作,避免重復性工作,提高數據處理效率。

與當前流行的Python語言相比,雖然Python可以通過xlwt和xlrd兩個庫進行EXCEL文件的寫入編輯,但其主要應用于原始數據的清洗整理。如果要對整理好的數據進行大量的透視,計算,生成圖表等操作,需要針對不同業務場景進行大量的代碼編寫,且過程無法可視化,最終形成的程序可讀性較差,后續修改困難,不適用于數據維度復雜多變的汽車產品數據體系。如最終要生成具有模板的EXCEL文件,還要利用代碼進行文件的統一化,不僅需要額外增加工作量,還對數據表的移交和交叉部門協作帶來困擾。而使用VBA操作不會有類似的問題,生成的圖表和普通EXCEL一致,所有的模板化操作可繼續沿用,也方便不同部門的交叉協作。故本文主要采用VBA工具搭配EXCEL自帶功能實現汽車產品數據的自動化處理,更適應于汽車產品數據工作人員。

2 汽車產品數據體系

作為制造工業體系的明珠,整車產品數據包羅萬象,在產品規劃端有整車配置數據,研發端有參數數據,生產端有制造數據,銷售端有銷量及價格數據。且此類數據大多具有工業數據的幾大特點,如標準不統一,應用范圍窄,數據采集成本高等等。不同于互聯網信息類數據的處理,汽車產品數據分析更側重于簡單的交叉分析和專業人士的介入處理,需要數據處理和汽車產品兩方面的專業知識,為便于理解,本文主要運用以車款型數據為基準的銷量及價格數據進行分析。

在實際業務應用中,往往需要針對不同的業務場景對產品的多項屬性進行交叉銷量分析,如針對不同車型的交叉分析,不同品牌的交叉分析,或是不同級別的交叉分析。傳統方法是利用EXCEL數據透視表或聯合公式先行計算各個交叉維度的加權比例,再代入數據加和求解,在面臨大量數據計算時會造成大量重復工作。本文以計算產品多維度交叉價格為例,簡要介紹VBA工具的應用及數據處理思路。

3 VBA數據處理范例

3.1 數據整合

以表1數據為例,現有原始數據包含車型,車型級別,價位段,品牌層級等,并包含銷量及價格數據,計算交叉維度的月度加權價格與年度累計加權價格(如A級轎車10-15萬車型的加權價格),采用傳統方法計算,需要手動利用銷量計算出各個維度下各車型的銷量占比,再乘以價格算出加權,最后再以年度和月度分別求和,方法較為繁瑣。借用VBA方法處理,可實現自動化數據輸出操作,大大減輕工作量。

若利用VBA進行數據處理,首先需要進行數據的統一化整合,方便后續的自動化計算,減少人工操作的時間,本文利用EXCEL的“&”命令,將各個交叉維度整合為單一整體維度,方便后續計算加權,如表2,通過構建D1&"/"&E1&"/"&F1公式(字母為相關數據所在列),將交叉維度合并為整體。需注意,此類思路可推廣到多種業務場景中,如關聯條件分析,多條件聯合匹配等。通過前置的數據處理可以減少VBA中復雜代碼的編寫,便于代碼遷移和修改,對于汽車產品數據來說,也給人工條件的介入預留了條件,一旦后續需要修改數據處理邏輯,只需要通過圖形界面修改前置數據處理格式即可,不需要重新進行代碼編寫,適用于業務場景多變的汽車產品數據人員。

同理,為進行交叉維度的月度及年度的加權分布計算,還需要在交叉維度上加入年月屬性,同樣利用“&”命令實現,需注意,此處的時間組合維度需與表格中的最小單位一致,以本表為例,最小計算單位為車型月度銷量和月度價格,則交叉維度中的年月屬性及行數也以車型為最小單位,并允許重復出現,這樣在最終計算占比時才不會出錯。最終形成如表3所示的分批整合數據。以此分類數據為基礎,即可開始利用VBA功能進行計算。

3.2 加權自動化計算

要計算加權價格,首先要計算各個維度的下各個車型的銷量占比,再將車型價格與銷量占比相乘,最終加和為加權價格。由于不同維度下的數據求和結果不同,難以利用公式計算,我們可以借助VBA代碼調用EXCEL內置的數據透視表功能,利用數據透視表的“計算父列加和百分比”模塊,直接計算各個加和維度下的車型銷量占比,相較于利用嵌套公式計算,數據透視表可以通過圖形界面演算,過程便于理解,且可以隨時修改調整透視過程,比較符合非職業程序員的操作習慣。可實現代碼如下:

With ActiveSheet.PivotTables("數據透視表1").PivotFields("整合月份1")

.Orientation=xlRowField

.Position=1

'設定計算交叉維度,即“父行”

End With

With ActiveSheet.PivotTables("數據透視表1").PivotFields("車型")

.Orientation = xlRowField

.Position = 2

End With

'設定最小計算單位,如本文的車型銷量

With ActiveSheet.PivotTables("數據透視表1").PivotFields("計數項:銷量")

.Caption = "求和項:銷量"

.Function=xlSum

.Calculation=xlPercentOfParentRow

'利用父行計算百分比的方式分別計算各個維度下車型銷量的占比

計算執行后可得計算結果類似表4。

可以看出,計算出結果后,可以得到各個車型在各個交叉維度所占比例,此處的比例即為車型加權價格的參考,利用VBA執行VLOOKUP函數,可將各車型占比匹配到車型單位中,需注意,這里匹配到的維度必須為計算運用的最小維度,即前文所述的車型月度銷量和月度價格,且此處匹配的MIX值在總體維度上加和需為100%(即任一類交叉維度下所有車型MIX值加和結果為100%),如加和比例不滿足100%,可能是數據結構或計算方式有誤,可嘗試換用“父列匯總百分比”或轉置數據結構,執行代碼后驗證無誤才可進行下一步操作,此處匹配代碼如下:

ActiveCell.FormulaR1C1 = "=VLOOKUP(@C[-10],Sheet1!C[-30]:C[-29],2,0)"

Selection.AutoFill Destination:=Range("AE2:AE291678")

Range("AE2:AE291678").Select

'利用VLOOKUP函數匹配數據透視表,匹配車型占比值

Dim Sht As Worksheet

For Each Sht In Sheets

Sht.UsedRange = Sht.UsedRange.Value

'利用VBA代碼將VLOOKUP結果轉換為永久數值,消去公式

計算出各個維度下的車型銷量占比后,本類計算最重要的工作已經完成,后續只需要進行常規加權計算操作,可利用VBA將比例與車型價格相乘,計算出車型加權價格,再借助數據透視表或代碼公式將加權價格以各個維度為單位求和,得出各維度的最終加權價格。代碼如下:

Application.CutCopyMode=False

ActiveCell.FormulaR1C1 = "=RC[-7]*RC[-26]"

Range("AK2").Select

ActiveCell.FormulaR1C1 = "=RC[-7]*RC11"

Range("AK2").Select

'利用VBA代碼將銷量占比與車型價格相乘,計算出車型加權價格

Selection.AutoFill Destination:=Range("AK2:AQ2"),Type:=xlFillDefault

Range("AK2:AQ2").Select

Selection.AutoFill Destination:=Range("AK2:AQ291678")

Range("AK2:AQ291678").Select

'將計算公式應用到所有單元格中

需注意,此處的單元格應用代碼需要根據實際數據情況進行修改,否則會出現重復的“#N/A”錯誤,如本題所例,單元格范圍由AK2至AQ291678,實際運用時需根據實際數據情況進行代碼調整,并注意篩選后帶來數據行數減少等問題。最終,通過復用代碼實現類似數據重復處理,最終輸出結果如表5所示。

4 總結

通過以上計算可以了解到,VBA計算的主要優勢在于可利用EXCEL的自帶功能,如透視表,公式替換,表格統一等。更便于兼職數據處理人員使用。以本文為例,如不擅長編寫代碼,可借助EXCEL的宏錄制功能,利用圖形界面錄制透視表操作過程,自動生成代碼,完成MIX的計算,后續只需要針對代碼進行微調,保持計算覆蓋所有單元格,確保格式統一,即可完成自動化數據分析。同時,通過調整數據預處理方式,本文所述方法還可以用于周期性產品數據的處理及匹配,如將數據維度替換為自動鏈接數據庫的新車型銷量數據,即可實現自動化計算新上市車型MIX,將數據維度替換為車型配置數據,可實現產品數據智能匹配。如上所述,VBA操作具有良好的兼容性,且操作門檻低,可應用于汽車產品研究業務的各個環節,適合需要頻繁人工介入的汽車產品數據處理人員,在實際業務中可大大降低工作壓力,提高數據處理效率,從而有更多的時間放在數據的解讀上,充分發揮人員的專業能力,避免無意義的時間消耗。

參考文獻:

[1]王漢雄,喬景順.Excel VBA在測量數據處理中的應用[J].測繪科學,2008(2):210-212.

[2]賀婧.Excel VBA在道路工程測量中的應用[J].科技創新與應用,2020(08):185-186.

[3]王靖,王林,周金文.用Excel VBA方法實現報表自動生成[J].電力科學與工程. 2009(01).

猜你喜歡
數據挖掘
基于數據挖掘的船舶通信網絡流量異常識別方法
探討人工智能與數據挖掘發展趨勢
數據挖掘技術在打擊倒賣OBU逃費中的應用淺析
基于并行計算的大數據挖掘在電網中的應用
電力與能源(2017年6期)2017-05-14 06:19:37
數據挖掘技術在中醫診療數據分析中的應用
一種基于Hadoop的大數據挖掘云服務及應用
數據挖掘在高校圖書館中的應用
數據挖掘的分析與探索
河南科技(2014年23期)2014-02-27 14:18:43
基于GPGPU的離散數據挖掘研究
利用數據挖掘技術實現LIS數據共享的開發實踐
主站蜘蛛池模板: 国产va视频| 亚洲av无码成人专区| 亚国产欧美在线人成| 99尹人香蕉国产免费天天拍| 免费毛片在线| 亚洲女同欧美在线| 精品福利视频导航| 亚洲精品自拍区在线观看| 在线观看国产小视频| 99视频在线看| 国产办公室秘书无码精品| 精品无码专区亚洲| 成人福利在线视频免费观看| 亚洲成a人片7777| 日韩精品久久久久久久电影蜜臀| 99偷拍视频精品一区二区| 99久久国产综合精品2020| 亚洲码一区二区三区| 欧美国产日韩在线观看| 国产成人精品在线| 天天躁狠狠躁| 亚洲人成色77777在线观看| 亚洲日本一本dvd高清| 自偷自拍三级全三级视频| 人妻无码中文字幕一区二区三区| 欧美午夜性视频| 91久久国产成人免费观看| 国产精品福利社| 国产日韩精品欧美一区灰| 久久精品aⅴ无码中文字幕| 亚洲最大看欧美片网站地址| 国产H片无码不卡在线视频| 婷婷成人综合| 久久亚洲国产最新网站| 欧美色伊人| 成人午夜亚洲影视在线观看| 中文字幕日韩丝袜一区| 污污网站在线观看| 国产精品私拍99pans大尺度| 无码精品国产dvd在线观看9久 | 国产精品美女免费视频大全| 免费中文字幕一级毛片| 国产裸舞福利在线视频合集| 亚洲欧洲一区二区三区| 午夜成人在线视频| 三上悠亚精品二区在线观看| 又爽又黄又无遮挡网站| 欧美综合成人| 色综合成人| 国产三级视频网站| 一本久道热中字伊人| 99热这里只有精品5| 免费亚洲成人| www中文字幕在线观看| 在线免费观看AV| 自拍亚洲欧美精品| 日韩二区三区| 第九色区aⅴ天堂久久香| 亚洲无码高清免费视频亚洲 | 国产欧美日韩另类| 午夜a级毛片| 国产精品自在自线免费观看| 欧美区国产区| 在线观看国产精品第一区免费 | 美女无遮挡免费视频网站| 91久久偷偷做嫩草影院| 嫩草国产在线| 国产成人福利在线| 91久久精品国产| 欧美成人免费午夜全| 欧美在线精品怡红院| 国产一级在线播放| 欧美综合成人| 日日碰狠狠添天天爽| 国产丝袜啪啪| 亚洲成人福利网站| 亚洲人成网站色7799在线播放| 色妞永久免费视频| 日韩在线2020专区| 国产福利影院在线观看| 四虎成人在线视频| 国产黄网站在线观看|