一種生成多維度報表的方法
【技術領域】
[0001]本發(fā)明涉及計算機軟件開發(fā)領域,具體說涉及一種生成多維度報表的方法。
【背景技術】
[0002]報表可以幫助企業(yè)訪問、格式化數(shù)據(jù),并把數(shù)據(jù)信息以安全可靠的方式呈現(xiàn)給使用者。利用計算機處理數(shù)據(jù)和界面設計的功能來生成、展示報表,其主要特點是數(shù)據(jù)動態(tài)化,格式多樣化,并且實現(xiàn)報表數(shù)據(jù)和報表格式的完全分離。
[0003]然而對于現(xiàn)有的報表生成工具,在生成報表時,受限于數(shù)據(jù)庫的庫表結(jié)構(gòu),無法靈活設置填充到報表單元的數(shù)據(jù)內(nèi)容,一般只能簡單羅列一張或多張源表的數(shù)據(jù)內(nèi)容,不能靈活展示多表數(shù)據(jù)。
[0004]并且大多報表生成工具在對數(shù)據(jù)內(nèi)容進行篩選、排序、聚集等設置時,只提供了讓用戶自己輸入數(shù)據(jù)庫查詢語句的方法,而實現(xiàn)這些功能所對應的數(shù)據(jù)庫查詢語句比一般查詢語句更為復雜,對于非專業(yè)用戶是難以掌握的,使得軟件的易用性大大降低。
[0005]同時,對于數(shù)據(jù)內(nèi)容存在層級關系的字段,例如部門名稱字段,可能其中某些部門是另一部門的子部門,用戶需要按照部門的層級依次填充報表單元,形成總分結(jié)構(gòu),這需要對單一字段進行數(shù)據(jù)挖掘,然后分級展示到多個報表單元中。現(xiàn)有報表工具并未支持對單一字段中的層級關系的挖掘和對應展示。
[0006]因此,針對上述問題,需要一種新的報表生成方法以更靈活的挖掘并展示數(shù)據(jù)內(nèi)容。
【發(fā)明內(nèi)容】
[0007]針對現(xiàn)有報表生成工具生成的報表不能夠靈活的挖掘并展示數(shù)據(jù)內(nèi)容的問題,本發(fā)明提供了一種生成多維度報表的方法,所述方法包含以下步驟:
[0008]步驟一,設置待生成的多維度報表的結(jié)構(gòu),編輯所述報表的表頭內(nèi)容;
[0009]步驟二,將所述報表中各單元與數(shù)據(jù)庫字段進行綁定,并對所述數(shù)據(jù)庫字段添加邏輯關系限定,用以關聯(lián)包含相應邏輯連接的數(shù)據(jù)庫字段從而增加該單元的數(shù)據(jù)維度;
[0010]步驟三,在數(shù)據(jù)庫中查詢每個所述數(shù)據(jù)庫字段對應的本體數(shù)據(jù)內(nèi)容和關聯(lián)的數(shù)據(jù)庫字段對應的關聯(lián)數(shù)據(jù)內(nèi)容;
[0011]步驟四,基于所述報表的結(jié)構(gòu)、所述表頭內(nèi)容將所述本體數(shù)據(jù)內(nèi)容和所述關聯(lián)數(shù)據(jù)內(nèi)容填充到對應的單元中,從而生成多維度報表。
[0012]根據(jù)本發(fā)明的一個實施例,在所述步驟二中,對多個所述數(shù)據(jù)庫字段添加相互邏根據(jù)本發(fā)明的一個實施例,在所述步驟二中,添加邏輯關系限定后的數(shù)據(jù)庫字段包括父子關系挖掘字段,所述父子關系挖掘字段包括標識字段、內(nèi)容字段、父標識字段、子標識字段。
[0013]根據(jù)本發(fā)明的一個實施例,通過限定所述父子關系挖掘字段的挖掘深度來確定基于父系或子系邏輯關系的關聯(lián)的數(shù)據(jù)庫字段的維度。
[0014]根據(jù)本發(fā)明的一個實施例,在數(shù)據(jù)庫中查詢父子關系挖掘字段所對應的本體數(shù)據(jù)內(nèi)容并基于所述挖掘深度查詢父子關系挖掘字段所對應的相應維度的附加數(shù)據(jù)內(nèi)容,并將所述本體數(shù)據(jù)內(nèi)容和所述附加數(shù)據(jù)內(nèi)容填充到對應的單元中。
[0015]根據(jù)本發(fā)明的一個實施例,所述步驟二還包括對所述單元添加數(shù)據(jù)篩選條件設置和/或數(shù)據(jù)展現(xiàn)設置,所述數(shù)據(jù)展現(xiàn)設置包括升/降序排列設置、單元格聚集設置;所述數(shù)據(jù)展現(xiàn)設置還包括數(shù)據(jù)挖掘設置,用于確定所述單元對所述本體數(shù)據(jù)內(nèi)容或所述附加數(shù)據(jù)內(nèi)容的數(shù)據(jù)展現(xiàn)方式。
[0016]根據(jù)本發(fā)明的一個實施例,利用條件限定語句添加所述邏輯關系限定、所述數(shù)據(jù)篩選條件設置,且基于所述邏輯關系限定、所述數(shù)據(jù)篩選條件設置完成所述步驟三。
[0017]根據(jù)本發(fā)明的一個實施例,所述方法還包含步驟五,此步驟包含:
[0018]根據(jù)所述內(nèi)容升/降序排列設置排序所述單元內(nèi)的數(shù)據(jù);
[0019]根據(jù)所述單元格聚集設置查找指定過聚集的單元,遍歷所述單元包含的所有單元格,將相鄰的同值單元格合并;
[0020]根據(jù)所述數(shù)據(jù)挖掘設置層次化顯示所述本體數(shù)據(jù)內(nèi)容和所述附加數(shù)據(jù)內(nèi)容,反映數(shù)據(jù)內(nèi)容之間的邏輯關系。
[0021]根據(jù)本發(fā)明的一個實施例,所述方法還包含步驟六,基于所述報表的生成過程中的操作流程信息建立自定義的報表操作流程模板并存儲所述報表操作流程模板。
[0022]根據(jù)本發(fā)明的一個實施例,所述操作流程信息包含所述表頭內(nèi)容、所述報表的結(jié)構(gòu)、所述數(shù)據(jù)篩選條件設置、所述數(shù)據(jù)展現(xiàn)設置、綁定在所述單元上的數(shù)據(jù)庫字段或父子關系挖掘字段、添加在所述數(shù)據(jù)庫字段上的邏輯關系限定。
[0023]與現(xiàn)有技術相比,本發(fā)明具有如下優(yōu)點:
[0024]1、根據(jù)本發(fā)明所述方法生成的多維度報表可以靈活的展示多表數(shù)據(jù);
[0025]2、根據(jù)本發(fā)明所述方法生成的多維度報表可以對特定字段進行數(shù)據(jù)挖掘和層次化顯示,具有較強的數(shù)據(jù)展現(xiàn)能力;
[0026]3、根據(jù)本發(fā)明所述方法將用戶操作模板化以多次利用,減少用戶操作步驟,提高了自定義報表的易用性、實用性。
[0027]本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在說明書、權利要求書以及附圖中所特別指出的步驟來實現(xiàn)和獲得。
【附圖說明】
[0028]附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例共同用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
[0029]圖1是根據(jù)本發(fā)明一實施例生成報表的流程圖;
[0030]圖2是根據(jù)本發(fā)明一實施例的表頭設置軟件效果截圖;
[0031]圖3是根據(jù)本發(fā)明一實施例的合并、拆分單元格的軟件效果截圖;
[0032]圖4是根據(jù)本發(fā)明一實施例的綁定數(shù)據(jù)庫字段的軟件效果截圖;
[0033]圖5是根據(jù)本發(fā)明一實施例的綁定父子關系挖掘字段到的軟件效果截圖;
[0034]圖6是根據(jù)本發(fā)明一實施例的數(shù)據(jù)展現(xiàn)設置的軟件效果截圖;
[0035]圖7是根據(jù)本發(fā)明一實施例的數(shù)據(jù)篩選條件設置的軟件效果截圖;
[0036]圖8是根據(jù)本發(fā)明一實施例生成的多維度報表效果截圖;
[0037]圖9是根據(jù)本發(fā)明一實施例的報表操作流程模板加載、刪除、保存的軟件效果截圖。
【具體實施方式】
[0038]以下將結(jié)合附圖及實施例來詳細說明本發(fā)明的實施方式,借此對本發(fā)明如何應用技術手段來解決技術問題,并達成技術效果的實現(xiàn)過程能充分理解并據(jù)以實施。需要說明的是,只要不構(gòu)成沖突,本發(fā)明中的各個實施例以及各實施例中的各個特征可以相互結(jié)合,所形成的技術方案均在本發(fā)明的保護范圍之內(nèi)。
[0039]另外,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0040]根據(jù)本發(fā)明的一個實施例生成報表的流程就是對報表的不同單元綁定對應的數(shù)據(jù)庫字段和父子關系挖掘字段,并利用條件語句添加邏輯關系限定和數(shù)據(jù)篩選條件設置以鏈接多表和數(shù)據(jù)篩選,以及對表頭的內(nèi)容自定義。根據(jù)這些設定生成出相應的數(shù)據(jù)庫查詢語句來執(zhí)行,獲取返回的數(shù)據(jù)結(jié)果并填充到報表中,再對報表進行升降序和單元格聚集操作,實現(xiàn)最終報表的生成。
[0041]圖1是根據(jù)本發(fā)明一實施例生成多維度報表的流程圖。如圖1所示,首先進行步驟S120,設置待生成的多維度報表的結(jié)構(gòu),編輯報表的表頭內(nèi)容。此步驟包括單元格的合并與拆分,構(gòu)建所需的報表表頭等。
[0042]然后進行步驟S131,將報表中各單元與數(shù)據(jù)庫字段進行綁定。根據(jù)本發(fā)明一實施例,在此步驟中可以多表字段綁定,即綁定到報表單元的數(shù)據(jù)庫字段所對應的數(shù)據(jù)內(nèi)容可以來自多個不同的源表。字段綁定通過選定要綁定到的報表單元,然后再選擇要綁定的數(shù)據(jù)所對應的源表和數(shù)據(jù)庫字段來實現(xiàn)。
[0043]在步驟S132中,對數(shù)據(jù)庫字段添加邏輯關系限定,用來關聯(lián)包含相應邏輯連接的數(shù)據(jù)庫字段從而增加該單元的數(shù)據(jù)維度,通過關聯(lián)包含相應邏輯連接的數(shù)據(jù)庫字段可以達到將多個源表的數(shù)據(jù)在同一單元內(nèi)關聯(lián)展現(xiàn)的目的。同時,在步驟S132中,對不同數(shù)據(jù)庫字段添加相互邏輯關系限定,邏輯關系限定的添加通過條件限定語句來實現(xiàn),用以確定各數(shù)據(jù)庫字段對應的數(shù)據(jù)內(nèi)容之間的邏輯關系。使展現(xiàn)在報表內(nèi)的不同的源表可以相互關聯(lián),從而更加靈活的展示數(shù)據(jù)內(nèi)容。
[0044]添加邏輯關系限定后的數(shù)據(jù)庫字段包括父子關系挖掘字段。父子關系挖掘字段包括標識字段、內(nèi)容字段、父標識字段和子標識字段。其中,內(nèi)容字段為與本體數(shù)據(jù)內(nèi)容對應的數(shù)據(jù)庫字段,父標識字段、子標識字段為反映父子關系的字段,標識字段為父子關系挖掘字段的標識字段。
[0045]對于對應數(shù)據(jù)內(nèi)容存在父子關系的數(shù)據(jù)庫字段,通過指定內(nèi)容字段獲取本體數(shù)據(jù)內(nèi)容,通過指定反映父子關系的兩個字段,以及標識字段,來獲取此字段中不同數(shù)據(jù)間的父子關系。通過父子關系字段來得到綁定字段所對應的數(shù)據(jù)內(nèi)容間的層次關系,再通過標識字段將父子關系與綁定字段每行數(shù)據(jù)一一對應。
[0046]在步驟S141中,將單元與父子關系挖掘字段進行綁定。