今天在確認(rèn)實(shí)習(xí)生不能幫忙搭建數(shù)據(jù)庫(kù)后,自己根據(jù)業(yè)務(wù)需求嘗試搭了一個(gè)小型access數(shù)據(jù)庫(kù)。
主要目的:儲(chǔ)存歷史月度數(shù)據(jù),避免每次從公司數(shù)據(jù)庫(kù)下載數(shù)據(jù)的麻煩,節(jié)省數(shù)據(jù)拉取時(shí)間。
搭建了以acct id為主鍵的兩種數(shù)據(jù)。
由業(yè)務(wù)人員手工更新匯總的數(shù)據(jù),如客戶(hù)所在區(qū)域,商業(yè)信息等。
由機(jī)器抓取的客戶(hù)信息,如客戶(hù)賬號(hào)狀態(tài),專(zhuān)屬業(yè)務(wù)人員信息等等。
上述數(shù)據(jù)按照每月定期更新,以及每周更新,存儲(chǔ)在不同的表里。
匯總月度信息,如月成交額,交易量等;
分多個(gè)維度的表格,如周信息,交易類(lèi)型,交易來(lái)源等,該數(shù)據(jù)刷新時(shí)間段不一樣,且根據(jù)業(yè)務(wù)需求,會(huì)有不同的維度需求。
另外,為了方便,把數(shù)據(jù)庫(kù)里常見(jiàn)的“Jan-2014”細(xì)分為'Year'和'Month'兩個(gè)變量,這樣以后數(shù)據(jù)導(dǎo)入輸出時(shí),不用再費(fèi)心數(shù)據(jù)格式問(wèn)題,在excel里,直接用date(year,month,day)即可快速合成日期。
通過(guò)搭建多個(gè)表格,就把曾經(jīng)整合在excel里的數(shù)據(jù)拆分成了多個(gè)表格,且各個(gè)表格之間刷新頻率不一樣,減少了我們用excel vlookup匹配的時(shí)間。
同時(shí)我新建了兩個(gè)查詢(xún)
1)整合客戶(hù)基本信息,包括業(yè)務(wù)人員使用的信息,以及由機(jī)器抓取的信息。(這里以賬戶(hù)唯一識(shí)別碼作為關(guān)聯(lián)標(biāo)識(shí),并修改了連接屬性,即所謂的左連接右連接)
2)把匯總的月度信息與客戶(hù)基本信息結(jié)合起來(lái),匯總成一張大表。該大表之后將直接導(dǎo)入excel中,作為數(shù)據(jù)透視表的一部分。
另外,關(guān)于操作,目前摸索出:
1)刪除查詢(xún):可以刪除不符合我要求的數(shù)據(jù)(如每個(gè)月導(dǎo)入數(shù)據(jù)時(shí),把當(dāng)前月數(shù)據(jù)刪除,避免數(shù)據(jù)重復(fù))
2)追加查詢(xún):主要用于客戶(hù)交易信息,定期追加月度/季度數(shù)據(jù)。
現(xiàn)在需要解決的問(wèn)題包括:
1)如何在導(dǎo)入新的賬戶(hù)信息后,快速找到需要追加的客戶(hù)信息,并且追加(計(jì)劃查找不匹配項(xiàng))
2)如何在刪除已經(jīng)不合格的數(shù)據(jù),以及表之間的聯(lián)合,以及決定后續(xù)數(shù)據(jù)導(dǎo)入的工作。(相信代碼可以實(shí)現(xiàn),但目前還未探索)
3)關(guān)于搭建一個(gè)友好的訪(fǎng)問(wèn)界面,或者撰寫(xiě)文檔存稿
access在我們數(shù)據(jù)處理初期并不常用。但是隨著數(shù)據(jù)量的擴(kuò)大,我們自然而然的要用到多個(gè)數(shù)據(jù)庫(kù)。
從access起步,個(gè)人覺(jué)得還比較容易。
以及,積極主動(dòng),代表著,要努力學(xué)習(xí)。之前把這個(gè)任務(wù)分配給實(shí)習(xí)生時(shí),沒(méi)有得到滿(mǎn)意答復(fù),但是自己折騰,在熟知業(yè)務(wù)的基礎(chǔ)上,也勉強(qiáng)能完成一個(gè)符合大致需求的數(shù)據(jù)庫(kù)。未來(lái)還需要多加嘗試,并規(guī)范化模板。
再以及,比一年前為了某個(gè)TEAM搭建CRM系統(tǒng)時(shí)對(duì)ACCESS的一竅不通,這一次經(jīng)過(guò)多番思考,很順利就完成了框架的搭建,表?yè)P(yáng)自己一個(gè)!\(^o^)/~
基本完成access數(shù)據(jù)庫(kù)的搭建,并且嘗試了查重,不匹配項(xiàng)目查找,以及上傳新數(shù)據(jù)等功能,表現(xiàn)良好。
記錄一下目前研究出來(lái)的sql語(yǔ)句:
Select Distinct [字段]
GROUP BY 字段,字段
HAVING ( ( (字段) )>1 ) AND ( (Count(POST.[PostNumber]))>1) );
注意這里括號(hào)的應(yīng)用
Having( () and () )
同時(shí)如果在access里使用,會(huì)自動(dòng)帶count(字段)
表.[字段名]
個(gè)人感覺(jué),access里面的關(guān)系菜單操作做的比較好。。比手寫(xiě)代碼要好多了
反正就是一個(gè)
Left join
Right join的區(qū)別啦。。
之后繼續(xù)完善這個(gè)數(shù)據(jù)庫(kù)。
自從有了這個(gè)數(shù)據(jù)庫(kù)后,輸出數(shù)據(jù)效率有了極大的提高。原本一個(gè)地區(qū)可能要29M的大小,現(xiàn)在4個(gè)地區(qū)加起來(lái),excel原始數(shù)據(jù)只要9M。。
科技的力量是偉大的。
要提高工作效率,先提高技術(shù)及思想是更好的捷徑。
在搭了一個(gè)數(shù)據(jù)庫(kù)后,買(mǎi)了一本《讓excel飛》,里面有提及access
經(jīng)過(guò)研究之后,發(fā)現(xiàn)access+excel的結(jié)合確實(shí)能解決我的大部分難題,并且可以做得更好。
比較好的方法是,
access連接數(shù)據(jù)庫(kù),或者會(huì)定期刷新的表格
然后創(chuàng)建好查詢(xún),
定期導(dǎo)出到excel中,生成圖表透視表等
另外,有言access的學(xué)習(xí)和使用可以精簡(jiǎn)流程,優(yōu)化工作流程。。并且是數(shù)據(jù)庫(kù)入門(mén)最好的方法
現(xiàn)在遇到數(shù)據(jù)匹配查詢(xún),都可以建一個(gè)access存放數(shù)據(jù),慢慢習(xí)慣這個(gè)access的思維方式
終于完成了一個(gè)比較完整的自動(dòng)化報(bào)表搭建過(guò)程
基于公司數(shù)據(jù)保密原則,樣板就不放到網(wǎng)上來(lái)了,簡(jiǎn)單說(shuō)一下背景:
這次access實(shí)現(xiàn)的功能包括:
1)為部門(mén)整體搭建了一個(gè)員工基本資料數(shù)據(jù)庫(kù),里面包括從各個(gè)系統(tǒng)里獲得的員工信息,如Zhang San,一個(gè)系統(tǒng)里叫San Zhang,一個(gè)系統(tǒng)叫sazhang,一個(gè)系統(tǒng)叫sun Zhang。這些信息匯總后,存在部門(mén)共享盤(pán)里,包括此次的Access,都是直接鏈接到這個(gè)總access表里,這樣,有新員工來(lái)的時(shí)候,只需要更新一個(gè)access,其余所有數(shù)據(jù)都能實(shí)現(xiàn)自動(dòng)鏈接更新。
2)利用saved import,保存固化數(shù)據(jù)導(dǎo)入功能,同時(shí)編寫(xiě)VBA/Marco進(jìn)行數(shù)據(jù)自動(dòng)更新:
*刪除源數(shù)據(jù):兩個(gè)方法,編寫(xiě)Marco,自動(dòng)運(yùn)行已經(jīng)編寫(xiě)好的刪除查詢(xún),或直接用Marco刪除記錄。
*導(dǎo)入數(shù)據(jù):用RunSavedImportExport(SavedImportExportName)可以執(zhí)行數(shù)據(jù)導(dǎo)入;
3)在查詢(xún)方面,主要設(shè)定兩個(gè)
*刪除查詢(xún)
*選擇查詢(xún)
里面涉及兩個(gè)自定義項(xiàng)語(yǔ)句,如IIF(判斷,truepart,falsepart),而對(duì)于多重選擇,用switch比用iif嵌套要簡(jiǎn)單得多,如switch(判斷1,輸出,判斷2,輸出)。不過(guò)switch不能直接用else語(yǔ)句,因此如果判斷均不成立,會(huì)輸出空白值,這點(diǎn)需要注意。
運(yùn)用IIF和switch后,再加上查詢(xún)實(shí)現(xiàn)的lookup功能,至此,access基本能完成excel做數(shù)據(jù)報(bào)表里要用的大部分?jǐn)?shù)據(jù)處理?;旧?0%-90%的數(shù)據(jù)處理就可以在這里來(lái)完成了^^
4)本次操作簡(jiǎn)介:
1)下載源數(shù)據(jù),放到相應(yīng)的位置,替換原有的數(shù)據(jù)源
注:這里也可以外鏈。但是根據(jù)實(shí)踐,當(dāng)數(shù)據(jù)量比較大的時(shí)候,用刪除查詢(xún)刪除數(shù)據(jù),然后再導(dǎo)入數(shù)據(jù),速度遠(yuǎn)遠(yuǎn)大于外鏈。并且上述操作均可以用程序來(lái)運(yùn)行。
2)打開(kāi)access,運(yùn)行Marco,刪除相關(guān)的數(shù)據(jù),并更新數(shù)據(jù)
3)運(yùn)行經(jīng)過(guò)一系列查詢(xún)后的最終查詢(xún),導(dǎo)出到excel后,導(dǎo)入已經(jīng)寫(xiě)好公式的excel里,刷新即可。
后續(xù):
1)窗體制作,宏及VBA編寫(xiě),提高自動(dòng)化程度
2)編寫(xiě)說(shuō)明
另外DoCmd
http://msdn.microsoft.com/zh-tw/library/office/ff192740(v=office.14).aspx
具體可參考與此
總結(jié)一下,在這兩個(gè)月里,通過(guò)自己摸索,成功搭建了一個(gè)可以取代所有復(fù)制粘貼/VLOOKUP查找,以及方便數(shù)據(jù)管理的數(shù)據(jù)庫(kù)集。并從零到有學(xué)會(huì)了SQL,所謂的Access是SQL入門(mén)最好的方法,前輩誠(chéng)不欺我也。從效率來(lái)說(shuō),首先,我們公司錯(cuò)綜復(fù)雜的系統(tǒng)人名得到了有效的統(tǒng)一管理,并整合了由業(yè)務(wù)人員輸入的一些不會(huì)被公司數(shù)據(jù)庫(kù)保存的數(shù)據(jù)(譬如客戶(hù)實(shí)際行業(yè),客戶(hù)真實(shí)信息等等),然后結(jié)合了那個(gè)BI自助系統(tǒng)的特性,編了一個(gè)導(dǎo)入導(dǎo)出的宏。
現(xiàn)在,基本框架已經(jīng)搭建起來(lái),我發(fā)現(xiàn)接下來(lái)的工作更加繁瑣了
簡(jiǎn)單來(lái)說(shuō),現(xiàn)在主要的問(wèn)題是數(shù)據(jù)庫(kù)邏輯不清,需要理清并維護(hù)關(guān)系文檔
由于數(shù)據(jù)庫(kù)里大部分操作都是自動(dòng)化的,設(shè)計(jì)該自動(dòng)化流程。當(dāng)時(shí)設(shè)計(jì)各個(gè)數(shù)據(jù)庫(kù)時(shí),基本上是,有什么需求,就建什么表。導(dǎo)致現(xiàn)在多個(gè)數(shù)據(jù)庫(kù)之間邏輯不清晰。迫切需要維護(hù)一個(gè)文檔,記錄該數(shù)據(jù)庫(kù)是怎樣操作的。
現(xiàn)在我嘗試用office自帶的visio來(lái)厘清流程,但這個(gè)基本只能厘清數(shù)據(jù)間的關(guān)系,以及操作順序。不能記錄這個(gè)數(shù)據(jù)庫(kù)是如何表間查詢(xún)的,如果時(shí)間久了,這些邏輯又會(huì)不清晰了。不知道市面上的數(shù)據(jù)庫(kù)維護(hù),是用什么方法來(lái)維護(hù)的呢?
另外,由于我不喜歡整理文本上的操作,目前這些細(xì)致的活讓我有些煩悶,每天都在修修補(bǔ)補(bǔ)而不是在創(chuàng)建新東西的感覺(jué),真心壓抑,而且容易走神。有什么辦法可以更好的管控時(shí)間,讓我focus在最重要的事情上?
正是因?yàn)闀r(shí)間管理遇到問(wèn)題,然后被大量的文本整理占據(jù)精力,我越來(lái)越覺(jué)得,做數(shù)據(jù)庫(kù)維護(hù)以及報(bào)表開(kāi)發(fā),可能報(bào)表開(kāi)發(fā)僅僅只是一次性的操作,如何讓開(kāi)發(fā)出來(lái)的結(jié)果容易理解,并且易于讓人根據(jù)業(yè)務(wù)需求進(jìn)行修改,是我接下來(lái)需要做的事情。
但愿我在找到方法之前,不會(huì)因?yàn)闊┰?,而失去了進(jìn)一步學(xué)習(xí)的機(jī)會(huì)。
另外,關(guān)于R語(yǔ)言,我目前正式放棄閱讀R語(yǔ)言實(shí)戰(zhàn),轉(zhuǎn)為看數(shù)據(jù)挖掘與R語(yǔ)言。R語(yǔ)言實(shí)戰(zhàn)前半部分作為數(shù)據(jù)處理,確實(shí)很實(shí)用。但后續(xù)由于沒(méi)有較完整的案例,并不適合一一研讀。反而是前陣子京東湊單買(mǎi)的數(shù)據(jù)挖掘與R語(yǔ)言給了我極大的驚喜(實(shí)驗(yàn)數(shù)據(jù)被作者直接創(chuàng)了個(gè)R包,相當(dāng)良心?。。?/p>
想學(xué)習(xí)和了解更多黑客技術(shù)嗎?
掃描下面的二微碼或手指長(zhǎng)按下面的二微碼,點(diǎn)關(guān)注我們吧!
聯(lián)系客服