亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

《BI那點兒事—數據的藝術》理解維度數據倉庫—

系統 1810 0
原文: 《BI那點兒事—數據的藝術》理解維度數據倉庫——事實表、維度表、聚合表

事實表

在多維數據倉庫中,保存度量值的詳細值或事實的表稱為“事實表”。一個按照州、產品和月份劃分的銷售量和銷售額存儲的事實表有5個列,概念上與下面的示例類似。?

Sate

Product

Mouth

Units

Dollars

WA

Mountain-100

January

3

7.95

WA

Cable Lock

January

4

7.32

OR

Mountain-100

January

3

7.95

OR

Cable Lock

January

4

7.32

WA

Mountain-100

February

16

42.40

在這些事實表的示例數據行中,前3個列——州、產品和月份——為鍵值列。剩下的兩個列——銷售額和銷售量——為度量值。事實表中的每個列通常要么是鍵值列,要么是度量值列,但也可能包含其他參考目的的列——例如采購訂單號或者發票號。

事實表中,每個度量值都有一個列。不同事實表將有不同的度量值。一個銷售數據倉庫可能含有這兩個度量值列:銷售額和銷售量。一個現場信息數據倉庫可能包含3個度量值列:總量、分鐘數和瑕疵數。創建報表時,可以認為度量值形成了一個額外的維度。即可以把銷售額和銷售量作為并列的列標題,或者也可以把它們作為行標題。然而在事實表中,每個度量值都作為一個單獨的列顯示。

事實表數據行中包含了您想從中獲取度量值信息的最底層級別的明細。換句話說,事實表中對每個維度的最詳細的項目成員都有數據行。如果有使用其他維度的度量,只要為那些度量和維度創建另一個事實表即可。數據倉庫中可能包含擁有不同度量值和維度的不同事實表。

前面表格中的示例數據行顯示了事實表的概念布局。事實是事實表幾乎總會使用一個整數值來表示(維度)成員,而不使用描述性的名稱。因為事實表往往會包含數量多得無法想象的數據行——在一個中等大小的數據倉庫中,事實表動輒包含上百萬行數據——使用整數鍵值可以有效地減小事實表的大小。事實表真正的布局如下所示。

STATE_ID

PROD_ID

Month

Sales_Units

Sales_Dollars

1

347

1

3

7.95

1

447

1

4

7.32

2

347

1

3

7.95

2

447

1

4

7.32

1

347

2

16

42.40

在事實表中使用整數鍵值時,維度成員的名稱需要放到另一種表中——也就是維度表。通常,事實表中的每個維度都有一個維度表。

事實表前綴為Fact。

歸納:

每個數據倉庫都包含一個或者多個事實數據表。事實數據表可能包含業務銷售數據,如現金登記事務。

所產生的數據,事實數據表通常包含大量的行。事實數據表的主要特點是包含數字數據(事實),并且這些數字信息可以匯總,以提供有關單位作為歷史的數據,每個事實數據表包含一個由多個部分組成的索引,該索引包含作為外鍵的相關性緯度表的主鍵,而維度表包含事實記錄的特性。事實數據表不應該包含描述性的信息,也不應該包含除數字度量字段及使事實與緯度表中對應項的相關索引字段之外的任何數據。

包含在事實數據表中的“度量值”有兩中:一種是可以累計的度量值,另一種是非累計的度量值。最有用的度量值是可累計的度量值,其累計起來的數字是非常有意義的。用戶可以通過累計度量值獲得匯總信息,例如。可以匯總具體時間段內一組商店的特定商品的銷售情況。非累計的度量值也可以用于事實數據表,單匯總結果一般是沒有意義的,例如,在一座大廈的不同位置測量溫度時,如果將大廈中所有不同位置的溫度累加是沒有意義的,但是求平均值是有意義的。

一般來說,一個事實數據表都要和一個或多個緯度表相關聯,用戶在利用事實數據表創建多維數據集時,可以使用一個或多個維度表。

維度表

維度表包含了維度的每個成員的特定名稱。維度成員的名稱稱為“屬性”(Attribute)。假設Product維度中有3種產品,那么維度表將如下所示。

PROD_ID

Product_Name

347

Mountain-100

339

Road-650

447

Cable Lock

產品名稱是產品成員的一個屬性。因為維度表中的Product ID與事實表中的Product ID相匹配,稱為“鍵屬性”。因為每個Product ID只有一個Product Name,顯示時用名稱來替代整數值,所以它仍然被認為是鍵屬性的一部分。

在數據倉庫中,維度表中的鍵屬性必須為維度的每個成員包含一個對應的唯一值。用關系型數據庫術語描述就是,鍵屬性稱為主鍵列。每個維度表中的主鍵值都與任何相關的事實表中的鍵值相關。在維度表中出現一次的每個鍵值都會在事實表中出現多次。例如Mountain-100的Product ID 347只在一個維度表數據行中出現,但它會出現在多個事實表數據行中。這稱為一對多關系。在事實表中,鍵值列(它是一對多關系的“多”的一方)稱為外鍵列。關系型數據庫使用匹配的主鍵列(在維度表中)和外鍵列(在事實表中)值來聯接維度表到事實表。

把維度信息移動到一個單獨的表中,除了使得事實表更小外,還有額外的優點——可以為每個維度成員添加額外的信息。例如,維度表可能為每個產品添加種類(Category)信息,如下所示。

PROD_ID

Product_Name

Category

347

Mountain-100

