報(bào)表取數(shù)條件生成裝置和方法
【專(zhuān)利摘要】本發(fā)明提供了一種報(bào)表取數(shù)條件生成裝置,包括:數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)單元,用于在前臺(tái)部分以樹(shù)型結(jié)構(gòu)展示數(shù)據(jù)結(jié)構(gòu)及其維度、度量成員和支持的拖拽功能,并將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為該存儲(chǔ)結(jié)構(gòu);映射區(qū)域生成單元,用于通過(guò)拖拽右側(cè)相應(yīng)的維度度量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域;映射模型數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)單元,用于生成映射區(qū)域后,在報(bào)表面板的后臺(tái),定義映射模型和映射區(qū)域模型,存儲(chǔ)用戶(hù)設(shè)置的映射信息。本發(fā)明還提供了一種報(bào)表取數(shù)條件生成方法。通過(guò)本發(fā)明的技術(shù)方案,可以在現(xiàn)有的條件生成方式基礎(chǔ)上,充分利用單對(duì)象類(lèi)型完成多對(duì)象類(lèi)型的條件生成,建立多對(duì)象類(lèi)型參與的條件生成的通用、統(tǒng)一生成思路。
【專(zhuān)利說(shuō)明】報(bào)表取數(shù)條件生成裝置和方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,具體地,涉及一種報(bào)表取數(shù)條件生成裝置和一種 報(bào)表取數(shù)條件生成方法。
【背景技術(shù)】
[0002] 針對(duì)目前現(xiàn)有的需求以及上文的立足點(diǎn),本發(fā)明的技術(shù)方案提出了一種基于多維 分析理論的報(bào)表取數(shù)條件生成裝置。它的特點(diǎn)是:
[0003] ⑴以用戶(hù)自定義的多維分析模型(包含行列維度、度量)作為待選條件并以樹(shù)形 結(jié)構(gòu)展示,用戶(hù)可以以拖拽的形式,將多維模型的維度與度量設(shè)置在表樣的行頭,列頭從而 生成行列條件
[0004] ⑵通過(guò)對(duì)行列條件的布置將條件分成區(qū)域,并按照區(qū)域信息(維度,度量成生成 該區(qū)域的取數(shù)MDX語(yǔ)句用以在計(jì)算時(shí)通知計(jì)算單元。
[0005] 因此,需要一種新的條件生成技術(shù),可以在現(xiàn)有的條件生成方式基礎(chǔ)上,充分利用 單對(duì)象類(lèi)型完成多對(duì)象類(lèi)型的條件生成,建立多對(duì)象類(lèi)型參與的條件生成的通用、統(tǒng)一生 成思路。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明正是基于上述問(wèn)題,提出了一種新的條件生成技術(shù),可以在現(xiàn)有的條件生 成方式基礎(chǔ)上,充分利用單對(duì)象類(lèi)型完成多對(duì)象類(lèi)型的條件生成,建立多對(duì)象類(lèi)型參與的 條件生成的通用、統(tǒng)一生成思路。
[0007] 有鑒于此,本發(fā)明提出了一種報(bào)表取數(shù)條件生成裝置,包括:數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)單元, 用于基于預(yù)先定義的多維分析取數(shù)模型即數(shù)據(jù)結(jié)構(gòu),在前臺(tái)部分以樹(shù)型結(jié)構(gòu)展示數(shù)據(jù)結(jié)構(gòu) 及其維度、度量成員和支持的拖拽功能,并將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為該存儲(chǔ)結(jié)構(gòu),用于展示樹(shù)形結(jié) 構(gòu)和存儲(chǔ)動(dòng)態(tài)區(qū)域;映射區(qū)域生成單元,用于將轉(zhuǎn)換的存儲(chǔ)結(jié)構(gòu)應(yīng)用于表樣,通過(guò)拖拽右側(cè) 相應(yīng)的維度度量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域;映射模型數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)單 元,用于生成映射區(qū)域后,在報(bào)表面板的后臺(tái),定義映射模型和映射區(qū)域模型,存儲(chǔ)用戶(hù)設(shè) 置的映射信息。在該技術(shù)方案中,可以通過(guò)不同的設(shè)置方式,生成不同的取數(shù)條件,最終達(dá) 到通過(guò)多維分析模型取報(bào)表數(shù)據(jù)的目的。
[0008] 在上述技術(shù)方案中,優(yōu)選地,所述映射區(qū)域生成單元通過(guò)拖拽右側(cè)相應(yīng)的維度度 量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域的操作,進(jìn)一步包括:⑴拖曳行條件到行 頭;⑵拖曳列條件到列頭;⑶點(diǎn)擊生成映射區(qū)域。
[0009] 在上述技術(shù)方案中,優(yōu)選地,所述映射區(qū)域生成單元,具體包括:交叉區(qū)域生成模 塊,用于建立多個(gè)由行、列條件組成的交叉區(qū)域,遍歷所有的指標(biāo)單元格;MDX語(yǔ)句生成及 保存模塊,用于當(dāng)所有的指標(biāo)單元格遍歷完成之后,在每個(gè)映射區(qū)域中,保存行/列條件在 MDX查詢(xún)中應(yīng)該出現(xiàn)的位置,并生成MDX;區(qū)域計(jì)算模塊,用于基于生成的MDX,對(duì)每個(gè)交叉 區(qū)域進(jìn)行計(jì)算。在該技術(shù)方案中,基于多維技術(shù)來(lái)生成報(bào)表取數(shù)條件,而多維取數(shù)模型是用 戶(hù)可自定義的,并且是基于業(yè)務(wù)的多維分析模型,而且在定義到表樣時(shí),也完全是基于業(yè)務(wù) 的且支持拖拽形式,而不必定義公式。
[0010] 在上述技術(shù)方案中,優(yōu)選地,所述MDX語(yǔ)句生成及保存模塊,還用于在生成MDX時(shí), 根據(jù)MDX的位置,組裝依次出現(xiàn)的維度成員或由多個(gè)維度成員組成的元組,將行列條件存 儲(chǔ)的方式設(shè)為哈希表形式。
[0011] 在上述技術(shù)方案中,優(yōu)選地,所述MDX語(yǔ)句生成及保存模塊生成MDX的操作,進(jìn)一 步包括:⑴循環(huán)行/列條件集合中的每一個(gè)行/列位置;⑵根據(jù)位置取到對(duì)應(yīng)的成員集合; ⑶集合中是否多元素,如果是則拼寫(xiě)元組,如果不是則拼寫(xiě)維度成員。
[0012] 根據(jù)本發(fā)明的又一個(gè)方面,還提出了一種報(bào)表取數(shù)條件生成方法,包括:步驟 202:基于預(yù)先定義的多維分析取數(shù)模型即數(shù)據(jù)結(jié)構(gòu),在前臺(tái)部分以樹(shù)型結(jié)構(gòu)展示數(shù)據(jù)結(jié) 構(gòu)及其維度、度量成員和支持的拖拽功能,并將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為該存儲(chǔ)結(jié)構(gòu),用于展示樹(shù)形 結(jié)構(gòu)和存儲(chǔ)動(dòng)態(tài)區(qū)域;步驟204 :將轉(zhuǎn)換的存儲(chǔ)結(jié)構(gòu)應(yīng)用于表樣,通過(guò)拖拽右側(cè)相應(yīng)的維度 度量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域;步驟206 :生成映射區(qū)域后,在報(bào)表面 板的后臺(tái),定義映射模型和映射區(qū)域模型,存儲(chǔ)用戶(hù)設(shè)置的映射信息。在該技術(shù)方案中,基 于多維技術(shù)來(lái)生成報(bào)表取數(shù)條件,而多維取數(shù)模型是用戶(hù)可自定義的,并且是基于業(yè)務(wù)的 多維分析模型,而且在定義到表樣時(shí),也完全是基于業(yè)務(wù)的且支持拖拽形式,而不必定義公 式。
[0013] 在上述技術(shù)方案中,優(yōu)選地,所述步驟204通過(guò)拖拽右側(cè)相應(yīng)的維度度量條件,建 立取數(shù)條件的映射,生成映射取數(shù)區(qū)域的操作,進(jìn)一步包括:⑴拖曳行條件到行頭;⑵拖曳 列條件到列頭;⑶點(diǎn)擊生成映射區(qū)域。
[0014] 在上述技術(shù)方案中,優(yōu)選地,所述步驟204,具體包括:步驟302 :建立多個(gè)由行、列 條件組成的交叉區(qū)域,遍歷所有的指標(biāo)單元格;步驟304 :當(dāng)所有的指標(biāo)單元格遍歷完成之 后,在每個(gè)映射區(qū)域中,保存行/列條件在MDX查詢(xún)中應(yīng)該出現(xiàn)的位置,并生成MDX;步驟 306 :基于生成的MDX,對(duì)每個(gè)交叉區(qū)域進(jìn)行計(jì)算。
[0015] 在上述技術(shù)方案中,優(yōu)選地,所述步驟304,還包括:在生成MDX時(shí),根據(jù)MDX的位 置,組裝依次出現(xiàn)的維度成員或由多個(gè)維度成員組成的元組,將行列條件存儲(chǔ)的方式設(shè)為 哈希表形式。
[0016] 在上述技術(shù)方案中,優(yōu)選地,所述步驟304生成MDX的操作,進(jìn)一步包括:⑴循環(huán)行 /列條件集合中的每一個(gè)行/列位置;⑵根據(jù)位置取到對(duì)應(yīng)的成員集合;⑶集合中是否多元 素,如果是則拼寫(xiě)元組,如果不是則拼寫(xiě)維度成員。
[0017] 通過(guò)以上技術(shù)方案,可以在現(xiàn)有的條件生成方式基礎(chǔ)上,充分利用單對(duì)象類(lèi)型完 成多對(duì)象類(lèi)型的條件生成,建立多對(duì)象類(lèi)型參與的條件生成的通用、統(tǒng)一生成思路。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0018] 圖1示出了根據(jù)本發(fā)明的實(shí)施例的報(bào)表取數(shù)條件生成裝置的框圖;
[0019] 圖2示出了根據(jù)本發(fā)明的實(shí)施例的報(bào)表取數(shù)條件生成方法的流程圖;
[0020] 圖3示出了根據(jù)本發(fā)明的實(shí)施例的映射區(qū)域生成單元的流程圖;
[0021] 圖4示出了根據(jù)本發(fā)明的實(shí)施例的基于用戶(hù)在已經(jīng)建立好多維分析取數(shù)模型的 詳細(xì)流程圖;
[0022] 圖5示出了根據(jù)本發(fā)明的實(shí)施例的表樣格式與多維取數(shù)條件映射設(shè)計(jì)器(取數(shù)設(shè) 計(jì)前)的工作界面截圖;
[0023] 圖6示出了根據(jù)本發(fā)明的實(shí)施例的生成取數(shù)條件映射區(qū)域的流程圖;
[0024] 圖7示出了根據(jù)本發(fā)明的實(shí)施例的表樣格式與多維取數(shù)條件映射設(shè)計(jì)器(取數(shù)設(shè) 計(jì)后)的工作界面截圖;
[0025] 圖8示出了根據(jù)本發(fā)明的實(shí)施例的拖拽映射事件處理的流程圖;
[0026] 圖9示出了根據(jù)本發(fā)明的實(shí)施例的映射區(qū)域生成算法的流程圖;
[0027] 圖10示出了根據(jù)本發(fā)明的實(shí)施例的區(qū)域計(jì)算MDX生成過(guò)程的流程圖。
【具體實(shí)施方式】
[0028] 為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施 例及實(shí)施例中的特征可以相互組合。
[0029] 在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可 以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開(kāi) 的具體實(shí)施例的限制。
[0030] 圖1示出了根據(jù)本發(fā)明的實(shí)施例的報(bào)表取數(shù)條件生成裝置的框圖。
[0031] 如圖1所示,根據(jù)本發(fā)明的實(shí)施例的報(bào)表取數(shù)條件生成裝置100,包括:數(shù)據(jù)結(jié)構(gòu) 存儲(chǔ)單元102,用于基于預(yù)先定義的多維分析取數(shù)模型即數(shù)據(jù)結(jié)構(gòu),在前臺(tái)部分以樹(shù)型結(jié)構(gòu) 展示數(shù)據(jù)結(jié)構(gòu)及其維度、度量成員和支持的拖拽功能,并將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為該存儲(chǔ)結(jié)構(gòu),用 于展示樹(shù)形結(jié)構(gòu)和存儲(chǔ)動(dòng)態(tài)區(qū)域;映射區(qū)域生成單元104,用于將轉(zhuǎn)換的存儲(chǔ)結(jié)構(gòu)應(yīng)用于 表樣,通過(guò)拖拽右側(cè)相應(yīng)的維度度量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域;映射 模型數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)單元106,用于生成映射區(qū)域后,在報(bào)表面板的后臺(tái),定義映射模型和映 射區(qū)域模型,存儲(chǔ)用戶(hù)設(shè)置的映射信息。在該技術(shù)方案中,可以通過(guò)不同的設(shè)置方式,生成 不同的取數(shù)條件,最終達(dá)到通過(guò)多維分析模型取報(bào)表數(shù)據(jù)的目的。
[0032] 在上述技術(shù)方案中,優(yōu)選地,映射區(qū)域生成單元104通過(guò)拖拽右側(cè)相應(yīng)的維度度 量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域的操作,進(jìn)一步包括:⑴拖曳行條件到行 頭;⑵拖曳列條件到列頭;⑶點(diǎn)擊生成映射區(qū)域。
[0033] 在上述技術(shù)方案中,優(yōu)選地,映射區(qū)域生成單元104,具體包括:交叉區(qū)域生成模 塊1042,用于建立多個(gè)由行、列條件組成的交叉區(qū)域,遍歷所有的指標(biāo)單元格;MDX語(yǔ)句生 成及保存模塊1044,用于當(dāng)所有的指標(biāo)單元格遍歷完成之后,在每個(gè)映射區(qū)域中,保存行 /列條件在MDX查詢(xún)中應(yīng)該出現(xiàn)的位置,并生成MDX;區(qū)域計(jì)算模塊1046,用于基于生成的 MDX,對(duì)每個(gè)交叉區(qū)域進(jìn)行計(jì)算。在該技術(shù)方案中,基于多維技術(shù)來(lái)生成報(bào)表取數(shù)條件,而多 維取數(shù)模型是用戶(hù)可自定義的,并且是基于業(yè)務(wù)的多維分析模型,而且在定義到表樣時(shí),也 完全是基于業(yè)務(wù)的且支持拖拽形式,而不必定義公式。
[0034] 在上述技術(shù)方案中,優(yōu)選地,MDX語(yǔ)句生成及保存模塊1044,還用于在生成MDX時(shí), 根據(jù)MDX的位置,組裝依次出現(xiàn)的維度成員或由多個(gè)維度成員組成的元組,將行列條件存 儲(chǔ)的方式設(shè)為哈希表形式。
[0035] 在上述技術(shù)方案中,優(yōu)選地,MDX語(yǔ)句生成及保存模塊1044生成MDX的操作,進(jìn)一 步包括:⑴循環(huán)行/列條件集合中的每一個(gè)行/列位置;⑵根據(jù)位置取到對(duì)應(yīng)的成員集合; ⑶集合中是否多元素,如果是則拼寫(xiě)元組,如果不是則拼寫(xiě)維度成員。
[0036] 圖2示出了根據(jù)本發(fā)明的實(shí)施例的報(bào)表取數(shù)條件生成方法的流程圖。
[0037] 如圖2所示,根據(jù)本發(fā)明的實(shí)施例的報(bào)表取數(shù)條件生成方法,包括:步驟202:基 于預(yù)先定義的多維分析取數(shù)模型即數(shù)據(jù)結(jié)構(gòu),在前臺(tái)部分以樹(shù)型結(jié)構(gòu)展示數(shù)據(jù)結(jié)構(gòu)及其維 度、度量成員和支持的拖拽功能,并將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為該存儲(chǔ)結(jié)構(gòu),用于展示樹(shù)形結(jié)構(gòu)和存 儲(chǔ)動(dòng)態(tài)區(qū)域;步驟204 :將轉(zhuǎn)換的存儲(chǔ)結(jié)構(gòu)應(yīng)用于表樣,通過(guò)拖拽右側(cè)相應(yīng)的維度度量條 件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域;步驟206 :生成映射區(qū)域后,在報(bào)表面板的后 臺(tái),定義映射模型和映射區(qū)域模型,存儲(chǔ)用戶(hù)設(shè)置的映射信息。在該技術(shù)方案中,基于多維 技術(shù)來(lái)生成報(bào)表取數(shù)條件,而多維取數(shù)模型是用戶(hù)可自定義的,并且是基于業(yè)務(wù)的多維分 析模型,而且在定義到表樣時(shí),也完全是基于業(yè)務(wù)的且支持拖拽形式,而不必定義公式。
[0038] 在上述技術(shù)方案中,優(yōu)選地,步驟204通過(guò)拖拽右側(cè)相應(yīng)的維度度量條件,建立取 數(shù)條件的映射,生成映射取數(shù)區(qū)域的操作,進(jìn)一步包括:⑴拖曳行條件到行頭;⑵拖曳列條 件到列頭;⑶點(diǎn)擊生成映射區(qū)域。
[0039] 在上述技術(shù)方案中,優(yōu)選地,如圖3所示,步驟204,具體包括:步驟302:建立多 個(gè)由行、列條件組成的交叉區(qū)域,遍歷所有的指標(biāo)單元格;步驟304:當(dāng)所有的指標(biāo)單元格 遍歷完成之后,在每個(gè)映射區(qū)域中,保存行/列條件在MDX查詢(xún)中應(yīng)該出現(xiàn)的位置,并生成 MDX;步驟306 :基于生成的MDX,對(duì)每個(gè)交叉區(qū)域進(jìn)行計(jì)算。
[0040] 在上述技術(shù)方案中,優(yōu)選地,步驟304,還包括:在生成MDX時(shí),根據(jù)MDX的位置,組 裝依次出現(xiàn)的維度成員或由多個(gè)維度成員組成的元組,將行列條件存儲(chǔ)的方式設(shè)為哈希表 形式。
[0041] 在上述技術(shù)方案中,優(yōu)選地,步驟304生成MDX的操作,進(jìn)一步包括:⑴循環(huán)行/列 條件集合中的每一個(gè)行/列位置;⑵根據(jù)位置取到對(duì)應(yīng)的成員集合;⑶集合中是否多元素, 如果是則拼寫(xiě)元組,如果不是則拼寫(xiě)維度成員。
[0042] 本發(fā)明的技術(shù)方案,提供了一種基于多維分析理論的報(bào)表取數(shù)條件生成技術(shù),適 用于用面向業(yè)務(wù)設(shè)計(jì)的多維分析模型中的維度和度量,通過(guò)不同的設(shè)置方式,生成不同的 取數(shù)條件,最終達(dá)到通過(guò)多維分析模型取報(bào)表數(shù)據(jù)的目的。
[0043] 隨著企業(yè)的飛速發(fā)展,用戶(hù)對(duì)于報(bào)表數(shù)據(jù)的采集方式,越來(lái)越趨向于面向業(yè)務(wù)的 數(shù)據(jù)抓?。辉诂F(xiàn)有的很多報(bào)表產(chǎn)品中,都在使用公式進(jìn)行報(bào)表制作,雖然簡(jiǎn)化了用戶(hù)的操 作,但也隨之也帶來(lái)了很多問(wèn)題,比如用戶(hù)在某單元格定義了取數(shù)公式:A6 =F('B6')。
[0044] 單就A6來(lái)說(shuō),這種方法并不能直觀的展示A6究竟取的是什么數(shù)據(jù),如果需要了 解,那就必須要了解函數(shù)F(X)的含義及其寫(xiě)法規(guī)范,而對(duì)于表樣的制作人員、以及那些關(guān) 心數(shù)據(jù)來(lái)源與業(yè)務(wù)含義的人來(lái)說(shuō),要把業(yè)務(wù)數(shù)據(jù)用公式的形式描述、解讀公式含義需要一 個(gè)很長(zhǎng)很晦澀的學(xué)習(xí)過(guò)程,并且我們要為每個(gè)取數(shù)單元格都設(shè)置類(lèi)似這樣的公式,工作量 非常大。
[0045] 因此,如果能夠直觀的設(shè)計(jì)表樣與表間單元格的取數(shù)條件,使用戶(hù)能夠直接按照 業(yè)務(wù)需求去設(shè)計(jì)表樣從而達(dá)到取數(shù)的目的。這是本發(fā)明的技術(shù)方案的立足點(diǎn)和待解決的問(wèn) 題。
[0046] 本發(fā)明的技術(shù)方案是基于用戶(hù)在已經(jīng)建立好多維分析取數(shù)模型的基礎(chǔ)上,如圖4 所示。
[0047]如圖4所示,本發(fā)明的技術(shù)方案中提到的取數(shù)條件生成裝置位于圖4中多維分析 條件應(yīng)用于表樣生成取數(shù)區(qū)域的部分,即多維分析條件應(yīng)用于表樣生成映射取數(shù)區(qū)域。為 了實(shí)現(xiàn)技術(shù)方案中所述目標(biāo),在前臺(tái)部分以樹(shù)型結(jié)構(gòu)展示多維模型(數(shù)據(jù)結(jié)構(gòu))及其維度、 度量成員,并支持拖拽功能。用戶(hù)將對(duì)應(yīng)的單元格所要取數(shù)據(jù)的條件,通過(guò)拖拽右側(cè)相應(yīng)的 維度度量條件,建立起取數(shù)條件的映射,如圖5所示。
[0048]建立取數(shù)條件的前提,是建立一個(gè)由行、列條件組成的交叉區(qū)域,由用戶(hù)進(jìn)行如圖 6所示的操作。
[0049] 如圖5和圖6,譬如第一個(gè)指標(biāo)單元格(行次3,D列),表樣上的列描述是期末余 額,行描述則是貨幣資金,那么分別從右側(cè)拖拽多維模型的行列條件(維度,度量條件), 指標(biāo)單元格最終的取數(shù)條件是行條件與列條件的和,如此直到用戶(hù)定義好所有的條件組合 方式(以行頭,列頭上的條件的和為準(zhǔn)),當(dāng)用戶(hù)點(diǎn)擊生成映射區(qū)域時(shí),后臺(tái)會(huì)自動(dòng)合并可 以由一次MDX查詢(xún)?nèi)〕鰯?shù)據(jù)的、處在同一個(gè)方塊區(qū)域的所有指標(biāo)為一個(gè)取數(shù)區(qū)域,并生成 該區(qū)域的取數(shù)MDX,如圖5中所示,D6,D7,D8單元格,他們的列條件相同,而行條件雖然條 件不同,但都來(lái)自于同一個(gè)維度:報(bào)表項(xiàng)目,所以可以合并為一個(gè)取數(shù)區(qū)域,是可以用一個(gè) MDX語(yǔ)句進(jìn)行一次性取數(shù)的。如圖7,保存映射區(qū)域后實(shí)際上做了兩件事:1.生成映射區(qū)域; 2.生成,并記錄該映射區(qū)域的取數(shù)MDX語(yǔ)句。拖拽后的條件在表樣上高亮顯示。
[0050] 數(shù)據(jù)結(jié)構(gòu):多維模型展示在樹(shù)結(jié)構(gòu)上應(yīng)用數(shù)據(jù)結(jié)構(gòu)如下,將用戶(hù)定義的多維模型, 轉(zhuǎn)換為該存儲(chǔ)結(jié)構(gòu),用作樹(shù)形展示與動(dòng)態(tài)區(qū)存儲(chǔ)。
[0051] 維度的數(shù)據(jù)結(jié)構(gòu)如下:
[0052]
【權(quán)利要求】
1. 一種報(bào)表取數(shù)條件生成裝置,其特征在于,包括: 數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)單元,用于基于預(yù)先定義的多維分析取數(shù)模型即數(shù)據(jù)結(jié)構(gòu),在前臺(tái)部分 以樹(shù)型結(jié)構(gòu)展示數(shù)據(jù)結(jié)構(gòu)及其維度、度量成員和支持的拖拽功能,并將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為該 存儲(chǔ)結(jié)構(gòu),用于展示樹(shù)形結(jié)構(gòu)和存儲(chǔ)動(dòng)態(tài)區(qū)域; 映射區(qū)域生成單元,用于將轉(zhuǎn)換的存儲(chǔ)結(jié)構(gòu)應(yīng)用于表樣,通過(guò)拖拽右側(cè)相應(yīng)的維度度 量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域; 映射模型數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)單元,用于生成映射區(qū)域后,在報(bào)表面板的后臺(tái),定義映射模型 和映射區(qū)域模型,存儲(chǔ)用戶(hù)設(shè)置的映射信息。
2. 根據(jù)權(quán)利要求1所述的報(bào)表取數(shù)條件生成裝置,其特征在于,所述映射區(qū)域生成單 元通過(guò)拖拽右側(cè)相應(yīng)的維度度量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域的操作,進(jìn) 一步包括: ⑴拖曳行條件到行頭; ⑵拖曳列條件到列頭; ⑶點(diǎn)擊生成映射區(qū)域。
3. 根據(jù)權(quán)利要求1或2所述的報(bào)表取數(shù)條件生成裝置,其特征在于,所述映射區(qū)域生成 單元,具體包括: 交叉區(qū)域生成模塊,用于建立多個(gè)由行、列條件組成的交叉區(qū)域,遍歷所有的指標(biāo)單元 格; MDX語(yǔ)句生成及保存模塊,用于當(dāng)所有的指標(biāo)單元格遍歷完成之后,在每個(gè)映射區(qū)域 中,保存行/列條件在MDX查詢(xún)中應(yīng)該出現(xiàn)的位置,并生成MDX ; 區(qū)域計(jì)算模塊,用于基于生成的MDX,對(duì)每個(gè)交叉區(qū)域進(jìn)行計(jì)算。
4. 根據(jù)權(quán)利要求3所述的報(bào)表取數(shù)條件生成裝置,其特征在于,所述MDX語(yǔ)句生成及保 存模塊,還用于在生成MDX時(shí),根據(jù)MDX的位置,組裝依次出現(xiàn)的維度成員或由多個(gè)維度成 員組成的元組,將行列條件存儲(chǔ)的方式設(shè)為哈希表形式。
5. 根據(jù)權(quán)利要求3所述的報(bào)表取數(shù)條件生成裝置,其特征在于,所述MDX語(yǔ)句生成及保 存模塊生成MDX的操作,進(jìn)一步包括: ⑴循環(huán)行/列條件集合中的每一個(gè)行/列位置; ⑵根據(jù)位置取到對(duì)應(yīng)的成員集合; ⑶集合中是否多元素,如果是則拼寫(xiě)元組,如果不是則拼寫(xiě)維度成員。
6. -種報(bào)表取數(shù)條件生成方法,其特征在于,包括: 步驟202 :基于預(yù)先定義的多維分析取數(shù)模型即數(shù)據(jù)結(jié)構(gòu),在前臺(tái)部分以樹(shù)型結(jié)構(gòu)展 示數(shù)據(jù)結(jié)構(gòu)及其維度、度量成員和支持的拖拽功能,并將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為該存儲(chǔ)結(jié)構(gòu),用于 展示樹(shù)形結(jié)構(gòu)和存儲(chǔ)動(dòng)態(tài)區(qū)域; 步驟204 :將轉(zhuǎn)換的存儲(chǔ)結(jié)構(gòu)應(yīng)用于表樣,通過(guò)拖拽右側(cè)相應(yīng)的維度度量條件,建立取 數(shù)條件的映射,生成映射取數(shù)區(qū)域; 步驟206 :生成映射區(qū)域后,在報(bào)表面板的后臺(tái),定義映射模型和映射區(qū)域模型,存儲(chǔ) 用戶(hù)設(shè)置的映射信息。
7. 根據(jù)權(quán)利要求6所述的報(bào)表取數(shù)條件生成方法,其特征在于,所述步驟204通過(guò)拖拽 右側(cè)相應(yīng)的維度度量條件,建立取數(shù)條件的映射,生成映射取數(shù)區(qū)域的操作,進(jìn)一步包括: ⑴拖曳行條件到行頭; ⑵拖曳列條件到列頭; ⑶點(diǎn)擊生成映射區(qū)域。
8. 根據(jù)權(quán)利要求6或7所述的報(bào)表取數(shù)條件生成方法,其特征在于,所述步驟204,具 體包括: 步驟302 :建立多個(gè)由行、列條件組成的交叉區(qū)域,遍歷所有的指標(biāo)單元格; 步驟304 :當(dāng)所有的指標(biāo)單元格遍歷完成之后,在每個(gè)映射區(qū)域中,保存行/列條件在 MDX查詢(xún)中應(yīng)該出現(xiàn)的位置,并生成MDX ; 步驟306 :基于生成的MDX,對(duì)每個(gè)交叉區(qū)域進(jìn)行計(jì)算。
9. 根據(jù)權(quán)利要求8所述的報(bào)表取數(shù)條件生成方法,其特征在于,所述步驟304,還包括:在生成MDX時(shí),根據(jù)MDX的位置,組裝依次出現(xiàn)的維度成員或由多個(gè)維度成員組成的元組, 將行列條件存儲(chǔ)的方式設(shè)為哈希表形式。
10. 根據(jù)權(quán)利要求8所述的報(bào)表取數(shù)條件生成方法,其特征在于,所述步驟304生成 MDX的操作,進(jìn)一步包括: ⑴循環(huán)行/列條件集合中的每一個(gè)行/列位置; ⑵根據(jù)位置取到對(duì)應(yīng)的成員集合; ⑶集合中是否多元素,如果是則拼寫(xiě)元組,如果不是則拼寫(xiě)維度成員。
【文檔編號(hào)】G06F17/30GK104361137SQ201410757407
【公開(kāi)日】2015年2月18日 申請(qǐng)日期:2014年12月10日 優(yōu)先權(quán)日:2014年12月10日
【發(fā)明者】叢大勇 申請(qǐng)人:用友軟件股份有限公司