一種可配置的多維動態(tài)關(guān)聯(lián)數(shù)據(jù)圖組方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種可配置的多維動態(tài)關(guān)聯(lián)數(shù)據(jù)圖組方法。
【背景技術(shù)】
[0002]在OLAP系統(tǒng)和商業(yè)智能系統(tǒng)中,經(jīng)常需要使用圖表來展示多維數(shù)據(jù)模型,展示多維數(shù)據(jù)之間的關(guān)聯(lián),通過上下鉆取、切片、旋轉(zhuǎn)等分析動作,以求剖析數(shù)據(jù),使用戶能從多個角度、多側(cè)面地觀察數(shù)據(jù)庫中的數(shù)據(jù),從而深入理解包含在數(shù)據(jù)中的信息。常見的多維數(shù)據(jù)展現(xiàn)工具,或者通常功能單一,數(shù)據(jù)雖然可以上下鉆取,但數(shù)據(jù)之間的關(guān)聯(lián)缺乏合適的展示;或者功能復(fù)雜,配置繁瑣,經(jīng)常需要人工編寫大量代碼或者腳本。
【發(fā)明內(nèi)容】
[0003]本發(fā)明為克服上述的不足之處,目的在于提供一種可配置的多維動態(tài)關(guān)聯(lián)數(shù)據(jù)圖組方法,本方法通過前端來負責(zé)根據(jù)關(guān)聯(lián)圖組描述文件生成多維圖組,并根據(jù)儀表盤布局描述文件生成儀表盤;根據(jù)用戶的操作,生成操作命令并向后端請求數(shù)據(jù),后端返回數(shù)據(jù)后更新關(guān)聯(lián)圖組;通過后端建立數(shù)據(jù)模型,響應(yīng)來自前端的請求,生成MDX多維數(shù)據(jù)查詢并返回數(shù)據(jù)結(jié)果;使得分析人員能夠直觀了解各個維度圖之間的關(guān)系。
[0004]本發(fā)明是通過以下技術(shù)方案達到上述目的:一種可配置的多維動態(tài)關(guān)聯(lián)數(shù)據(jù)圖組方法,包括如下步驟:
[0005](I)系統(tǒng)后端解析數(shù)據(jù)立方描述文件建立多維數(shù)據(jù)模型;
[0006](2)系統(tǒng)前端加載多維組合分析頁面并向后端請求關(guān)聯(lián)圖組描述文件與儀表盤描述文件;
[0007](3)系統(tǒng)后端返回關(guān)聯(lián)圖組描述文件與儀表盤描述文件;
[0008](4)系統(tǒng)前端根據(jù)關(guān)聯(lián)圖組描述文件生成多維數(shù)據(jù)圖組,根據(jù)儀表盤描述文件生成儀表盤;
[0009](5)用戶點擊操作多維關(guān)聯(lián)圖組,系統(tǒng)前端生成響應(yīng)請求發(fā)送給后端;
[0010](6)系統(tǒng)后端根據(jù)接收到的響應(yīng)請求自動生成MDX多維查詢語句查詢多維數(shù)據(jù)庫,得到返回數(shù)據(jù)結(jié)果;
[0011](7)系統(tǒng)后端將得到的返回數(shù)據(jù)結(jié)果發(fā)送給前端,前端根據(jù)返回數(shù)據(jù)結(jié)果更新多維關(guān)聯(lián)圖組。
[0012]作為優(yōu)選,所述數(shù)據(jù)立方描述文件包含描述數(shù)據(jù)立方、維度、度量的信息及多維數(shù)據(jù)庫的關(guān)聯(lián)信息。
[0013]作為優(yōu)選,所述關(guān)聯(lián)圖組描述文件包括描述維度圖的類型,描述維度圖的標(biāo)簽名、序列名及軸名信息,描述配色信息。
[0014]作為優(yōu)選,所述儀表盤描述文件包括描述若干個多維關(guān)聯(lián)圖組組成的儀表盤,描述儀表盤的布局信息。
[0015]作為優(yōu)選,所述的多維數(shù)據(jù)圖組中的每個圖表示數(shù)據(jù)立方的一個維度,其中,每個圖分別支持餅狀圖、線狀圖及柱狀圖。
[0016]作為優(yōu)選,所述步驟(4)的儀表盤包括若干個多維數(shù)據(jù)圖組。作為優(yōu)選,所述步驟
(5)的用戶點擊操作多維關(guān)聯(lián)圖組包括單擊操作與雙擊操作,其作用效果如下所示:
[0017](a)單擊多維關(guān)聯(lián)圖組中一個維度圖的某個部分,該部分則高亮顯示,同時其它關(guān)聯(lián)維度圖會根據(jù)該高亮部分所表示的取值而變化;再次單擊該部分,該部分去除高亮顯示,其它關(guān)聯(lián)維度圖恢復(fù)原來狀態(tài);
[0018](b)雙擊多維關(guān)聯(lián)圖組中一個維度圖的某個部分,則對該部分向下鉆取,單擊返回則向上鉆取;在上下鉆取時,其它關(guān)聯(lián)維度圖根據(jù)該維度圖狀態(tài)聯(lián)動變化。
[0019]作為優(yōu)選,所述的數(shù)據(jù)立方描述文件、關(guān)聯(lián)圖組描述文件與儀表盤描述文件都帶有擴展接口,用于二次開發(fā)擴展。
[0020]本發(fā)明的有益效果在于:⑴本發(fā)明使得多維數(shù)據(jù)能夠動態(tài)關(guān)聯(lián)展示;⑵本發(fā)明通過將關(guān)聯(lián)的多個維度圖形成一個多維關(guān)聯(lián)圖組,用戶點擊某個維度圖時,根據(jù)單擊高亮,雙擊下鉆等不同操作,其它組內(nèi)關(guān)聯(lián)的維度圖會根據(jù)該維度圖所選擇部分聯(lián)動變化,從而使得各個數(shù)據(jù)維度之間的關(guān)系動態(tài)的直觀表現(xiàn);(3)本發(fā)明所支持的多維關(guān)聯(lián)圖組,以及由多個關(guān)聯(lián)圖組所組成的儀表盤,都是通過配置自動生成;用戶只需通過配置描述文件,即關(guān)聯(lián)圖組描述文件、儀表盤描述文件和數(shù)據(jù)立方描述文件,就既無需編寫前端展現(xiàn)代碼和后端MDX多維數(shù)據(jù)查詢語句,也無需編寫前后端交互代碼,零代碼的實現(xiàn)多維動態(tài)關(guān)聯(lián)圖組和儀表盤;(4)本發(fā)明的關(guān)聯(lián)圖組描述文件,儀表盤描述文件和數(shù)據(jù)立方描述文件,將前端多維圖組關(guān)系,儀表盤頁面布局和后端數(shù)據(jù)模型分開描述,邏輯清晰,互相解耦;(5)本發(fā)明的關(guān)聯(lián)圖組描述文件等都有擴展接口,在通過配置方式無法滿足需要時,二次開發(fā)者可基于擴展接口提供實現(xiàn),擁有良好的擴展性。
【附圖說明】
[0021]圖1是本發(fā)明實施例中初始化時前后端交互流程圖;
[0022]圖2是本發(fā)明實施例中運行時前后端交互流程圖;
[0023]圖3是本發(fā)明實施例中前端關(guān)聯(lián)圖組描述文件片段示例圖;
[0024]圖4是本發(fā)明實施例中前端儀表盤描述文件片段示例圖;
[0025]圖5是本發(fā)明實施例中后端數(shù)據(jù)立方描述文件片段示例圖;
[0026]圖6是本發(fā)明實施例中的關(guān)聯(lián)圖組狀態(tài)示意圖1 ;
[0027]圖7是本發(fā)明實施例中的關(guān)聯(lián)圖組狀態(tài)示意圖2 ;
[0028]圖8是本發(fā)明實施例中的關(guān)聯(lián)圖組狀態(tài)示意圖3 ;
[0029]圖9是本發(fā)明實施例中的關(guān)聯(lián)圖組狀態(tài)示意圖4 ;
[0030]圖10是本發(fā)明實施例中的關(guān)聯(lián)圖組狀態(tài)示意圖5 ;
[0031]圖11是本發(fā)明實施例中的關(guān)聯(lián)圖組狀態(tài)示意圖6。
【具體實施方式】
[0032]下面結(jié)合具體實施例對本發(fā)明進行進一步描述,但本發(fā)明的保護范圍并不僅限于此:
[0033]實施例:將本發(fā)明用于一個城鎮(zhèn)人口綜合分析應(yīng)用,對外來人口進行分析。根據(jù)不同要求,可以對外來人口進行多維度組合分析。在本實施例中,為簡化描述,只針對外來人口暫住地所屬派出所和來源地籍貫,即“區(qū)域”和“籍貫分布”兩個維度進行分析,當(dāng)然分析中還可加入更多維度。
[0034]本發(fā)明方法所用系統(tǒng)主要包括前端和后端,后端主要負責(zé)根據(jù)數(shù)據(jù)立方描述文件建立數(shù)據(jù)模型,運行時響應(yīng)來自前端的請求,生成MDX多維數(shù)據(jù)查詢并返回數(shù)據(jù)結(jié)果;前端主要負責(zé)根據(jù)關(guān)聯(lián)圖組描述文件生成多維圖組,并根據(jù)儀表盤布局描述文件生成儀表盤,運行時根據(jù)用戶的操作,生成操作命令并向后端請求數(shù)據(jù),后端返回數(shù)據(jù)后更新關(guān)聯(lián)圖組。
[0035]—種可配置的多維動態(tài)關(guān)聯(lián)數(shù)據(jù)圖組方法包括初始化時段與運行時段兩個部分,其中初始化時的步驟如圖1所示:
[0036]步驟101:后端解析數(shù)據(jù)立方描述文件;
[0037]步驟102:后端根據(jù)數(shù)據(jù)立方描述文件建立數(shù)據(jù)立方模型;
[0038]步驟103:前端加載多維組合分析頁面;
[0039]步驟104:前端請求關(guān)聯(lián)圖組描述文件和儀表盤描述文件;
[0040]步驟105:后端返回關(guān)聯(lián)圖組描述文件和儀表盤描述文件;
[0041]步驟106:前端解析儀表盤描述文件;
[0042]步驟107 ;前端根據(jù)儀表盤描述文件加載儀表盤頁面。一個儀表盤可能包含多個關(guān)聯(lián)圖組;
[0043]步驟108:前端解析關(guān)聯(lián)圖組描述文件;
[0044]步驟109 ;如端加載關(guān)聯(lián)圖組;
[0045]運行時步驟如圖2所示:
[0046]步驟201:用戶在頁面上操作關(guān)聯(lián)圖組的某個維度圖;
[0047]步驟202:前端根據(jù)操作生成數(shù)據(jù)請求,請求包括操作的維度、層次等信息;
[0048]步驟203:前端發(fā)送數(shù)據(jù)請求給后端;
[0049]步驟204:后端根據(jù)數(shù)據(jù)請求和已經(jīng)加載的數(shù)據(jù)立方模型自動生成MDX多維查詢語句;
[0050]步驟205:后端發(fā)送MDX多維查詢語句到多維數(shù)據(jù)庫;
[0051]步驟206:多維數(shù)據(jù)庫返回查詢結(jié)果;
[0052]步驟207:后端將查詢結(jié)果轉(zhuǎn)換為數(shù)據(jù)結(jié)果并返回,數(shù)據(jù)結(jié)果包括維度、層次、度量、數(shù)值等信息;
[0053]步驟208:后端根據(jù)返回的數(shù)據(jù)結(jié)果更新關(guān)聯(lián)圖組。<