用Excel打造報表查詢系統(tǒng)

字號:

網(wǎng)絡(luò)數(shù)據(jù)庫以及ERP在中小型企業(yè)中日益風(fēng)行,雖然ERP功能強(qiáng)大,但有的ERP報表系統(tǒng)中規(guī)范的報表較少,主要提供二次開發(fā)接口或通過如CRYSTALREPORT等其他報表工具進(jìn)行管理,其實(shí)我們可以使用Excel實(shí)現(xiàn)部分報表查詢功能。在下面我將通過一個實(shí)例,向大家介紹如何通過ODBC,用Excel建立方便的報表查詢系統(tǒng)。
    實(shí)現(xiàn)原理:通過ODBC將Excel與ERP后臺數(shù)據(jù)庫連接起來,將數(shù)據(jù)庫中的數(shù)據(jù)有選擇地導(dǎo)入到Excel中,然后通過Excel強(qiáng)大的計(jì)算、匯總、篩選等功能,來彌補(bǔ)部分ERP系統(tǒng)報表較少的不足,以滿足用戶日常使用的需要。
    [建立ODBC連接]
    在電腦上建立一個ODBC連接,使Excel通過ODBC連接到ERP數(shù)據(jù)庫(如SQLSERVER數(shù)據(jù)庫)。打開“開始→設(shè)置→控制面板→管理工具→ODBC”,點(diǎn)擊“添加”按鈕。這里以SQLSERVER為例,選擇“SQLSERVER”,點(diǎn)擊“完成”。接下來對話框的服務(wù)器一項(xiàng)應(yīng)填寫公司ERP數(shù)據(jù)庫所在機(jī)器的機(jī)器名或IP地址,點(diǎn)擊“下一步”按鈕。
    身份驗(yàn)證分為兩種方式:一種是與操作系統(tǒng)相結(jié)合的身份驗(yàn)證,另一種是使用單獨(dú)的SQL身份驗(yàn)證。在這里選取單獨(dú)的SQL身份驗(yàn)證,登錄名及密碼請咨詢公司的數(shù)據(jù)庫管理員,然后點(diǎn)擊“下一步”。
    在接下來的對話框中,勾選“更改默認(rèn)的數(shù)據(jù)庫為”,在下面填入數(shù)據(jù)庫名,點(diǎn)擊“下一步”按鈕。然后點(diǎn)擊“測試數(shù)據(jù)源”按鈕以測試本機(jī)與ERP數(shù)據(jù)庫的連接情況,如果見到測試成功提示說明ODBC設(shè)置成功。
    小貼士:ODBC(開放式數(shù)據(jù)庫連接)是一種數(shù)據(jù)庫接口技術(shù),它能使應(yīng)用程序訪問以結(jié)構(gòu)化查詢語言(SQL)作為數(shù)據(jù)訪問標(biāo)準(zhǔn)的數(shù)據(jù)庫管理系統(tǒng)的數(shù)據(jù)。
    [將數(shù)據(jù)導(dǎo)入Excel]
    打開Excel的“數(shù)據(jù)”菜單,點(diǎn)擊“導(dǎo)入外部數(shù)據(jù)→新建數(shù)據(jù)庫查詢”,在選擇數(shù)據(jù)源對話框中選擇剛剛建立的ODBC連接,點(diǎn)擊“確定”按鈕。
    進(jìn)入查詢向?qū)Ы缑?,選擇你需要的表及字段,雙擊即可。表和字段的定義請查詢相關(guān)ERP的文檔或咨詢數(shù)據(jù)庫管理員。
    將選擇的字段按你所需要的順序排列(多張表之間的連接將在以后提及),點(diǎn)擊“下一步”。如果需要篩選數(shù)據(jù),請?jiān)诤Y選數(shù)據(jù)對話框中輸入過濾條件,點(diǎn)擊“下一步”。
    如果需要查詢的數(shù)據(jù)全部在一張表中,可以在完成對話框中選擇直接將數(shù)據(jù)返回到Excel,如果數(shù)據(jù)存在于多張表中,需要進(jìn)行表與表之間的連接或進(jìn)行更復(fù)雜的篩選、匯總操作,選擇“在MicrosoftQuery中查看數(shù)據(jù)或編輯查詢”,點(diǎn)擊“完成”。
    在Query中,可以進(jìn)行表與表之間的連接,條件的過濾、格式的定義、排序、匯總等等,如果對SQL語言比較了解的人可以直接修改SQL語句。
    然后選擇“將數(shù)據(jù)返回Excel”,將源數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到Excel。這時將出現(xiàn)“外部數(shù)據(jù)”工具欄。如果需要將Excel中的數(shù)據(jù)與數(shù)據(jù)庫同步,點(diǎn)擊“刷新數(shù)據(jù)”即可。如果需要編輯剛剛建立的查詢,點(diǎn)擊“編輯查詢”進(jìn)行編輯。
    為了方便每次自動刷新,點(diǎn)擊“區(qū)域?qū)傩浴?,在彈出的對話框中勾選“打開工作簿時自動刷新”,這樣在每次打開Excel文件時得到的就是與源數(shù)據(jù)庫同步的數(shù)據(jù)了。
    小貼士MicrosoftQuery是用于將數(shù)據(jù)從外部數(shù)據(jù)源(包括Access、SQLServer、Excel、文本文件)檢索到Excel中的一種程序,在每次更新數(shù)據(jù)庫時,自動通過源數(shù)據(jù)庫中的數(shù)據(jù)來更新Excel報表和匯總數(shù)據(jù)。形象地說就是向外部數(shù)據(jù)庫提出的一個問題。
    [建立屬于自己的查詢]
    通過以上兩個步驟,你已經(jīng)得到了與源數(shù)據(jù)庫同步的數(shù)據(jù),下一步就是根據(jù)自己的需要,在Excel中建立自己的查詢。一般的方法是在數(shù)據(jù)源工作簿之外新建一個工作簿,通過連接的方式,將數(shù)據(jù)按自己的格式建立自己的查詢。
    下面將介紹一下數(shù)據(jù)透視表。數(shù)據(jù)透視表是一種交互式報表,可快速合并和比較大量數(shù)據(jù)。在你得到大量源數(shù)據(jù)后,用數(shù)據(jù)透視表可以進(jìn)行自動匯總、自動刷新。
    點(diǎn)擊“數(shù)據(jù)→數(shù)據(jù)透視表”,選取“數(shù)據(jù)列表和數(shù)據(jù)庫”和“數(shù)據(jù)透視表”,點(diǎn)擊“下一步”。
    為數(shù)據(jù)透視表新建一個工作表,點(diǎn)擊步驟3對話框的“布局”按鈕。將匯總的項(xiàng)目(如部件號)放置在“行”,將要求和的字段放置在“數(shù)據(jù)”中,點(diǎn)擊“確定”然后點(diǎn)擊“完成”,即可得到匯總數(shù)據(jù)。同樣地將該數(shù)據(jù)透視表設(shè)置為打開時自動刷新。這樣每次打開Excel時就得到了最新的匯總數(shù)據(jù)。
    [總結(jié)]
    先建立ODBC,然后通過導(dǎo)入外部數(shù)據(jù)將源數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)入,最后通過函數(shù)或數(shù)據(jù)透視表等方法對數(shù)據(jù)進(jìn)行組織,以達(dá)到自己查詢的目的。以上介紹的方法不光可以用在ERP后臺數(shù)據(jù)庫的前臺查詢中,也可以從桌面數(shù)據(jù)庫ACCESS或其它的數(shù)據(jù)源中導(dǎo)入數(shù)據(jù)到Excel,建立屬于自己的查詢。