一種通用的可行列變換交叉報表方法
【專利摘要】本發(fā)明公開了一種通用的可行列變換交叉報表方法,屬于計算機應用技術,所述方法采用B/S結構,瀏覽器展現(xiàn)部分采用富客戶端開發(fā)工具Flex開發(fā),服務部分采用JAVA技術、基于一種MVC框架開發(fā),包括數(shù)據(jù)結構配置部分、交叉報表配置部分、交叉報表展現(xiàn)部分;數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,交叉報表配置部分實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源,交叉報表展現(xiàn)部分,實現(xiàn)交叉報表的結果展現(xiàn)界面,是最終用戶UI。本發(fā)明既無需技術開發(fā)便可自行擴展業(yè)務需求;又能即選即變改變行列指標,任意變換分析角度。
【專利說明】一種通用的可行列變換交叉報表方法
[0001]
【技術領域】
[0002]本發(fā)明涉及一種計算機應用技術,具體地說是一種通用的可行列變換交叉報表方法。
【背景技術】
[0003]交叉報表是報表當中常見的類型,是行、列方向都有分組的報表,表中單元格中的數(shù)據(jù)是既滿足行要求又滿足列要求的數(shù)據(jù)。交叉報表是統(tǒng)計分析結果展現(xiàn)的重要形式。當前絕大多數(shù)領域都開展了智能分析,決策支持工作,這些分析結果大多都是以交叉報表的形式展現(xiàn)。但傳統(tǒng)的交叉報表工具是“半動態(tài)”化的,也就是對于同一個查詢主題只能生成一個靜態(tài)不變的“死”報表,它不能給予使用者更加靈活自由的操作空間。
[0004]傳統(tǒng)的交叉報表工具要么雖無需技術開發(fā)使用者就可以自行擴展需求,但不能進行行列指標變換;要么雖可以進行行列指標變換,但必須由專業(yè)技術人員進行專門的程序開發(fā)。這就導致不是不能滿足不斷變化的業(yè)務需求,就是無法滿足對一個主題進行全方位,多角度分析。
[0005]
【發(fā)明內容】
本發(fā)明的技術任務是針對以上不足之處,提供一種可以動態(tài)定制交叉報表數(shù)據(jù)源,靈活配置交叉報表行列分組指標的,可以讓使用者變換行列分組指標,并即時得到新的交叉報表的“活”的工具的一種通用的可行列變換交叉報表方法。
[0006]本發(fā)明解決其技術問題所采用的技術方案是:所述方法采用B/S結構,瀏覽器展現(xiàn)部分采用富客戶端開發(fā)工具Flex開發(fā),服務部分采用JAVA技術、基于一種MVC框架開發(fā),包括數(shù)據(jù)結構配置部分、交叉報表配置部分、交叉報表展現(xiàn)部分;數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,交叉報表配置部分實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源,交叉報表展現(xiàn)部分,實現(xiàn)了交叉報表的結果展現(xiàn)界面,是最終用戶UI ;所述方法步驟如下:
(1)、配置交叉報表所用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,并在數(shù)據(jù)庫中生成物理表;
(2)、依據(jù)步驟(1)中配置的數(shù)據(jù)結構信息,配置交叉報表所需要的用于行列顯示的分組字段信息;
(3)、依據(jù)步驟(1 )中配置的數(shù)據(jù)結構信息,配置交叉報表查詢過程中用于過濾數(shù)據(jù)項的條件字段信息;
(4)、配置步驟(3)中條件字段選取所需要的預選項數(shù)據(jù)源;
(5 )、根據(jù)配置信息生成交叉報表查詢頁面。
[0007]數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,字典信息是進行交叉報表功能實現(xiàn)的基礎,它包含兩方面信息:一方面是與數(shù)據(jù)庫技術相關的字段類型、長度、是否可為空的字典信息,另一個方面是與交叉報表展現(xiàn)相關的字段關聯(lián)代碼表、關聯(lián)代碼表字段、特性詞的字典信息。
[0008]交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構要符合以下要求:
(1)表中只包含兩種字段,一種是代碼類型,另一種是數(shù)值類型;
(2)所有代碼類型字段,必須有一個代碼表與之關聯(lián),但這個代碼表可以不在數(shù)據(jù)結構配置里設置;
(3)所有字段均不能為null。
[0009]交叉報表配置部分,實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源;其中數(shù)據(jù)源表和行列指標字段是必配信息,條件字段是選取所需要的預選項配置信息;行列指標字段分為不可鉆取、自迭代鉆取、子含父信息跨列鉆取、子不含父信息跨列鉆取四種,所有可鉆取類型配置與它所關聯(lián)的代碼表中的上級字段、根節(jié)點初始值,以及跨列鉆取的所有層級字段名。
[0010]交叉報表展現(xiàn)部分,實現(xiàn)了交叉報表的結果展現(xiàn)界面,是最終用戶UI ;提供兩個分組字段選擇框,一個可選的展示字段選擇框,以及不限數(shù)量的條件字段控件,還有三個按鈕:查詢、重置、返回;查詢功能是重新開始一個最頂層的交叉報表,返回功能是從下一級交叉報表回到父層交叉報表,重置功能是將所有的頁面操作重置為初始狀態(tài)。
[0011]功能詳細說明:
1、數(shù)據(jù)結構配置功能說明
數(shù)據(jù)表(視圖)配置:配置數(shù)據(jù)表名(英文),表描述名(中文);
數(shù)據(jù)表(視圖)字段配置:配置字段名(英文)、列描述名(中文)、數(shù)據(jù)類型、數(shù)據(jù)長度、關聯(lián)代碼表、特性詞等信息;
同步數(shù)據(jù)庫:將修改的數(shù)據(jù)表結構,在數(shù)據(jù)庫中生成(或修改)物理表。
[0012]2、交叉報表配置功能說明
基本信息配置:配置交叉報表名,聚合字段名(英文),聚合字段描述名(中文),聚合字段所用數(shù)據(jù)庫函數(shù)等;
數(shù)據(jù)表(視圖)設置:指定交叉報表的數(shù)據(jù)源,即指定交叉報表所用數(shù)據(jù)庫表或視圖
名;
分組字段設置:指定分組字段的相關參數(shù),主要內容有分組顯示名、關聯(lián)碼表、關聯(lián)碼表字段、關聯(lián)碼表上級字段、鉆取類型等;
條件字段設置:設定條件字段相關參數(shù),主要內容有字段名稱、關聯(lián)參數(shù)、表達式、鉆取列頂層字段等;
參數(shù)設置:添加一個特定類型的參數(shù),該參數(shù)用于指定交叉報表展現(xiàn)頁面條件顯示數(shù)值的關聯(lián)代碼表。
[0013]3、交叉報表查詢功能說明
分組字段選擇:必選第一列的行指標,可選第二列的行指標;
展示字段選擇:可選列指標,指定交叉報表的列分組字段;
鉆取操作:點擊第一列,或已經(jīng)選擇第二列行指標的第二列,或已經(jīng)選擇展示字段的列標頭,都全直接鉆取得到下一層次的交叉報表。[0014]富客戶端即Rich Client。富因特網(wǎng)應用程序(Rich Internet Applications,RIA)利用具有很強交互性的富客戶端技術來為用戶提供一個更高和更全方位的網(wǎng)絡體驗。RIA集成了桌面應用的交互性和傳統(tǒng)Web應用的部署靈活性與成本分析,以創(chuàng)建單一而完整的用戶體驗。富客戶端技術使創(chuàng)建RIA成為可能,它提供一個運行時的環(huán)境以承載被編譯的客戶端應用程序,該客戶端應用程序是一個使用HTTP協(xié)議發(fā)布的文件??蛻舳藨贸绦蚴褂卯惒降腃/S結構連接到現(xiàn)有的應用服務器,這是一種安全的、可升級的、具有良好適應性的面向服務模型,這種模型由當前所采用的Web服務驅動。
[0015]本發(fā)明的一種通用的可行列變換交叉報表方法和現(xiàn)有技術相比,具有以下優(yōu)點:
1、既無需技術開發(fā)便可自行擴展業(yè)務需求;又能即選即變改變行列指標,任意變換分析角度;
2、通過分析各類交叉報表查詢的普遍特點,總結出交叉報表所用數(shù)據(jù)源的sql查詢通用規(guī)律;
3、通過對數(shù)據(jù)源的數(shù)據(jù)結構(以下簡稱數(shù)據(jù)結構)、聚合字段、行列分組字段、條件字段這些元數(shù)據(jù)的設置,使得使用者可以根據(jù)自己的操作即時得到可行列變換的交叉報表。
【專利附圖】
【附圖說明】
[0016]下面結合附圖對本發(fā)明進一步說明。
[0017]附圖1為一種通用的可行列變換交叉報表方法的架構框圖。
【具體實施方式】
[0018]下面結合附圖和具體實施例對本發(fā)明作進一步說明。
[0019]實施例1:
本發(fā)明的一種通用的可行列變換交叉報表方法,所述方法采用B/S結構,瀏覽器展現(xiàn)部分采用富客戶端開發(fā)工具Flex開發(fā),服務部分采用JAVA技術、基于一種MVC框架開發(fā),包括數(shù)據(jù)結構配置部分、交叉報表配置部分、交叉報表展現(xiàn)部分;數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,交叉報表配置部分實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源,交叉報表展現(xiàn)部分,實現(xiàn)了交叉報表的結果展現(xiàn)界面,是最終用戶UI ;所述方法步驟如下:
(1)、配置交叉報表所用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,并在數(shù)據(jù)庫中生成物理表;
(2)、依據(jù)步驟(I)中配置的數(shù)據(jù)結構信息,配置交叉報表所需要的用于行列顯示的分組字段信息;
(3)、依據(jù)步驟(I)中配置的數(shù)據(jù)結構信息,配置交叉報表查詢過程中用于過濾數(shù)據(jù)項的條件字段信息;
(4)、配置步驟(3)中條件字段選取所需要的預選項數(shù)據(jù)源;
(5 )、根據(jù)配置信息生成交叉報表查詢頁面。
[0020]實施例2:
本發(fā)明的一種通用的可行列變換交叉報表方法,所述方法采用B/S結構,瀏覽器展現(xiàn)部分采用富客戶端開發(fā)工具Flex開發(fā),服務部分采用JAVA技術、基于一種MVC框架開發(fā),包括數(shù)據(jù)結構配置部分、交叉報表配置部分、交叉報表展現(xiàn)部分;數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,交叉報表配置部分實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源,交叉報表展現(xiàn)部分,實現(xiàn)了交叉報表的結果展現(xiàn)界面,是最終用戶UI;所述方法步驟如下:
(1)、配置交叉報表所用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,并在數(shù)據(jù)庫中生成物理表;
(2)、依據(jù)步驟(I)中配置的數(shù)據(jù)結構信息,配置交叉報表所需要的用于行列顯示的分組字段信息;
(3)、依據(jù)步驟(I)中配置的數(shù)據(jù)結構信息,配置交叉報表查詢過程中用于過濾數(shù)據(jù)項的條件字段信息;
(4)、配置步驟(3)中條件字段選取所需要的預選項數(shù)據(jù)源;
(5 )、根據(jù)配置信息生成交叉報表查詢頁面。
[0021]數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,字典信息是進行交叉報表功能實現(xiàn)的基礎,它包含兩方面信息:一方面是與數(shù)據(jù)庫技術相關的字段類型、長度、是否可為空的字典信息,另一個方面是與交叉報表展現(xiàn)相關的字段關聯(lián)代碼表、關聯(lián)代碼表字段、特性詞的字典信息。
[0022]交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構要符合以下要求:
(1)表中只包含兩種字段,一種是代碼類型,另一種是數(shù)值類型;
(2)所有代碼類型字段,必須有一個代碼表與之關聯(lián),但這個代碼表可以不在數(shù)據(jù)結構配置里設置;
(3)所有字段均不能為null。
[0023]交叉報表配置部分,實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源;其中數(shù)據(jù)源表和行列指標字段是必配信息,條件字段是選取所需要的預選項配置信息;行列指標字段分為不可鉆取、自迭代鉆取、子含父信息跨列鉆取、子不含父信息跨列鉆取四種,所有可鉆取類型配置與它所關聯(lián)的代碼表中的上級字段、根節(jié)點初始值,以及跨列鉆取的所有層級字段名。
[0024]交叉報表展現(xiàn)部分,實現(xiàn)了交叉報表的結果展現(xiàn)界面,是最終用戶UI ;提供兩個分組字段選擇框,一個可選的展示字段選擇框,以及不限數(shù)量的條件字段控件,還有三個按鈕:查詢、重置、返回;查詢功能是重新開始一個最頂層的交叉報表,返回功能是從下一級交叉報表回到父層交叉報表,重置功能是將所有的頁面操作重置為初始狀態(tài)。
[0025]功能詳細說明:
1、數(shù)據(jù)結構配置功能說明
數(shù)據(jù)表(視圖)配置:配置數(shù)據(jù)表名(英文),表描述名(中文);
數(shù)據(jù)表(視圖)字段配置:配置字段名(英文)、列描述名(中文)、數(shù)據(jù)類型、數(shù)據(jù)長度、關聯(lián)代碼表、特性詞等信息;
同步數(shù)據(jù)庫:將修改的數(shù)據(jù)表結構,在數(shù)據(jù)庫中生成(或修改)物理表。
[0026]2、交叉報表配置功能說明
基本信息配置:配置交叉報表名,聚合字段名(英文),聚合字段描述名(中文),聚合字段所用數(shù)據(jù)庫函數(shù)等;
數(shù)據(jù)表(視圖)設置:指定交叉報表的數(shù)據(jù)源,即指定交叉報表所用數(shù)據(jù)庫表或視圖
名;
分組字段設置:指定分組字段的相關參數(shù),主要內容有分組顯示名、關聯(lián)碼表、關聯(lián)碼表字段、關聯(lián)碼表上級字段、鉆取類型等;
條件字段設置:設定條件字段相關參數(shù),主要內容有字段名稱、關聯(lián)參數(shù)、表達式、鉆取列頂層字段等;
參數(shù)設置:添加一個特定類型的參數(shù),該參數(shù)用于指定交叉報表展現(xiàn)頁面條件顯示數(shù)值的關聯(lián)代碼表。
[0027]3、交叉報表查詢功能說明
分組字段選擇:必選第一列的行指標,可選第二列的行指標;
展示字段選擇:可選列指標,指定交叉報表的列分組字段;
鉆取操作:點擊第一列,或已經(jīng)選擇第二列行指標的第二列,或已經(jīng)選擇展示字段的列標頭,都全直接鉆取得到下一層次的交叉報表。
[0028]本發(fā)明采用ORACLE Ilg及以上數(shù)據(jù)庫和WEBLOGIC Ilg中間件做為服務器,實施工作步驟如下:
第一、準備數(shù)據(jù)庫環(huán)境
【權利要求】
1.一種通用的可行列變換交叉報表方法,其特征在于所述方法采用B/S結構,瀏覽器展現(xiàn)部分采用富客戶端開發(fā)工具Flex開發(fā),服務部分采用JAVA技術、基于一種MVC框架開發(fā),包括數(shù)據(jù)結構配置部分、交叉報表配置部分、交叉報表展現(xiàn)部分;數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,交叉報表配置部分實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源,交叉報表展現(xiàn)部分,實現(xiàn)交叉報表的結果展現(xiàn)界面,是最終用戶UI; 所述方法步驟如下: (1)、配置交叉報表所用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,并在數(shù)據(jù)庫中生成物理表; (2)、依據(jù)步驟(I)中配置的數(shù)據(jù)結構信息,配置交叉報表所需要的用于行列顯示的分組字段信息; (3)、依據(jù)步驟(I)中配置的數(shù)據(jù)結構信息,配置交叉報表查詢過程中用于過濾數(shù)據(jù)項的條件字段信息; (4)、配置步驟(3)中條件字段選取所需要的預選項數(shù)據(jù)源; (5 )、根據(jù)配置信息生成交叉報表查詢頁面。
2.根據(jù)權利要求1所述的一種通用的可行列變換交叉報表方法,其特征在于數(shù)據(jù)結構配置部分實現(xiàn)了配置交叉報表所使用數(shù)據(jù)源的數(shù)據(jù)庫表結構字典信息,它包含兩方面信息:一方面是與數(shù)據(jù)庫技術相關的字段類型、長度、是否可為空的字典信息,另一個方面是與交叉報表展現(xiàn)相關的字段關聯(lián)代碼表、關聯(lián)代碼表字段、特性詞的字典信息。
3.根據(jù)權利要求1所述的一種通用的可行列變換交叉報表方法,其特征在于交叉報表配置部分,實現(xiàn)了配置交叉報表的數(shù)據(jù)源表、可供選擇的行列指標字段、可供過濾數(shù)據(jù)項的條件字段,以及條件字段選取所需要的預選項數(shù)據(jù)源;其中數(shù)據(jù)源表和行列指標字段是必配信息,條件字段是選取所需要的預選項配置信息;行列指標字段分為不可鉆取、自迭代鉆取、子含父信息跨列鉆取、子不含父信息跨列鉆取四種,所有可鉆取類型配置與它所關聯(lián)的代碼表中的上級字段、根節(jié)點初始值,以及跨列鉆取的所有層級字段名。
4.根據(jù)權利要求1所述的一種通用的可行列變換交叉報表方法,其特征在于交叉報表展現(xiàn)部分,實現(xiàn)了交叉報表的結果展現(xiàn)界面,是最終用戶UI ;提供兩個分組字段選擇框,一個可選的展示字段選擇框,以及不限數(shù)量的條件字段控件,還有三個按鈕:查詢、重置、返回;查詢功能是重新開始一個最頂層的交叉報表,返回功能是從下一級交叉報表回到父層交叉報表,重置功能是將所有的頁面操作重置為初始狀態(tài)。
【文檔編號】G06F17/30GK103886085SQ201410121764
【公開日】2014年6月25日 申請日期:2014年3月28日 優(yōu)先權日:2014年3月28日
【發(fā)明者】白乃安, 周秀強 申請人:浪潮軟件集團有限公司