張龍 仲梁維
摘? 要:文章主要研究銷(xiāo)售的大數(shù)據(jù)分析,以及客戶需求對(duì)往后生產(chǎn)計(jì)劃的影響。以VB.net和SQL還有Excel為平臺(tái),通過(guò)程序?qū)崿F(xiàn)對(duì)銷(xiāo)售數(shù)據(jù)的統(tǒng)計(jì),銷(xiāo)售數(shù)據(jù)的保存,銷(xiāo)售數(shù)據(jù)的預(yù)測(cè)、產(chǎn)品生產(chǎn)過(guò)程中的故障與分析、成本優(yōu)化等。銷(xiāo)售數(shù)據(jù)可以通過(guò)SQL保存,可以通過(guò)Excel產(chǎn)出折線圖從而對(duì)產(chǎn)品數(shù)據(jù)分析,銷(xiāo)售數(shù)據(jù)也可以通過(guò)Excel進(jìn)行周期性預(yù)測(cè),生產(chǎn)過(guò)程的故障也可以通過(guò)檢索相關(guān)信息達(dá)到檢測(cè)目的;對(duì)上季度客戶需求多的產(chǎn)品可以在下季度實(shí)現(xiàn)生產(chǎn)。
關(guān)鍵詞:VB.net;SQL;大數(shù)據(jù)分析;生產(chǎn)計(jì)劃;故障分析;數(shù)據(jù)預(yù)測(cè);成本優(yōu)化
中圖分類號(hào):TP31? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: This paper studies the big data of sales and the impact of customer demand for production planning. Using VB.net, SQL and Excel as platforms, sales data is collected, preserved and used to make sales predictions, for fault analysis and cost optimization of the production process. Sales data can be saved in SQL relational database, line chart can be produced in Excel to analyze product data, sales data can be periodically predicted in Excel, and faults in production process can be detected by retrieving relevant information. The products that the customers demand high in the previous quarter can be timely produced in the following quarter.
Keywords: VB.net; SQL; big data analysis; production planning; fault analysis; data forecasting; cost optimization
1? ?引言(Introduction)
大數(shù)據(jù)分析指的是對(duì)規(guī)模巨大的數(shù)據(jù)進(jìn)行分析。特別是在企業(yè)中,對(duì)于分析每一季度的銷(xiāo)售數(shù)據(jù)的變化,從而可以找出產(chǎn)品銷(xiāo)售的規(guī)律性[1],如哪種產(chǎn)品更受歡迎、不同地區(qū)對(duì)不同產(chǎn)品的需求量從而對(duì)該地區(qū)需求產(chǎn)品重點(diǎn)投放等。正是因?yàn)閿?shù)據(jù)量大、類型大等特點(diǎn),如何從眾多數(shù)據(jù)中尋找規(guī)律是大數(shù)據(jù)分析的重中之重[2]。
本文通過(guò)對(duì)企業(yè)本年度銷(xiāo)售數(shù)據(jù)、生產(chǎn)成本數(shù)據(jù)、故障檢測(cè)數(shù)據(jù)進(jìn)行分析,從而實(shí)現(xiàn)對(duì)銷(xiāo)售數(shù)據(jù)保存,以及基于上一季度銷(xiāo)售數(shù)據(jù)從而預(yù)測(cè)處下一季度的銷(xiāo)售數(shù)據(jù);也可以通過(guò)分析生產(chǎn)成本數(shù)據(jù)從而簡(jiǎn)單進(jìn)行生產(chǎn)成本的優(yōu)化;當(dāng)然通過(guò)對(duì)生產(chǎn)過(guò)程的故障檢測(cè)數(shù)據(jù)分析,從而給出故障部位的監(jiān)測(cè)數(shù)據(jù)等[3]。
2? ?數(shù)據(jù)分析流程圖(Data analysis flow chart)
整個(gè)數(shù)據(jù)分析包括五個(gè)步驟,銷(xiāo)售數(shù)據(jù)的初步分析、銷(xiāo)售數(shù)據(jù)的預(yù)測(cè)、故障分析與檢測(cè)、成本優(yōu)化、需求產(chǎn)品的影響。其中各個(gè)模塊的數(shù)據(jù)都是由VB通過(guò)編程產(chǎn)生的,各個(gè)模塊的功能就在于對(duì)隨機(jī)產(chǎn)生的數(shù)據(jù)進(jìn)行分析從而給出分析的結(jié)果。而后是對(duì)這些數(shù)據(jù)的保存,以期以后的分析和提取。因數(shù)據(jù)分析的數(shù)據(jù)量大的特性,所以本文的數(shù)據(jù)承繼此特性對(duì)其進(jìn)行分析。
3? ?數(shù)據(jù)庫(kù)的創(chuàng)建(Database creation)
數(shù)據(jù)庫(kù)是保存產(chǎn)品銷(xiāo)售數(shù)據(jù)及生產(chǎn)數(shù)據(jù)重要軟件,其內(nèi)的數(shù)據(jù)表的格式可以起到分類數(shù)據(jù)的作用,所以在進(jìn)行大數(shù)據(jù)分析之前,應(yīng)先創(chuàng)建數(shù)據(jù)庫(kù)及數(shù)據(jù)表。本文數(shù)據(jù)庫(kù)創(chuàng)建名為“數(shù)據(jù)分析”。數(shù)據(jù)庫(kù)創(chuàng)建的代碼如下:
通過(guò)提示“執(zhí)行完成”對(duì)話框來(lái)顯示數(shù)據(jù)庫(kù)創(chuàng)建完成。
4? 銷(xiāo)售數(shù)據(jù)的排序及保存(Sorting and saving of sales data)
本文中銷(xiāo)售數(shù)據(jù)包括月利潤(rùn)及每個(gè)型號(hào)的月利潤(rùn),所以對(duì)銷(xiāo)售數(shù)據(jù)的排序就涉及這兩組利潤(rùn)的排序,其中月利潤(rùn)只是單純的升序以及降序排列,一般采取降序排序,便于觀察的個(gè)月份的利潤(rùn)較高些,下面給出降序排列的程序:
myExcel.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear() myExcel.ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add(Key:=myExcel.Range("B1"), _ SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal)
至于升序只需將xlDescending改為xlAscending即可。
再就是型號(hào)利潤(rùn)的排序,因?yàn)槊糠N型號(hào)每月皆有銷(xiāo)售利潤(rùn),須將每種型號(hào)的月利潤(rùn)提取出來(lái)再相加排序即可。圖2為各產(chǎn)品型號(hào)月利潤(rùn)排序圖。
而數(shù)據(jù)保存包括EXCEL表的保存和數(shù)據(jù)庫(kù)的保存,本文給出數(shù)據(jù)庫(kù)的保存截圖以及保存過(guò)程圖。本文數(shù)據(jù)庫(kù)的保存是通過(guò)OpenFileDialog打開(kāi)外部保存的EXCEL文件從而存儲(chǔ)到數(shù)據(jù)庫(kù),并在VB的Datagridview中顯示數(shù)據(jù),當(dāng)跳出導(dǎo)入成功的對(duì)話框就表示數(shù)據(jù)庫(kù)保存成功。
5? ?銷(xiāo)售數(shù)據(jù)的預(yù)測(cè)與保存(Forecast and storage of sales data)
銷(xiāo)售數(shù)據(jù)的預(yù)測(cè)是基于上一季度的數(shù)據(jù),通過(guò)設(shè)定周期從而給出下一季度的銷(xiāo)售數(shù)據(jù)預(yù)測(cè)。其預(yù)測(cè)可以通過(guò)Python中的回歸算法、ARIMA算法、BP神經(jīng)網(wǎng)絡(luò)模型等[4]實(shí)現(xiàn),但本文就簡(jiǎn)單通過(guò)EXCEL中的 “預(yù)測(cè)工作表”功能進(jìn)行實(shí)現(xiàn)。通過(guò)選取月份及月總利潤(rùn)從而預(yù)測(cè)出下一年月份與月總利潤(rùn)的數(shù)據(jù)。預(yù)測(cè)周期設(shè)定為7。圖2為銷(xiāo)售數(shù)據(jù)預(yù)測(cè)圖。
6? ?故障分析與檢測(cè)及存儲(chǔ)(Fault analysis, detection and storage)
故障數(shù)據(jù)的獲取是由傳感器所得,我們對(duì)數(shù)據(jù)的分析取決于數(shù)據(jù)的類型,不同數(shù)據(jù)類型可能會(huì)對(duì)數(shù)據(jù)分析產(chǎn)生不同的結(jié)果。本文對(duì)故障進(jìn)行編碼,對(duì)設(shè)備同樣進(jìn)行編碼。不同的設(shè)備由多個(gè)不同的部件組成,故障就有可能在這些部件中產(chǎn)生,所以對(duì)故障進(jìn)行編碼就可以快速對(duì)應(yīng)出部位。然后對(duì)這些故障編碼進(jìn)行統(tǒng)計(jì)就可以找出發(fā)生最多的故障部位[5]。本文列出了10中設(shè)備,每種設(shè)備由四個(gè)部件組成,所以產(chǎn)生了40中故障編碼。而不同的故障又屬于不同的系統(tǒng),本文列出了5中傳動(dòng)系統(tǒng),分別為“送片系統(tǒng)”“支架系統(tǒng)”“機(jī)械系統(tǒng)”“電氣系統(tǒng)”“傳動(dòng)系統(tǒng)”。當(dāng)然,在進(jìn)行統(tǒng)計(jì)時(shí),若對(duì)應(yīng)的設(shè)備出錯(cuò),則需精細(xì)到每個(gè)組成部件,如編碼為“3”的設(shè)備出現(xiàn)問(wèn)題,那么故障編碼只能是設(shè)備“3”下屬的組成部件對(duì)應(yīng)的編碼。
對(duì)故障分析的數(shù)據(jù)包括眾數(shù)所屬的故障編碼、設(shè)備編碼、設(shè)備型號(hào)、故障型號(hào)等。最后是故障分析過(guò)程數(shù)據(jù)的存儲(chǔ)。同上述存入雷同,差別只是要將故障編碼表及設(shè)備編碼表和產(chǎn)品故障清單全部導(dǎo)入數(shù)據(jù)庫(kù)。因其都在一個(gè)EXCEL文件內(nèi),只需將下列代碼相應(yīng)部位更改即可:
7? ?成本優(yōu)化及存儲(chǔ)(Cost optimization and storage)
類似于故障分析里面的數(shù)據(jù)類型,一個(gè)產(chǎn)品由四個(gè)部件組成,但就成本模塊來(lái)說(shuō),每個(gè)模塊會(huì)有多個(gè)廠家進(jìn)行生產(chǎn),本文對(duì)成本優(yōu)化的目的就是對(duì)零部件生產(chǎn)廠家的篩選,根據(jù)成本最少?gòu)亩鴮?shí)現(xiàn)優(yōu)化(注:此成本與銷(xiāo)售數(shù)據(jù)中的預(yù)設(shè)成本不同)。雖成本可以從更多方面實(shí)現(xiàn)優(yōu)化,但本文只通過(guò)價(jià)格進(jìn)行了優(yōu)化,表明成本優(yōu)化是完全可以通過(guò)數(shù)據(jù)分析完美實(shí)現(xiàn)的[6]。實(shí)際上也可以對(duì)供應(yīng)商進(jìn)行篩選,采用關(guān)聯(lián)規(guī)則的裝備制造業(yè)供應(yīng)商質(zhì)量評(píng)價(jià)模型,從而指導(dǎo)企業(yè)選擇供應(yīng)商[7]。
根據(jù)價(jià)格最低實(shí)現(xiàn)篩選,如零件1有四個(gè)生產(chǎn)廠家,其價(jià)格各不相同,則選取其中價(jià)格最低就能實(shí)現(xiàn)優(yōu)化目的。其具體的篩選程序如下:
8? 需求對(duì)產(chǎn)品的影響(Impact of demand on products)
當(dāng)公司在上一季度的產(chǎn)品銷(xiāo)售過(guò)程中,若有客戶需要本公司未開(kāi)發(fā)過(guò)的產(chǎn)品,則需要根據(jù)總客戶需求來(lái)評(píng)判是否在下一季度將客戶需求產(chǎn)品加入生產(chǎn)計(jì)劃當(dāng)中。所以在上一季度開(kāi)始就要對(duì)需求產(chǎn)品進(jìn)行統(tǒng)計(jì)記錄,當(dāng)達(dá)到一定數(shù)據(jù)后就允許加入生產(chǎn)計(jì)劃當(dāng)中。本文對(duì)需求產(chǎn)品的數(shù)據(jù)要求假定為100,當(dāng)對(duì)需求統(tǒng)計(jì)達(dá)到100后,會(huì)加入銷(xiāo)售數(shù)據(jù)中,但本身是沒(méi)有銷(xiāo)售數(shù)據(jù)的,只是為下一季度添加生產(chǎn)。對(duì)需求產(chǎn)品的篩選及導(dǎo)入的代碼如下:
不同的需求影響可以運(yùn)用不同的算法或者不同的方向切入分析,比如將大數(shù)據(jù)分析方法綜合應(yīng)用到經(jīng)銷(xiāo)商的客戶價(jià)值分析中[8],或是采用關(guān)聯(lián)規(guī)則算法從而影響生產(chǎn)計(jì)劃[9]等。
9? ?結(jié)論(Conclusion)
大數(shù)據(jù)意為需要新處理模式才能具有更強(qiáng)的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力來(lái)適應(yīng)海量、高增長(zhǎng)率和多樣化的信息資產(chǎn)[10]。雖然本文只通過(guò)簡(jiǎn)單的編程從而實(shí)現(xiàn)對(duì)百組數(shù)據(jù)的整理,但通過(guò)本文的程序整理也可以看出,企業(yè)了解客戶從而調(diào)整生產(chǎn)計(jì)劃以求達(dá)到客戶需求;客戶了解企業(yè),通過(guò)企業(yè)公布的部分?jǐn)?shù)據(jù),客戶可以選擇滿意的企業(yè)。大數(shù)據(jù)分析對(duì)一企業(yè)意義正在于此,鎖定資源,規(guī)劃生產(chǎn),以及開(kāi)展服務(wù),企業(yè)所遇到的問(wèn)題基本能在數(shù)據(jù)中找到。
參考文獻(xiàn)(References)
[1] Harding J A,Shahbaz M,Srinivas,et al.Data Mining inManufacturing:A Review[M].VDM:Verlag Dr. Muller,2006:969-976.
[2] 陳承貴.基于數(shù)據(jù)挖掘技術(shù)倉(cāng)庫(kù)管理系統(tǒng)的應(yīng)用與研究[D].成都:電子科技大學(xué),2009.
[3] 譚軍,余紹軍.數(shù)據(jù)挖掘在制造業(yè)中的應(yīng)用[C].全國(guó)電子信息技術(shù)與應(yīng)用學(xué)術(shù)會(huì)議,2011.
[4] 王鵬鵬,廖小平,鄧建新.ERP環(huán)境下銷(xiāo)售決策支持的研究與實(shí)現(xiàn)[J].機(jī)械設(shè)計(jì)與制造,2008(5):219-221.
[5] 辛旭明.基于過(guò)程監(jiān)控的數(shù)據(jù)挖掘系統(tǒng)及其應(yīng)用[D].上海:東華大學(xué),2004.
[6] 周明.基十?dāng)?shù)據(jù)挖掘的制造業(yè)采購(gòu)DSS理論及方法研究[D].天津:天津大學(xué),2009.
[7] 宋建聰.數(shù)據(jù)挖掘在裝備制造業(yè)質(zhì)量管理中的應(yīng)用研究[D].廣州:廣東工業(yè)大學(xué),2013.
[8] 李燁.數(shù)據(jù)挖掘技術(shù)在卡車(chē)制造商的客戶價(jià)值分析應(yīng)用研究[D].柳州:廣西科技大學(xué),2013.
[9] 汪奇,黃洪,鄭曉群.筆記本電腦 BTO生產(chǎn)計(jì)劃中兲聯(lián)觃則挖掘的應(yīng)用研究[J].商場(chǎng)現(xiàn)代化,2007(36):30-31.
[10] 劉瑋.企業(yè)的變革思維——大數(shù)據(jù)時(shí)代的來(lái)臨[J].辦公自動(dòng)化,2014(15):44-45.