資料立方體

2021-10-01 01:22:28 字數 2511 閱讀 6720

總體介紹

首先模擬乙個資料分析場景,某企業積累了如下**所示的銷售資料:

**中每一行表示某個時間段內某種商品在某個地區的銷售情況。很明顯,這些資料涉及到了時間、地區、產品三個業務角度。

在對這樣的資料進行分析時,不同的角色都會基於自己所感興趣的業務角度提出問題

銷售經理關心各個地區的銷售情況,希望找出銷售增長率在平均水平之下的地區產品總監則希望了解近期內各種產品的銷量對比,以作為後期產品研發方向的參考ceo想要知道近六個月內整體銷售環比資訊,用以評估是否達到公司運營目標

對於**中的資料,可以將其轉換為另一種資料格式 - "三維空間立方體",如下圖所示:

相對於**,以三維立方體形式呈現的資料結構更加直觀。

在這個資料立方體中,每乙個座標軸都代表乙個業務角度(時間、地區、產品),座標軸上的座標值則表示了某個業務角度的乙個確定的值(如:北京市、3月份、手機),不同座標軸座標值的交叉點則表示乙個具體的銷售額。

實際上,此資料立方體中表示業務角度的座標軸就是維度,類似於三維立方體的資料結構則被稱為多維資料結構(也稱資料立方體)。

再次回顧前文中銷售經理、產品總監、ceo各自提出的問題,不難發現他們各自所關注的維度分別為:地區、產品、時間

目前我們所模擬的這個資料分析場景較為特殊,因為只有三個維度,所以可以直觀的將資料想象成乙個三維立方體。

實際情況中,企業進行資料分析時往往要參考更多的維度,而且提出的問題也會更加複雜,此時,已經不能將資料以經典的三維立方體結構進行呈現。

核心概念簡介

在多維資料分析領域中,有幾個非常重要的核心概念:

資料立方體(cube)維度(dimension)成員(member),又稱維度成員(dimension member)度量(measure)級別(level)

維度(dimension)

維度就是描述資料的業務角度。在不同的資料分析場景中,會存在若干個不同的維度。

以上圖為例,存在三個維度:時間、地區、產品。在這個資料分析場景中,「哪種產品銷量最好?」這樣的問題顯然主要關注的是產品這個維度,而「哪些地區連續六個月銷售額環比增長?」則同時關注了地區和日期兩個維度。

在乙個多維數結構中,維度可以被抽象理解成乙個座標軸,圖1中所示的資料分析場景由三個維度組成,每個維度各自代表了三維空間中的乙個座標軸。

【理解一維空間結構】

一維空間是一把尺子,只有乙個座標軸,座標軸上的乙個座標值就能確定乙個點

【理解二維空間結構】

二維空間是乙個平面,具有兩個座標軸,不同座標軸上的兩個座標值確定乙個點

【理解三維空間結構】

三維空間具有長、寬、高三個座標軸,三個座標軸座標值確定乙個點

【理解四維空間結構】

四維空間比三維空間多出乙個座標軸,這裡我們稱這個新的座標軸為「第四座標軸」,現在如果需要確定乙個點,除了長、寬、高三個軸上的座標值外,還需要第四座標軸上的乙個座標值

【理解n維空間結構】

n(n可以是大於零的任意整數)維空間中具有n個座標軸,需要n個不同座標軸上的座標值才能確定乙個點

維度成員(dimension member)

前文介紹維度概念時,講到可將維度理解成表示某種業務角度的座標軸,而維度成員則非常類似於維度座標軸上的座標值。

以時間維度為例,「一季度」、「1月份」、「2月份」這三個維度成員同屬於時間維度,它們各自表示了時間維度下乙個具體的時間段。

由下圖可以看出,同乙個維度下的維度成員呈現出樹狀結構,我們將沒有子級成員的成員稱為明細成員(leaf member,又稱明細維度成員leaf dimension member),其他成員稱為非明細成員。

資料立方體(cube)

資料立方體表示由若干個維度所描述的乙個資料集合,每個維度各自表示乙個可對此資料集合進行觀察和分析的業務角度。

之所以稱為「立方體」,是因為由三個維度所描述的乙個資料集,能夠非常輕鬆的被想象成三維空間中的乙個立方體結構。

需要注意的是,在多維資料分析體系中,乙個資料立方體往往具有更多的維度,雖然更多維度形態並不像三維空間立方體那樣直觀,但維度表示某些業務角度的作用不會改變。

度量(measure)

在乙個資料立方體中,從每個維度上都選取乙個確定的維度成員,這些維度成員組合所確定的乙個點就是度量值。

在圖 10示例中,日期維度:1月份、地區維度:河北省、產品維度:手機確定了乙個最細粒度的資料方塊,這個小資料方塊(下文稱為data cell)就是銷售額6688這個度量值,顯然,這表示「河北地區1月份手機產品的銷售額是6688」。

如果仔細觀察圖 10,您可能會發現並沒有乙個data cell能夠直接表示「北京市一季度手機產品的銷售額」。由於一季度與1、2、3三個月份是父子級的關係,所以「北京市一季度手機產品的銷售額」可以通過彙總計算得到,如下圖所示:

圖 11 - 度量值彙總

一般情況下,資料立方體中並不直接儲存非明細成員所描述的度量值,而是通過對其後代成員中的全部明細成員進行彙總計算而得出。

級別(level)

級別表示維度成員所描述業務角度的細節程度,也可理解為通過維度成員觀察資料的粒度。例如日期維度中一季度、1月這兩個成員,分別屬於季度、月份兩個不同的級別,顯而易見,季度級別的維度成員描述資料的粒度較為寬泛,月級別則較為細緻。

資料立方體 解密

資料立方體和傳統資料庫的差別在於資料立方體即cube把很多原來要用資料庫的group by操作來達到的效果通過其獨有的儲存形式予以加速,使用者可以方便地下鑽,切面 看到各種聚合的資料的結果。試想一下,如果乙個cube擁有3個維度,為了計算在各個維度上的聚合,就要進行2 3次計算,如果有10個維度就要...

資料立方體技術

1.資料立方體的概念和計算。資料立方體 資料立方體只是多維模型的一種形象的說法,它只有三維,但多維資料模型不僅限於三維,它可以是n維的。之所以這麼叫是為了讓使用者更容易想象,方便解釋和說明,同時也為了和傳統的關聯式資料庫中的二維表進行區分。完全物化是指計算資料立方體格中的所有方體 部分物化是指選擇性...

建立立方體

imanualobject cube cube scenemgr.createmanualobject cube cube.begin examples anchor operationtype.ot list 頂點 cube.position 100,100,100 0 cube.position...