專利名稱:聯(lián)機分析處理表格的格式化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機領(lǐng)域,具體的說特別涉及一種聯(lián)機分析處理表格的格式化方法。
背景技術(shù):
OLAP(On-Line Analytical Processing,聯(lián)機分析處理)是一種軟件技術(shù),它使分析人員能夠迅速、一致、交互地從各個方面觀察信息,以達(dá)到深入理解數(shù)據(jù)的目的,這些信息是從原始數(shù)據(jù)直接轉(zhuǎn)換過來的,它們以用戶容易理解的方式反映企業(yè)的真實情況。
OLAP大部分策略都是將關(guān)系型或普通的數(shù)據(jù)進(jìn)行多維數(shù)據(jù)存貯,以便于進(jìn)行分析,從而達(dá)到聯(lián)機分析處理的目的。這種多維數(shù)據(jù)被看作一個超立方體,沿著各個維的方向存貯數(shù)據(jù),它允許用戶沿事務(wù)的軸線分析數(shù)據(jù),實現(xiàn)了共享多維信息的快速分析。
OLAP的主要特點是直接仿照用戶的多角度思考模式,預(yù)先為用戶組建多維數(shù)據(jù)模型,其中維指用戶的分析角度。例如,多銷售數(shù)據(jù)的分析,時間周期是一個維度,產(chǎn)品類別、分銷渠道、地理分布、客戶群類也分別是一個維度。一旦多維數(shù)據(jù)模型建立完成,用戶可以快速地從各個分析角度獲取數(shù)據(jù),也能動態(tài)的在各個角度之間切換或者進(jìn)行多角度綜合分析,具有極大的靈活性。
隨著OLAP表格的應(yīng)用越來越廣泛,這種多維表格中貯存的數(shù)據(jù)量日益龐大和復(fù)雜,當(dāng)該多維表格應(yīng)用在企業(yè)的統(tǒng)計和分析中時,由于聯(lián)機分析處理表格中的單元格缺乏格式化表示顯示方法,僅能進(jìn)行單一的多維表格數(shù)據(jù)顯示,而使企業(yè)在進(jìn)行多角度分析數(shù)據(jù)表格時,無法進(jìn)一步對多維表格進(jìn)行操作,難以著重顯示單元格中的成員和數(shù)據(jù),不利于企業(yè)更好分析和顯示數(shù)據(jù)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種聯(lián)機分析處理表格的格式化方法,以克服現(xiàn)有技術(shù)中,由于聯(lián)機分析處理表格中的單元格缺乏格式化表示方法,而使企業(yè)在進(jìn)行多角度分析數(shù)據(jù)表格時,難以著重顯示單元格中的成員和數(shù)據(jù),不利于企業(yè)更好分析和顯示數(shù)據(jù)表格的問題。
為解決上述技術(shù)問題,本發(fā)明提如下技術(shù)方案一種聯(lián)機分析處理表格的格式化方法,包括步驟A、解析器設(shè)置聯(lián)機分析處理表格中要進(jìn)行格式化的操作對象的屬性值和該操作對象的狀態(tài)條件;B、當(dāng)表格中的操作對象滿足所述設(shè)置的狀態(tài)條件時,解析器根據(jù)所述設(shè)置的屬性值對滿足狀態(tài)條件的操作對象進(jìn)行格式化顯示。
所述步驟A中操作對象的屬性值包括操作對象的背景顏色、前景顏色中的至少一項;和/或操作對象的字體、字號、顏色、是否顯示為粗體、斜體、下劃線、旋轉(zhuǎn)中的至少一項。
所述步驟A中設(shè)置操作對象的狀態(tài)條件具體為解析器設(shè)置表格中操作對象的至少一個狀態(tài)條件。
所述設(shè)置表格中操作對象的至少一個狀態(tài)條件具體為通過應(yīng)用運算符,邏輯表達(dá)式,字符串連接符,宏或多維表達(dá)式中的至少一種方式設(shè)置所述狀態(tài)條件。
當(dāng)通過宏設(shè)置狀態(tài)條件時,所述步驟A包括設(shè)置表格中要進(jìn)行格式化的單元格數(shù)據(jù)的屬性值。
當(dāng)通過多維表達(dá)式設(shè)置狀態(tài)條件時,所述步驟A包括設(shè)置表格中單元格對應(yīng)的維度成員的屬性值,或設(shè)置表格中單元格對應(yīng)的維度成員的聯(lián)系成員的屬性值,或設(shè)置表格中任意維度成員的屬性值。
所述維度成員的聯(lián)系成員包括
維度成員的父親成員,或維度成員的兄弟成員,或維度成員的根成員。
所述步驟A還包括解析器設(shè)置當(dāng)聯(lián)機分析處理表格中的操作對象不滿足所述狀態(tài)條件時該操作對象的屬性值。
所述方法還包括當(dāng)表格中的操作對象不滿足所述設(shè)置的狀態(tài)條件時,解析器根據(jù)所述設(shè)置的屬性值對不滿足狀態(tài)條件的操作對象進(jìn)行格式化顯示。
所述步驟A中設(shè)置操作對象的狀態(tài)條件為空時,解析器根據(jù)所述設(shè)置的屬性值對操作對象進(jìn)行格式化顯示。
由以上本發(fā)明提供的技術(shù)方案可見,本發(fā)明具有如下特點和優(yōu)點由于聯(lián)機分析處理表格中的單元格格式取決于兩個因素,一是本身的數(shù)據(jù),二是單元格的上下文,即決定該單元格的維度信息,因此任何數(shù)據(jù)單元格都是由維度成員組合決定的。本發(fā)明通過設(shè)定屬性值和狀態(tài)條件可以方便訪問表格中的任意單元格和任意維度成員,并對選中的操作對象進(jìn)行格式化顯示。
本發(fā)明通過應(yīng)用多維表達(dá)式,可以訪問聯(lián)機分析處理表格中的任意對象,也可以定義出任意復(fù)雜的表達(dá)式對表格中的對象進(jìn)行操作,應(yīng)用本發(fā)明可以對聯(lián)機分析處理表格中的單元格進(jìn)行格式化顯示,從而使企業(yè)在進(jìn)行多角度分析聯(lián)機分析處理表格時,能夠通過格式化方法顯示單元格中的成員和數(shù)據(jù),操作簡單,便于企業(yè)更方便和直觀地分析和顯示數(shù)據(jù)表格,提高了企業(yè)的整體分析性能。
圖1為本發(fā)明方法流程圖;圖2為本發(fā)明優(yōu)選實施例的流程圖;圖3為本發(fā)明另一實施例的流程圖。
具體實施例方式
本發(fā)明的核心是提供一種聯(lián)機分析處理表格的格式化方法,該方法通過解析器設(shè)置聯(lián)機分析處理表格中要進(jìn)行格式化的操作對象的屬性值和該操作對象的狀態(tài)條件,當(dāng)表格中的操作對象滿足設(shè)置的狀態(tài)條件時,解析器根據(jù)設(shè)置的屬性值對滿足狀態(tài)條件的操作對象進(jìn)行格式化顯示,使企業(yè)在進(jìn)行多角度分析聯(lián)機處理表格時,能夠更方便和直觀地分析并顯示數(shù)據(jù)表格,有利于提高企業(yè)的整體分析性能。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。
聯(lián)機分析處理的用戶一般是企業(yè)中的專業(yè)分析人員和管理決策人員,他們在分析業(yè)務(wù)經(jīng)營的數(shù)據(jù)時,從不同的角度審視業(yè)務(wù)的衡量指標(biāo)。例如當(dāng)分析銷售數(shù)據(jù)時,可能會綜合時間周期、產(chǎn)品類別、分銷渠道、地理分布、客戶群類等多種因素來考量。這些分析角度可以通過報表來反映,每一個分析的角度可以生成一張報表,各個分析角度的不同組合可以生成不同的表格。其中,維是人們觀察數(shù)據(jù)的特定角度,是考慮問題時的一類屬性,屬性集合構(gòu)成一個維,包括時間維和地理維等;維的層次是人們觀察數(shù)據(jù)的某個特定角度,還可以存在細(xì)節(jié)程度不同的各個描述方面,包括時間維的日期、月份、季度或年等;維的成員是維的一個取值,是數(shù)據(jù)項在某維中位置的描述;度量是多維數(shù)組的取值。
本發(fā)明聯(lián)機分析處理表格的格式化方法流程如圖1所示步驟101解析器設(shè)置聯(lián)機分析處理表格中要進(jìn)行格式化的操作對象的屬性值和狀態(tài)條件。
解析器可以對讀入或?qū)懭氲牟僮髦噶钸M(jìn)行解析,然后根據(jù)解析出的結(jié)果對操作對象進(jìn)行相應(yīng)指令執(zhí)行。其中,操作對象的屬性值包括操作對象的背景顏色、前景顏色中的至少一項,和/或操作對象的字體、字號、顏色、是否顯示為粗體、斜體、下劃線、旋轉(zhuǎn)中的至少一項。
具體的,解析器可以設(shè)置表格中要進(jìn)行格式化的單元格數(shù)據(jù)的屬性值,或設(shè)置表格中單元格對應(yīng)的維度成員的屬性值,或設(shè)置表格中單元格對應(yīng)的維度成員的聯(lián)系成員的屬性值,或設(shè)置表格中任意維度成員的屬性值。
步驟102當(dāng)表格中的操作對象滿足設(shè)置的狀態(tài)條件時,解析器根據(jù)設(shè)置的屬性值對表格中的操作對象進(jìn)行格式化顯示。
通過應(yīng)用運算符,邏輯表達(dá)式,字符串連接符,宏或多維表達(dá)式中的至少一種方式設(shè)置操作對象的狀態(tài)條件,判斷表格中的操作對象滿足設(shè)置的至少一個狀態(tài)條件。
解析器分別設(shè)置當(dāng)表格中的操作對象滿足和不滿足設(shè)定的狀態(tài)條件時該操作對象的屬性值。具體的,判斷當(dāng)表格中的操作對象滿足設(shè)置的狀態(tài)條件時,根據(jù)滿足狀態(tài)條件的屬性值對表格中的操作對象進(jìn)行格式化顯示;判斷當(dāng)表格中的操作對象不滿足設(shè)置的狀態(tài)條件時,根據(jù)不滿足狀態(tài)條件的屬性值對表格中的操作對象進(jìn)行格式化顯示。當(dāng)設(shè)置的操作對象的狀態(tài)條件為空時,解析器根據(jù)設(shè)置的屬性值直接對操作對象進(jìn)行格式化顯示。
特別的,解析器可以應(yīng)用如下腳本語言結(jié)構(gòu)實現(xiàn)本發(fā)明聯(lián)機分析處理表格的格式化方法[(condition)?](true_statement)[false_statement]針對上述腳本語言結(jié)構(gòu)中,condition和false_statement的可選性,可以有如下三種聯(lián)機分析處理表格的格式化表達(dá)方式(true_statement);在這種表達(dá)方式中,不用設(shè)置操作對象的狀態(tài)條件,首先設(shè)置表格中要進(jìn)行格式化的操作對象的屬性值,即括號中的true_statement,然后根據(jù)設(shè)置的屬性值對整個聯(lián)機分析處理表格進(jìn)行相應(yīng)的格式化顯示。
(condition)?(true_statement);在這種表達(dá)方式中,首先設(shè)置表格中操作對象的至少一個狀態(tài)條件,即第一個括號中的condition值,然后設(shè)置表格中要進(jìn)行格式化的操作對象的屬性值,即第二格括號中的true_statement,并判斷聯(lián)機分析處理表格中的操作對向是否滿足該condition值,對于滿足該值的操作對象,則根據(jù)設(shè)置的屬性值對聯(lián)機分析處理表格的操作對象進(jìn)行相應(yīng)的格式化顯示。
(condition)?(true_statement)(false_statement);在這種表達(dá)方式中,首先設(shè)置表格中操作對象的至少一個狀態(tài)條件,即第一個括號中的condition值,然后分別設(shè)置表格中當(dāng)滿足該condition值時操作對象的屬性值,即第二個括號中的true_statement,和當(dāng)不滿足該condition值時操作對象的屬性值,即第三個括號中的false_statement,并判斷聯(lián)機分析處理表格中的操作對象是否滿足該condition值,對滿足該值的操作對象,根據(jù)設(shè)置的true_statement對其進(jìn)行格式化顯示,對不滿足該值的操作對象,根據(jù)設(shè)置的false_statement對其進(jìn)行格式化顯示。
本發(fā)明聯(lián)機分析處理表格的格式化方法的優(yōu)選實施例流程如圖2所示步驟201解析器設(shè)置聯(lián)機分析處理表格中操作對象的至少一個狀態(tài)條件。
可以通過應(yīng)用運算符,邏輯表達(dá)式,字符串連接符,宏或多維表達(dá)式中的至少一種方式設(shè)置該狀態(tài)條件。
具體的,可以通過運算符(+,-,×,÷)設(shè)置狀態(tài)條件condition,例如(Value-2000)>0;可以通過邏輯表達(dá)式設(shè)置狀態(tài)條件condition,例如(Value>2000and Value<3000);可以通過字符串連接設(shè)置狀態(tài)條件condition,例如(Time.currentMember.name‖’年’=’2001年’);可以通過宏設(shè)置狀態(tài)條件condition,例如(Value=Null);也可以通過多維表達(dá)式設(shè)置狀態(tài)條件condition。
步驟202解析器設(shè)置聯(lián)機分析處理表格中要進(jìn)行格式化的操作對象的屬性值。
可以設(shè)置表格中要進(jìn)行格式化的單元格數(shù)據(jù)的屬性值,或設(shè)置表格中單元格對應(yīng)的維度成員的屬性值,或設(shè)置表格中單元格對應(yīng)的維度成員的聯(lián)系成員的屬性值,或設(shè)置表格中任意維度成員的屬性值。
其中,維度成員的聯(lián)系成員具體為維度成員的父親成員,維度成員的兄弟成員,或者維度成員的根成員。
步驟203判斷聯(lián)機分析處理表格中的對象是否滿足設(shè)置的狀態(tài)條件,若是,則執(zhí)行步驟204;否則,執(zhí)行步驟205。
步驟204解析器根據(jù)設(shè)置的屬性值對表格中的操作對象進(jìn)行格式化顯示,并結(jié)束流程。
當(dāng)表格中的操作對象滿足設(shè)置的狀態(tài)條件時,根據(jù)設(shè)置的屬性值對表格中的操作對象進(jìn)行格式化顯示。
一個聯(lián)機分析處理的多維表格如表1所示
具體的,可以通過宏設(shè)置表1中要進(jìn)行格式化的單元格的屬性值,并且當(dāng)該單元格滿足設(shè)定的狀態(tài)條件時,根據(jù)該屬性值對該單元格進(jìn)行顯示;例如,(Value>2000)?(colorred),即設(shè)置表1中單元格中的數(shù)值滿足大于2000時,將該單元格的數(shù)據(jù)顯示為紅色,相應(yīng)的2001年的銷售金額2180.74顯示為紅色。
可以通過多維表達(dá)式設(shè)置表1中要進(jìn)行格式化的某個維度成員的屬性值,并且當(dāng)該單元格滿足設(shè)定的狀態(tài)條件時,根據(jù)該屬性值對該維度成員進(jìn)行顯示;例如,(Time.currentMember=Time.[匯總])?(backgroundOrange),即設(shè)置表1中為“匯總”的維度成員單元格的背景顏色為桔紅色。
可以通過多維表達(dá)式設(shè)置表1中要進(jìn)行格式化的維度成員的父親成員的屬性值,并且當(dāng)該斷員個滿足設(shè)定的狀態(tài)條件時,根據(jù)該屬性值對該維度成員的父成員進(jìn)行顯示;例如,(Time.currentMember.parent=[Time]. )?(colorRed),即設(shè)置表1的時間成員中當(dāng)前成員的父成員2001年及其所有子成員12個月的字體顏色為紅色。
步驟205對表格中的對象不做處理同時結(jié)束流程。
本發(fā)明聯(lián)機分析處理表格的格式化方法的另一實施例流程如圖3所示步驟301解析器設(shè)置聯(lián)機分析處理表格中操作對象的至少一個狀態(tài)條件。
可以通過運算符(+,-,×,÷)設(shè)置狀態(tài)條件condition,例如(Value-2000)>0;可以通過邏輯表達(dá)式設(shè)置狀態(tài)條件condition,例如(Value>2000and Value<3000);可以通過字符串連接設(shè)置狀態(tài)條件condition,例如(Time.currentMember.name‖’年’=’2001年’);可以通過宏設(shè)置狀態(tài)條件condition,例如(Value=Null);也可以通過多維表達(dá)式設(shè)置狀態(tài)條件condition。
步驟302解析器分別設(shè)置兩種條件下聯(lián)機分析處理表格中要進(jìn)行格式化的操作對象的屬性值。
分別設(shè)置當(dāng)表格中的操作對象滿足和不滿足設(shè)定的狀態(tài)條件時該操作對象的屬性值。可以分別設(shè)置兩種條件下要進(jìn)行格式化的單元格數(shù)據(jù)的屬性值,或分別設(shè)置兩種條件下表格中單元格對應(yīng)的維度成員的屬性值,或分別設(shè)置兩種條件下表格中單元格對應(yīng)的維度成員的聯(lián)系成員的屬性值,或分別設(shè)置兩種條件下表格中任意維度成員的屬性值。其中,維度成員的聯(lián)系成員具體為維度成員的父親成員,維度成員的兄弟成員,或者維度成員的根成員。
具體的,操作對象的屬性值包括操作對象的背景顏色、前景顏色中的至少一項,和/或操作對象的字體、字號、顏色、是否顯示為粗體、斜體、下劃線、旋轉(zhuǎn)中的至少一項。
步驟303判斷聯(lián)機分析處理表格中的對象是否滿足設(shè)置的狀態(tài)條件,若是,則執(zhí)行步驟304;否則,執(zhí)行步驟305。
步驟304根據(jù)滿足條件的操作對象的屬性值對該操作對象進(jìn)行格式化顯示,并結(jié)束流程。
步驟305根據(jù)不滿足條件的操作對象的屬性值對該操作對象進(jìn)行格式化顯示,并結(jié)束流程。
具體的,可以通過多維表達(dá)式設(shè)置表1中任意維度的成員的屬性值,并且當(dāng)該任意維度的成員滿足設(shè)定的狀態(tài)條件時,根據(jù)設(shè)置的滿足條件的狀態(tài)值對該任意維度的成員進(jìn)行格式化顯示,當(dāng)該任意維度的成員不滿足設(shè)定的狀態(tài)條件時,根據(jù)設(shè)置的不滿足條件的狀態(tài)值對該任意維度的成員進(jìn)行格式化顯示;例如,(Time.currentMember=Time.[匯總])?(backgroundBlue)(ColorRed),即設(shè)置表1中時間維度的當(dāng)前成員是否為“匯總”,若是則將該維度成員的背景顏色設(shè)置為藍(lán)色,否則將該維度成員的數(shù)值設(shè)置為紅色。
可以通過多維表達(dá)式設(shè)置表1中任意單元格的屬性值,并且當(dāng)該單元格滿足設(shè)定的狀態(tài)條件時,根據(jù)設(shè)置的滿足條件的狀態(tài)值對該單元格進(jìn)行格式化顯示,當(dāng)該單元格不滿足設(shè)定的狀態(tài)條件時,根據(jù)設(shè)置的不滿足條件的狀態(tài)值對該單元格進(jìn)行格式化顯示;例如,(Value(Time.currentMember.preMember,[度量].[銷售數(shù)量])=Null)?(ColorRed)(ColorGreen),即設(shè)置表1中時間維度的當(dāng)前成員的前一個成員的銷售數(shù)量是否為空,若是則將該單元格的數(shù)值顯示為紅色,否則將該單元格的數(shù)值顯示為綠色。
雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種聯(lián)機分析處理表格的格式化方法,其特征在于,包括步驟A、解析器設(shè)置聯(lián)機分析處理表格中要進(jìn)行格式化的操作對象的屬性值和該操作對象的狀態(tài)條件;B、當(dāng)表格中的操作對象滿足所述設(shè)置的狀態(tài)條件時,解析器根據(jù)所述設(shè)置的屬性值對滿足狀態(tài)條件的操作對象進(jìn)行格式化顯示。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中操作對象的屬性值包括操作對象的背景顏色、前景顏色中的至少一項;和/或操作對象的字體、字號、顏色、是否顯示為粗體、斜體、下劃線、旋轉(zhuǎn)中的至少一項。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中設(shè)置操作對象的狀態(tài)條件具體為解析器設(shè)置表格中操作對象的至少一個狀態(tài)條件。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述設(shè)置表格中操作對象的至少一個狀態(tài)條件具體為通過應(yīng)用運算符,邏輯表達(dá)式,字符串連接符,宏或多維表達(dá)式中的至少一種方式設(shè)置所述狀態(tài)條件。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)通過宏設(shè)置狀態(tài)條件時,所述步驟A包括設(shè)置表格中要進(jìn)行格式化的單元格數(shù)據(jù)的屬性值。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)通過多維表達(dá)式設(shè)置狀態(tài)條件時,所述步驟A包括設(shè)置表格中單元格對應(yīng)的維度成員的屬性值,或設(shè)置表格中單元格對應(yīng)的維度成員的聯(lián)系成員的屬性值,或設(shè)置表格中任意維度成員的屬性值。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述維度成員的聯(lián)系成員包括維度成員的父親成員,或維度成員的兄弟成員,或維度成員的根成員。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A還包括解析器設(shè)置當(dāng)聯(lián)機分析處理表格中的操作對象不滿足所述狀態(tài)條件時該操作對象的屬性值。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述方法還包括當(dāng)表格中的操作對象不滿足所述設(shè)置的狀態(tài)條件時,解析器根據(jù)所述設(shè)置的屬性值對不滿足狀態(tài)條件的操作對象進(jìn)行格式化顯示。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中設(shè)置操作對象的狀態(tài)條件為空時,解析器根據(jù)所述設(shè)置的屬性值對操作對象進(jìn)行格式化顯示。
全文摘要
本發(fā)明公開了一種聯(lián)機分析處理表格的格式化方法,包括步驟A.解析器設(shè)置聯(lián)機分析處理表格中要進(jìn)行格式化的操作對象的屬性值和該操作對象的狀態(tài)條件;B.當(dāng)表格中的操作對象滿足所述設(shè)置的狀態(tài)條件時,解析器根據(jù)所述設(shè)置的屬性值對滿足狀態(tài)條件的操作對象進(jìn)行格式化顯示。應(yīng)用本發(fā)明可以對聯(lián)機分析處理表格中的單元格進(jìn)行格式化顯示,從而使企業(yè)在進(jìn)行多角度分析聯(lián)機分析處理表格時,能夠通過格式化方法顯示單元格中的成員和數(shù)據(jù),操作簡單,便于企業(yè)更方便和直觀地分析和顯示數(shù)據(jù)表格,提高了企業(yè)的整體分析性能。
文檔編號G06F17/30GK1949224SQ20061014508
公開日2007年4月18日 申請日期2006年12月1日 優(yōu)先權(quán)日2006年12月1日
發(fā)明者林志賢 申請人:金蝶軟件(中國)有限公司