Bikes

339

Road-650

Bikes

447

Cable Lock

Accessories

現在種類是產品的另一個屬性。如果知道Product ID,不但可以推斷出Product Name,而且可以推斷出Category。鍵屬性的名稱可能是唯一的——因為每個鍵只有一個名稱,但其他屬性不需要是唯一的,例如Category屬性可能會出現好幾次。這樣一來,便可以創建按照產品和類別對事實表信息進行分組的報表。

除了名稱外,維度表可以包含許多其他的屬性。本質上,每個屬性都對應于維度表中的一個列。下面是帶有其他額外屬性的只有3個成員的Product維度表的示例。

PROD_ID

Product_Name

Category

Color

Size

Price

347

Mountain-100

Bikes

Black

44

782.99

339

Road-650

Bikes

Silver

48

3399.99

447

Cable Lock

Accessories

NA

NA

25.00

維度屬性可以是可分組的,也可以是不可分組的。換句話就是,您是否見過按照哪個屬性來分組度量值的報表?在我們的示例中,Category、Size和Color全都是可分組的屬性。由此自然會聯想到可能在某個報表中按照顏色、大小或種類來分組銷售額。但Price看起來不像是可分組的屬性——至少它本身不是。在報表中可能會有一個更有意義的其他屬性——例如Price Group,但價格本身變化太大,導致在報表上分組意義不大。同樣地,按照Product Description屬性在報表上進行分組意義也不大。在一個Customer維度中,City、Country、Gender和Marital Status都是可以在報表上按照它們進行有意義分組的屬性,但Street Address或Nickname都應當是不可分組的。不可分組的屬性通常稱為成員屬性(member property)。

某些可分組的屬性可以組合起來創建一個自然層次結構(natural hierarchy)。例如假設Product有Category和Subcategory屬性,在多數情況下,單個產品只會屬于單個Subcategory,并且單個Subcategory只會屬于單個Category。這將形成一個自然層次結構。在報表中,可能會顯示Categories,然后允許用戶從某個Category鉆取到Subcategories,以及最終鉆取到Products。

層次結構——或者說鉆取路徑——不一定要是自然的(例如,每個低層次的成員會決定下一個高層次的成員)。例如,您可能會創建一個按照Color分組產品的報表,但允許用戶根據每個Color鉆取到每個不同的Size。因為報表的鉆取能力,Color和Size形成了一個層次結構,但是根據Size卻沒有任何信息可以用來斷定產品的Color將是什么。這是一個層次結構,但不是一個自然層次結構——但也不是說它是個非自然層次結構。Color和Size形成一個層次結構并沒有什么不對,它只是這樣一個簡單的事實:相同的Size可以出現在多個Color中。

維度表前綴為Dim。

歸納:

維度表可以看作是用戶來分析數據的窗口,緯度表中包含事實數據表中事實記錄的特性,有些特性提供描述性信息,有些特性指定如何匯總事實數據表數據,以便為分析者提供有用的信息,維度表包含幫助匯總數據的特性的層次結構。例如,包含產品信息的維度表通常包含將產品分為食品、飲料、非消費品等若干類的層次結構,這些產品中的每一類進一步多次細分,直到各產品達到最低級別。

在維度表中,每個表都包含獨立于其他維度表的事實 特性,例如,客戶維度表包含有關客戶的數據。維度表中的列字段可以將信息分為不同層次的結構級。

結論:

1、事實表就是你要關注的內容;

2、維度表就是你觀察該事務的角度,是從哪個角度去觀察這個內容的。

例如,某地區商品的銷量,是從地區這個角度觀察商品銷量的。事實表就是銷量表,維度表就是地區表。

聚合表

數據是按照最詳細的格式存儲在事實表中,各種報表可以充分利用這些數據。一般的查詢語句在查詢事實表時,一次操作經常涉及成千上萬條記錄,但是通過使用匯總、平均、極值等聚合技術可以大大降低數據的查詢數量。因此,來自事實表中的底層數據應該事先經過聚合存儲在中間表中。中間表存儲了聚合信息,所以被稱為聚合表,這種處理過程被稱為聚合過程。

《BI那點兒事—數據的藝術》理解維度數據倉庫——事實表、維度表、聚合表


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产不卡视频在线 | 欧美成人剧情中文字幕 | 亚洲a级黄色片 | 国产99精品一区二区三区免费 | 九九碰| 视频二区欧美 | 人人做人人性 | 久久com| 思思久久99热这里只有精品66 | 91在线欧美| 久久99热久久精品91 | 国产一区二区网站 | 两性影院 | 久久色网 | 日本伊人色综合网 | 日韩经典中文字幕 | 777奇米视频 | 成人二区| 久久一区二区三区不卡 | 欧美激情一区二区 | 国产在线98福利播放视频免费 | 男女黄网站| 亚洲免费a | 综合图区亚洲 | 一级黑人 | 亚洲欧美人成人让影院 | 国产69精品久久久久99 | 日韩一区二区三区不卡视频 | 奇米影视第四色在线 | 超碰v| 久久久网久久久久合久久久久 | 成人免费淫片在线费观看 | 在线日韩观看 | 四虎精品成人免费影视 | 亚洲成人精品 | 成人国产三级在线播放 | 日韩欧美亚洲中字幕在线播放 | 亚洲欧美一区二区三区九九九 | 波多野结衣国产一区二区三区 | 激情在线日韩视频免费 | 免费观看成人碰视频公开 |