專利名稱:數據分析方法、設備以及數據分析輔助方法
技術領域:
本申請涉及數據處理技術。尤其涉及一種數據分析方法、數據分析設備,以及數據分析輔助方法。
背景技術:
隨著商業活動中信息數據量的增加,以及人們對商業分析價值認識的提高,數據分析例如OLAP(在線分析處理)系統變得越來越普及。多維模型視圖是商業分析中最為自然的組織方式。OLAP數據分析提供對數據的多維概念視圖(包括對分級結構的完全支持)。例如,用于銷售評估的OLAP數據分析模型可以被組織為二維“地理”和“時間”。時間維可以包括年、月、日各個級別。類似地,地理維則可以細分為國家、省(州)、縣等。
OLAP數據分析系統將事實組織為維度。維度是對事實進行歸類以進行分析的方式。在幫助評估收支平衡目標、生成報告等方面,OLAP數據分析系統是有價值的、回報高的商業智能設備。這種方法允許用戶發現數據中的規律和趨勢,例如某個地域或者某個人群最喜歡的產品,某個公司或者某個產業的銷售業績等。
為此,OLAP數據分析按維把數據組織成所謂的“立方體”。OLAP數據立方體并非嚴格幾何意義上的立方體,而是可以有多于三個或者少于三個的維度。換句話說,“數據立方體”的表述僅是為了理解和說明的方便,其實質在于按照多維形式組織的數據。只要確定了維度(這取決于要分析的對象和目的),就確定了數據立方體。如果將其用圖表表示并且恰好是三維,則可以看見真正的立方體。
數據立方體的設計可以按照商業的劃分來構造,比如銷售或者市場營銷。數據立方體可以通過數據聚集將數據轉換為有用的信息。通過數據立方體,商業用戶可以根據商業分析的需要隨意對數據進行切割。
一句話,由于其靈活性和強大的商業分析能力,OLAP數據分析是非常有價值的。一旦在OLAP數據分析服務器內定義了事實和維度,數據分析設備就可以簡單地拖放維度和事實來分析數據。
當前,構建OLAP數據分析模型的方法是通過直接定義立方體所應具有的維度和指標。這樣的方法只關注于定義所需要的維度,而忽略了各維度之間存在的關系和結構。而且對于商業人士來說這種方法難以重復利用這些維度。人們可能不得不在設計立方體時非常困難地尋找對分析有用的所有維度。使問題進一步復雜化的地方在于,可能有某些維度是依賴于時間的,例如公司的信用等級。大多數已有的數據分析系統在處理與時間相關的維度時不能產生正確的分析結果。因此,需要有一種方便的方法來解決這些問題。
發明內容
鑒于上述問題,本發明的主要目的在于簡化構建OLAP數據分析模型的過程。本發明次要的目的在于解決由于存在與時間相關的維度而使分析結果不正確的問題。
根據本發明的第一方面,上述主要目的是通過一種數據分析方法實現的。該方法包括建立語義實體庫的建庫步驟,該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射;選擇步驟,從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值;指標定義步驟,定義指標的計算方式;以及數據裝載步驟,根據所述映射,裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。
根據本發明的第二方面,上述主要目的是通過一種數據分析設備輔助方法實現的。該方法包括提供語義實體庫,該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射;提供選擇裝置,用于從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值;提供指標定義裝置,用于定義指標的計算方式;提供數據裝載器,用于根據所述映射裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。
根據本發明的第三方面,上述主要目的是通過一種數據分析設備實現的。該設備包括語義實體庫存儲裝置,該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射;選擇裝置,用于從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值;指標定義裝置,用于定義指標的計算方式;數據裝載器,用于根據所述映射裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。
本發明還提供了能夠實現上述方法的程序產品。
根據上述技術方案,可能的維度的含義對于商業人員來說含義清晰并易于理解,不需要技術人員的支持。同時,對資產的重復使用變得方便、容易,不再需要臨時尋找要分析的實體和屬性。
為了實現上述次要目的,還可以對隨時間變化的維度作出標記,并定義用于跟蹤所述變化的到數據倉庫的映射,在與所述隨時間變化的屬性相關的指標的計算方式中,包括進與所述變化相關的調整項。
這樣,根據上述優選方案,在裝載數據時,基于實體的聚集能夠容易地支持隨時間變化的維度的聚集,從而避免由于隨時間變化的維度的存在而導致聚集結果不正確。
下面將結合附圖描述本發明的優選實施例。在附圖中圖1是包含本發明的數據分析設備的一種實施方式的系統的框圖;圖2是用于解釋實體、數據倉庫和數據立方體的示意圖;
圖3是語義實體庫的一個例子;圖4是在圖3所示的語義實體庫中選擇實體和屬性的例子;圖5是在圖4的基礎上選擇屬性的參考范圍的例子;圖6是指標定義和形成數據立方體的一個例子;圖7的示意圖用于說明傳統的數據聚集沒有考慮屬性隨時間的變化;圖8的示意圖用于說明根據本發明的一種優選實施方式,進行數據聚集時考慮了屬性隨時間的變化;圖9是包含本發明的數據分析設備的幾種優選實施方式的系統的框圖;圖10是本發明的數據分析設備的另一種優選實施方式的示意圖;圖11是本發明的數據分析方法的一種實施方式的流程圖。
具體實施例方式
本申請提出了一種基于語義技術的構建數據分析和報告系統的新方法和新設備。作為使用本發明的方法和設備的環境,圖1描述了數據分析系統的總體配置示意圖。
如圖1所示,作為被分析的對象的數據源自在線事務處理系統102(OLTP,On-Line Transaction Processing),經過數據清洗系統104(ETL,Extraction,Transformation and Loading)的清洗,被存儲在數據倉庫106中。
如背景部分所述,現有的構建數據分析模型的方法是通過直接定義立方體所應具有的維度和指標。這樣的方法只關注于定義所需要的維度,而忽略了各維度之間存在的關系和結構。而且對于商業人士來說這種方法難以重復利用這些維度。人們可能不得不在設計立方體時非常困難地尋找對分析有用的所有維度。為解決此問題,本發明的基本構思是提供預先定義好的庫,其中存儲可能的維度,從而使得用戶只需要從這個庫中選擇所需要的維度即可。為方便維度庫的定義和使用,本發明采用了語義技術。
下面對數據分析設備進行詳細說明。
如圖1中虛線框所示,本發明的數據分析設備100主要由四個部件構成語義實體庫(SER,semantic entity repository)108、選擇裝置110、指標定義裝置122以及從數據倉庫向數據立方體裝載數據的數據裝載器112。下面依次說明。
語義實體庫108每一個數據立方體涉及許多商業實體。每一個實體代表一個要分析的對象。例如,如圖2所示,在一個圖示地區A和地區B的所有超市的收入的簡單的數據分析系統中,“超市”就是要分析的實體。
語義實體庫108是在其中存儲與數據分析相關的商業實體的庫,包括三種主要的成員對實體138及其屬性140(見圖10)進行結構化描述的實體集118;一組預定義的參考范圍,描述屬性的可能范圍;以及語義實體庫實體和屬性與數據倉庫的數據結構之間的映射,使得在進行數據聚集時能夠進行數據檢索。
語義實體庫的功能是在設計數據立方體時提供參考和增強可重復使用性。通過在語義實體庫中定制相關的實體及其屬性,用戶可以方便地定義想要的任何數據分析模型。
語義實體庫中的一個實體表示一個商業概念。一個實體可以有多個屬性。語義實體庫中的實體的屬性可以具有三種功能。第一種功能是維護商業概念之間的邏輯關系,比如圖3中“有貸款”表示概念“客戶”和“貸款”之間的關系;屬性可以具有的第二種功能是用作數據立方體的“維度”,例如圖3中“客戶”的“信用等級”。如果某個屬性被選擇為一個維度,則稱該屬性為維度屬性。維度屬性的范圍被稱為該屬性的參考范圍。參考范圍中的每一個值被采用為維度的坐標。屬性也可以用來定義數據立方體的指標(關于指標的說明請見下文)。
語義實體庫實體可以被組織為分級結構。一個實體能夠從其祖先那里繼承屬性。例如,商業概念“客戶”的實體是“公司”和“個人”的父概念。因此“公司”和“個人”從實體“客戶”繼承屬性“信用等級”和“地址”。作為舉例,在圖3到圖6中,空心箭頭表示屬性具有繼承關系,而實心箭頭則表示屬性沒有繼承關系。
參考范圍表示維度屬性可能具有的所有可能的值。
語義實體庫的另一個重要組成部分是語義實體庫實體屬性和數據倉庫之間的映射。映射的作用是規定實體的實例及其屬性存儲在數據倉庫中什么地方。具體地,一個實體的映射指向存儲該實體的實例的表的主鍵。一個屬性的映射則指向存儲實例的屬性值的列。
通過映射,在聚集數據立方體時,系統能夠自動地找出從數據倉庫中的什么地方檢索數據。
圖3圖示了顯示在圖形用戶界面上的具有實體和參考范圍的語義實體庫的一個例子。它可以用OWL表達如下<owl:Class rdf:about=″&sbst;Loan″/>
<owl:Class rdf:about=″&sbst;Customer″/>
<owl:Class rdf:about=″&sbst;Company″>
<rdfs:subClassOf rdf:resource=”&sbst;Customer”/>
</owl:Class>
<owl:Class rdf:about=″&sbst;Individual″>
<rdfs:subClassOf rdf:resource=”&sbst;Customer”/>
</owl:Class>
<owl:ObjectProperty rdf:about=″&sbst;hasLoan″>
<rdfs:domain rdf:resource=″&sbst;Customer″/>
<rdfs:range rdf:resource=″&sbst;Loan″/>
</owl:ObjectProperty>
<owl:ObjectProperty rdf:about=″&sbst;productType″>
<rdfs:domainrdf:resource=″&sbst;ProductTypeRange″/>
<rdfs:range rdf:resource=″&sbst;Loan″/>
</owl:ObjectProperty>
<owl:DatatypePropertyrdf:about=″&sbst;loanAmount″>
<rdfs:domain rdf:resource=″&sbst;Customer″/>
<rdfs:rangerdf:resource=″http://www.w3.org/2001/XMLSchema#float″/>
</owl:DatatypeProperty>
<owl:Class rdf:about=”&sbst;ProductTypeRange”/>
<owl:Class rdf:about=”&sbst;FinancialService”>
<rdfs:subClassOf rdf:resource=”&sbst;ProductTypeRange”/>
</owl:Class>
<owl:Class rdf:about=”&sbst;TermLoanRange”/>
<rdfs:subClassOf rdf:resource=”&sbst;FinancialService”/>
</owl:Class>
<sbst:FinancialServicerdf:about=”&sbst;PreferenceShareLoan”/>
<sbst:FinancialService rdf:about=”&sbst;SharedEquityLoan”/>
<sbst:TermLoanRange rdf:about=”&sbst;MortgageLoan”/>
<sbst:TermLoanRange rdf:about=”&sbst;VehicleLoan”/>
<sbst:TermLoanRange rdf:about=”&sbst;HouseLoan”/>
圖3中,直角框表示實體,圓角框表示屬性的參考范圍。參考范圍內的字符串表示直接屬于參考范圍的成員。例如,如圖3所示,其中圖示了四個實體公司,客戶,個人和貸款。各個實體有自己的屬性。為了簡明起見,圖3中只詳細圖示了“貸款”的屬性產品類型,擔保類型和貸款日期。每一個屬性可以進一步細分,稱之為屬性的“參考范圍”,也就是屬性的取值范圍。該參考范圍中的取值可以進一步分類。因此,某個屬性的整個參考范圍可以組織為樹形結構。例如,在保險類型的參考范圍的樹結構中,根“保險類型”有三個子節點保證,抵押和質押。而“保證”又有至少三個子節點銀行保證,外國FI以及合資企業FI等。
需要注意的是,屬性及其參考范圍有相對性。作為例子,雖然圖3所示的結構是比較合理的,但是也完全可以將圖3中參考范圍的某個樹分解為兩個樹,其根節點直接作為實體的不同屬性。例如,可以將圖3中保險類型的樹分解為以“保證”和“其他擔保類型”為根節點的兩個樹。“保證”和“其他擔保類型”直接作為實體“貸款”的屬性。同時,樹的結構本身也可以按照不同的標準進行組織。
指標定義裝置122指標是要分析的目標。例如在圖2所示的例子中,所分析的實體是圖2(A)所示的超市,其對應于圖2(B)所示的數據倉庫。圖2(C)是某一個分析所得到的“立方體”。該立方體涉及兩個實體,即“超市”和“收入”,這兩個實體之間的邏輯關系是“超市具有收入”。該立方體具有三個維度。第一個維度是“時間”(橫軸),它是“收入”的屬性,其參考范圍是第一季(Q1)到第四季(Q4),構成“時間”維度上的坐標。第二個維度是“地址”(在圖2(C)中用不同灰度表示),它是“超市”的屬性,其參考范圍是“地區A”和“地區B”,其構成“地址”維度上的坐標。
在該立方體中,“不同地區的超市在各季度的總收入”即為要分析的指標。顯然,該指標的計算方式為將圖2(B)所示的數據倉庫中的收入列的數值(對應于語義實體庫中的“收入”實體)按時間(時間列)和地區(地址列)加和。為了構成平面圖示,圖2(C)的縱軸表示指標刻度,并將“地址”維用帶灰度的柱圖區分。作為另一個例子,縱軸的含義可以變成另一個指標,例如“不同地區的所有超市在各季度的平均收入”,此時的計算方式就是將前述和除以相應地區內的超市數量。
指標定義裝置122就是用來定義指標。如果指標不與語義實體庫中的實體或者屬性(或者數據倉庫中的值)直接對應,則需要定義其計算方式(例如上述)。換句話說,定義了計算方式,也就定義了指標。如果指標與語義實體庫中的實體或者屬性(或者數據倉庫中的值)直接對應,則只需要直接指定就可以了(也可以認為定義了諸如“X=A”這樣的計算方式),例如,如果為了在立方體中直觀地顯示各超市的情況,可以構建以“時間”、“店鋪名稱(店鋪ID)”和作為指標的“每季收入”為三維的立方體。此時,該指標“每季收入”就直接等于圖2(B)中“收入”列中的每一個數值。
顯然,指標和計算方式的定義是與立方體的維度的選取相關的。因此指標定義裝置同時還可以完成從語義實體庫中選擇所需的維度的工作。上述工作可以通過在例如圖3所顯示的圖形界面上進行選擇來完成。當然,從語義實體庫中選擇所需維度的工作也可以由選擇裝置110來完成,如圖1所示。
數據裝載器112選擇了所需的維度,并定義了指標計算方式之后,就形成了數據立方體。之后,數據裝載器112可以根據在語義實體庫108中定義的映射關系,從數據倉庫106中檢索數據,將數據載入所述立方體計算并顯示結果。當然,最方便的方式是進行圖形化顯示和報告。但是當然也可以是其他方式,比如簡單列表的方式。
利用上面所描述的數據分析設備,用戶即可方便地進行數據分析,在語義實體庫中定義好的實體和屬性等可以直接拿來作為參考,無需臨時分析概念和建立概念之間的聯系。
下面對數據分析方法以及數據分析設備的其他優選實施方式進行說明。
下面結合圖11的流程圖以及其他示意圖具體描述用戶利用該數據分析設備進行數據分析時的步驟。
首先,用戶需要建立語義實體庫。建立語義實體庫的方式有多種。在本發明的數據分析方法的第一種實施方式中,使用前述數據分析設備預先提供的基本語義實體庫。也就是說,一旦載入前述數據分析設備,就完成了對語義實體庫的建立(未圖示)。這種實施方式要求預先提供比較完備的基本語義實體庫。
在本發明的數據分析方法的第二種實施方式中,可以考慮到基本語義實體庫可能不是很完備,因此可能需要對基本語義實體庫加以修改。也就是說,如果基本語義實體庫中的實體、屬性或者屬性的參考范圍、邏輯關系等與實際使用需要不符或者需要加以充實,則用戶可以對基本語義實體庫中的元素進行修改、添加或者刪除等工作,從而完成語義實體庫的建立。
在本發明的數據分析方法的第三種實施方式中,考慮到用戶需求的多樣化和成本問題,可以使數據分析設備所提供的基本語義實體庫為具有基于本發明的結構的空庫,用戶可以按照數據分析設備所建立的結構從頭建立自己的語義實體庫(也可以認為是對具有特定邏輯結構的空庫的修改)。
與此相應,在本發明的數據分析設備的更為優選的實施方式中,該數據分析設備還可以包括修改語義實體庫的修改裝置,通過創建、修改、刪除實體、屬性、屬性參考范圍等來修改語義實體庫。
具體來說,如圖9所示,在本發明的數據分析設備100的一個優選實施方案中,該數據分析設備100還可以包括修改裝置124。其可以具體包括實體集描述裝置128,用于添加、刪除或修改所述實體集中的實體及其屬性;參考范圍描述裝置130,用于描述或者修改屬性的可能取值的參考范圍;以及數據映射裝置124,用于建立、刪除或者修改實體和屬性與數據倉庫的數據結構之間的映射。
與此相應,就數據分析方法的上述第二種和第三種實施方式而言,如圖11所示,本發明的數據分析方法的建庫步驟包括實體集描述步驟1102,參考范圍描述步驟1104以及數據映射步驟1106。需要說明的是,參考范圍的描述要基于對屬性的描述,屬性的描述要基于對實體的描述。而數據映射要基于對實體、屬性和參考范圍的描述。所以,就某一個實體的某一個屬性而言,這三個步驟具有前述敘述順序那樣的邏輯順序。但是,對于多個實體及其屬性而言,這三個步驟可以交替進行。
還需要說明的是,建立語義實體庫的工作是進行具體的數據分析工作之前的基礎工作,其在時間上與下面將要描述的維度選擇、指標定義和數據裝載等步驟不一定是緊密相連的。但是,在進行具體的數據分析工作的時候可能會發現語義實體庫需要予以修改或者補充,此時,建立語義實體庫的步驟又是與下面所述的步驟相互交織的。
接下來是維度選擇步驟1108(圖11),利用選擇裝置110(圖1)從語義實體庫108中選擇構成維度的實體和屬性,以及構成維度上的坐標的屬性取值范圍,以及指標定義步驟1110(圖11),利用指標定義裝置122(圖1)定義指標及其計算方式。
如上面所述,在本發明的數據分析方法的又一種優選實施方式中,如果在維度選擇步驟1108和/或指標定義步驟1110中發現沒有所要的實體、屬性、屬性取值范圍,則可以使用前述實體集描述裝置128、參考范圍描述裝置130和數據映射裝置124創立并將其保存在語義實體庫中。選中的實體會被用作基本聚集單元,被選為維度屬性的屬性會被用作維度。
圖4圖示了在圖3所示圖形用戶界面上選擇實體及其屬性的一個例子。圖中的突出現實的框(粗線框)表示已經被選中的實體,突出顯示的文字(黑體字)表示選中的維度屬性。
選擇了實體及其維度屬性之后,也就確定了數據分析的維度。例如圖4中的選擇結果即針對“公司”的具有“貸款”的“客戶”的情況構成五個維度公司的產業類別,客戶的信用等級,以及貸款的產品類型、擔保類型和貸款日期。
然后是選擇維度屬性的可能的值。這一步可以通過用選擇裝置110定制語義實體庫中維度屬性的參考范圍來完成(也就是在參考范圍中進行選擇)。
在本發明的數據分析方法的又一種優選實施方式中,可以考慮到在有時候,維度屬性的實際范圍與指定的參考范圍可能不相同。在這種情況下,用戶可以定義實際范圍和參考范圍之間的值映射(圖11中未圖示)。例如,實體“貸款”的屬性“貸款額”的實際范圍是實際的數值。但是其參考范圍可能被定義為{大額,小額}。在這種情況下,值映射需要將所述實際的數值轉換為“大額”或者“小額”。與此相應,前述數據分析設備100的又一種優選實施方式還可以包括參考范圍映射裝置134(圖9),用于將屬性的實際取值范圍映射到語義實體庫中定義的參考范圍。
圖5給出了在圖3所示的圖形用戶界面上對維度屬性定制參考范圍的一個例子。如圖所示,被選中的屬性參考范圍(圓角框)變為突出顯示(粗線框)。
接著還要用指標定義裝置122定義指標及其計算方式。指標表示在數據分析中要評估的數據值,前文已有詳細討論。為了定義用于數據分析的指標,用戶可以使用概念的屬性以及預定的統計功能來定義如何計算指標。例如總貸款額=貸款額之和總還款額=還款額之和平均貸款額=總貸款額/“客戶”的數量平均還款額=總還款額/“客戶”的數量完成了實體、屬性及其取值范圍的選擇以及指標及其計算方式的定義之后,如前文所述,也就完成了數據立方體114的邏輯建構。因為語義實體庫中已經包含了實體、屬性及其取值范圍之間的邏輯關系,并且已經定義了指標的計算方式,也就是指標與所選擇的實體、屬性和屬性取值范圍之間的關系。也就是說,所選取和定義的實體、屬性、屬性的取值范圍、指標已經形成一個唯一的、內在邏輯關系確定的集合。
但是,在一種優選實施方式中,為了使該集合對用戶來說直觀易懂,可以將其構建成數據立方體圖形來在圖形用戶界面上顯示。為此,所述數據分析設備還可以包括圖形化裝置132(圖9)來進行這樣的操作。具體地,該圖形化裝置提取被選為維度屬性的所有屬性,將每一個維度屬性轉換為數據立方體的一個維度,維度屬性的參考范圍中的被選取的成員則作為相應維度上的坐標,并根據指標定義建立數據立方體的指標。
圖6圖示了生成數據立方體圖形顯示的一個例子。其中,為簡明起見,并沒有顯示在圖4和圖5中所選擇的全部內容。如圖6所示,被選中的屬性產品類型、信用等級和貸款日期(時間)作為三個維度。上述屬性的具體取值則作為各個維度上的坐標。其中,對于產品類型,由于其取值范圍為樹形結構,所以該維度上的坐標也可以被組織為分級結構。在該維度上(圖6中的橫軸),最高級坐標為“金融服務”(如果在圖5中也選擇了“保險服務”,則在該橫軸上可以有另一個坐標“保險服務”與“金融服務”并列),其下一級坐標為“優先股貸款”和“定期貸款”。“優先股貸款”沒有下一級坐標,而“定期貸款”的下一級還有“房屋貸款”和“汽車貸款”。另外,“信用評級”維度有A、B、C三個取值,“時間”維度有按月份的坐標(圖中顯示了三個月份)。這樣,三個坐標軸及其上面的坐標就構成了一個數據立方體。在圖6所示的數據立方體中,按每一個取值范圍樹形結構的葉節點計,包括3×3×3=27個數據點。例如,離原點最近的數據點是“2001年1月信用評級為A級的客戶的優先股貸款”。
該數據分析方法的最后一步,則是用數據裝載器112根據前述語義實體庫與數據倉庫數據結構之間的映射,按照指標的定義計算指標并將有關數據裝載到上述數據立方體中的數據裝載步驟1112(圖11)。在從數據倉庫進行聚集時,使用數據倉庫和語義實體庫之間的映射,數據裝載器112可以找到每一個實體的對應數據,并按照指標的計算方式的定義計算指標。例如,對于前述數據點“2001年1月信用評級為A級的客戶的優先股貸款”,可以計算“總貸款額”、“平均總貸款額”等指標,并將計算結果載入上述立方體。
在立方體圖形化的情況下,也可以由前述圖形化裝置132用圖形來在各個數據點顯示所述指標(圖11中未圖示)。該圖形可以是數字本身,或者不同的顏色,或者與數據大小相應大小的圖形,或者前述方式的組合等等。
下面對隨時間變化的屬性進行說明。
發明人還注意到,時間是一個特殊的維度。其指示隨著時間的改變不同事件的發生。根據本發明的更為優選的實施方式,區別于傳統的數據分析系統,當裝載數據進入數據分析數據時,擴展到隨時間變化的維度。說一個維度是隨時間變化的,意思是該維度的某些實例的值不是靜態的,會隨時間而變。例如,客戶的信用評級會隨時間而變。傳統的OLAP數據分析系統不能支持隨時間變化的維度,它們假設所有的維度都是靜態的。這樣會導致數據分析結果的誤差。
例如,在圖7所示的例子中,(A)和(B)是基于銀行數據倉庫中的貸款表格(D)和客戶表格(E)的數據立方體。其中(A)表示不同信用評級的公司在各月份的貸款額,(B)表示不同信用評級的公司在各月份的累計貸款額。但是在(B)的立方體中,未能考慮到ABC公司的信用評級已在2001年2月由A變為B(圖7(E))。在2001年2月之后,ABC公司的貸款會按照貸款人的評級為B來計算,如果需要計算在2001年2或3月累計貸給A級客戶的貸款總額,則ABC公司在2001年1月的貸款也不應計算在內。
為了在數據立方體中支持隨時間變化的維度,用戶首先需要定義哪些維度屬性是隨時間變化的,并定義其額外的到數據倉庫的映射,跟蹤隨時間變化的屬性的值的變化。這可以通過用戶界面來實現。為此,所述數據分析設備100還可以包括標記裝置136(圖10),用于標記可能隨時間變化的屬性140(維度),并定義用于跟蹤所述變化的映射(如圖8中的虛線雙箭頭所示)。
其次,為了支持對隨時間變化的維度的聚集,用戶需要對每一個相關指標定義一個額外的列。該列稱為該指標的調整列。該列的功能是捕捉隨時間發生了值的改變的隨時間變化的維度帶來的指標的變化。基于該列,就可以對數據進行正確的聚集。這個過程可以由數據分析設備中的指標定義裝置122來完成。例如,如圖8(D)所示,針對諸如“累計總貸款額”這樣的指標,設置“調整列”。在該列中,“-200”表示由于ABC公司在2001年1月由A級降為B級,需在A級公司2001年2月累計總貸款額中減去ABC公司在A級期間的“200”的貸款額,相應地,在B級公司2001年2月累計總貸款額中應加上ABC公司在A級期間的“200”的貸款額。這樣,在定義所述指標的計算方式時,除了按照傳統方式進行簡單加和外,還要加入所述調整列。這樣,對就能夠正確地進行對隨時間變化的維度的聚集,正確地計算包含前述指標的數據立方體,如圖2(E)所示。
下面對數據分析輔助方法進行說明。
本發明還提供了一種方法,為用戶配置數據分析設備,該方法包括提供數據分析設備中各個裝置的步驟,所述各個裝置可以使用戶使用或者修改已建立的語義實體庫對數據倉庫中的數據進行數據聚集。具體而言,該方法包括提供語義實體庫存儲裝置的步驟,其中該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射;提供選擇裝置的步驟,其中該選擇裝置用于從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值;提供指標定義裝置的步驟,其中該指標定義裝置用于定義指標的計算方式;提供數據裝載器的步驟,其中該數據裝載器用于根據所述映射裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。其中,語義實體庫以及各種裝置已在前面的部分進行了詳細的說明,在此不再贅述。
如本領域的普通技術人員所能理解的,本發明的方法和設備的全部或者任何步驟或者部件,可以在任何計算設備(包括處理器、存儲介質等)或者計算設備的網絡中,以硬件、固件、軟件或者它們的組合加以實現,這是本領域普通技術人員在了解本發明的內容的情況下運用他們的基本編程技能就能實現的,因此不需在此具體說明。
此外,顯而易見的是,在上面的說明中涉及到選擇、指定、修改、增加、刪除、定義等動作的時候,無疑要使用與任何計算設備相連的任何顯示設備和任何輸入設備、相應的接口和控制程序。總而言之,計算機、計算機系統或者計算機網絡中的相關硬件、軟件和實現本發明的前述方法中的各種操作的硬件、固件、軟件或者它們的組合,即構成本發明的數據分析設備及其各組成部件。在此意義上,本說明書中所涉及的“語義實體庫”等,可以理解成邏輯上的庫,也可以理解成構成本發明的數據分析設備的組成結構之一。
因此,基于上述理解,本發明的目的還可以通過在任何信息處理設備上運行一個程序或者一組程序來實現。所述信息處理設備可以是公知的通用設備。因此,本發明的目的也可以僅僅通過提供包含實現所述方法或者設備的程序代碼的程序產品來實現。也就是說,這樣的程序產品也構成本發明,并且存儲有這樣的程序產品的存儲介質也構成本發明。顯然,所述存儲介質可以是本領域技術人員已知的,或者將來所開發出來的任何類型的存儲介質,因此也沒有必要在此對各種存儲介質一一列舉。
在本發明的設備和方法中,顯然,各部件或各步驟是可以分解和/或重新組合的。這些分解和/或重新組合應視為本發明的等效方案。
權利要求
1.一種數據分析方法,包括建立語義實體庫的建庫步驟,該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射;選擇步驟,從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值;指標定義步驟,定義指標的計算方式;以及,數據裝載步驟,根據所述映射,裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。
2.如權利要求1所述的數據分析方法,其特征在于,所述建庫步驟包括修改已有的語義實體庫,其中,所述已有的語義實體庫中的所述實體集、所述參考范圍和所述映射至少為可以添加新成員的空集;其中,修改已有的語義實體庫的步驟包括實體集描述步驟,添加、刪除或修改所述實體集中的實體及其屬性;參考范圍描述步驟,描述或者修改屬性的可能取值的參考范圍;以及數據映射步驟,建立、刪除或者修改實體和屬性與數據倉庫的數據結構之間的映射。
3.如權利要求2所述的數據分析方法,其特征在于,還包括參考范圍映射步驟當所述參考范圍和數據倉庫中的數據的實際范圍不一致時,在所述參考范圍和數據倉庫中的數據的實際范圍之間建立映射。
4.如權利要求1所述的數據分析方法,其特征在于,還包括參考范圍映射步驟當所述參考范圍和數據倉庫中的數據的實際范圍不一致時,在所述參考范圍和數據倉庫中真實數據的實際范圍之間建立映射。
5.如權利要求1到4之一所述的數據分析方法,其特征在于,還包括圖形化步驟生成所選擇的實體、屬性、屬性取值和所定義的指標以及所述計算結果的圖形顯示。
6.如權利要求1到4之一所述的數據分析方法,其特征在于還包括標記步驟標記可能隨時間變化的屬性,并定義用于跟蹤所述變化的到數據倉庫的映射,其中,所述指標定義步驟包括在與所述隨時間變化的屬性相關的指標的計算方式中,包括進與所述變化相關的調整項。
7.一種數據分析設備,包括語義實體庫存儲裝置,該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射;選擇裝置,用于從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值;指標定義裝置,用于定義指標的計算方式;數據裝載器,用于根據所述映射裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。
8.如權利要求7所述的數據分析設備,其特征在于,所述實體集、所述參考范圍和所述映射至少為可以添加新成員的空集,并且該方法還包括修改所述語義實體庫的修改裝置,該修改裝置包括實體集描述裝置,用于添加、刪除或修改所述實體集中的實體及其屬性;參考范圍描述裝置,用于描述或者修改屬性的可能取值的參考范圍;以及數據映射裝置,用于建立、刪除或者修改實體和屬性與數據倉庫的數據結構之間的映射。
9.如權利要求8所述的數據分析設備,其特征在于,還包括在所述參考范圍和數據倉庫中的數據的實際范圍之間建立映射的參考范圍映射裝置。
10.如權利要求7所述的數據分析設備,其特征在于,還包括在所述參考范圍和數據倉庫中的數據的實際范圍之間建立映射的參考范圍映射裝置。
11.如權利要求7到10之一所述的數據分析設備,其特征在于,還包括生成所選擇的實體、屬性、屬性取值和所定義的指標以及所述計算結果的圖形顯示的圖形化裝置。
12.如權利要求7到10之一所述的數據分析設備,其特征在于還包括標記裝置,用于標記可能隨時間變化的屬性,并定義用于跟蹤所述變化的到數據倉庫的映射,其中,所述指標定義裝置在與所述隨時間變化的屬性相關的指標的計算方式中,包括進與所述變化相關的調整項。
13.一種為用戶配置數據分析設備的方法,該方法包括提供語義實體庫存儲裝置的步驟,其中該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射;提供選擇裝置的步驟,其中該選擇裝置用于從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值;提供指標定義裝置的步驟,其中該指標定義裝置用于定義指標的計算方式;提供數據裝載器的步驟,其中該數據裝載器用于根據所述映射裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。
14.一種程序產品,包括存儲在計算機可讀存儲介質中的程序代碼,所述程序代碼用于完成前述權利要求1-6或13中任何一個權利要求的操作。
全文摘要
本申請涉及數據分析方法、設備,以及數據分析輔助方法。其中,預先建立語義實體庫,該語義實體庫包括結構化描述的實體及其屬性構成的實體集,描述屬性的可能取值的參考范圍,以及實體和屬性與數據倉庫的數據結構之間的映射。在進行數據聚集時,從所述語義實體庫中選擇要分析的實體、屬性和/或屬性取值,定義指標的計算方式,并根據所述映射裝載數據倉庫中與所選擇的實體、屬性、屬性取值對應的數據,計算得到所定義的指標。
文檔編號G06F17/30GK101089846SQ200610092849
公開日2007年12月19日 申請日期2006年6月16日 優先權日2006年6月16日
發明者裘照明, 楊洋, 謝國彤, 馬立, 潘越 申請人:國際商業機器公司