OLAP中roll-up和drill-down和slicing?
01-16
有人給我形象的講一下roll-up和drill-down和slicing的意思嗎?配上圖說明吧,別google 百度什麼的 根據個人的理解 謝謝!
以圖為例簡單闡述OLAP幾個概念的個人理解 (圖片源於:數據立方體與OLAP)。
該cube模型共有商品類別,時間,地點三個維度:
上卷(Roll-up) 則是反過程,「浙江」、「上海」、「江蘇」的數據被匯總到了「江浙滬」 地區層級;
切片(Slice) 的過程則非常直觀,三層cube被切出了一層。意思是在某些維度為定值時,在其他維度上觀察數據。如圖,確定商品種類為"電子產品", 從"時間"、「地點」上做觀察統計;
切塊(Dice) 類似於切片,不同點在於固定維度由定值變為範圍值;
旋轉(Pivot) 個人理解不管怎麼轉cube是不變的,但實際展示的報表是個平面,將多維在同一平面展示必將涉及一個誰在前誰在後的問題(如下表所示就是不同角度來看cube的結果)。
拿沃爾瑪來說,現在要進行OLAP分析,針對三個維分別是時間維,商品維和地點維,這三個維度抽象成圖像就是一個立方體,也就是Data Cube,在時間維上是四個季度,在地點維上,是北京、洛杉磯、倫敦、東京、柏林等等,在商品維上是電子類、食品類、生活用品類,Data Cube中的每一個小立方體表示某個地點(比如北京),在某個時間(比如第一季度)在某類商品上(比如電子類)的銷售額。
現在開始Rool-Up,就是將細度減少,比如你將地點擴大為北美洲、亞洲、歐洲(這是根據你原有的地點對應有哪些大洲來擴大的),現在每一個小立方體的含義就變成在某個大洲(比如亞洲)、某個時間(第一季度)、某類商品(電子類商品)的銷售額。簡單來說,Rool-UP類似對維度的匯總。
而Drill-Down就是將細度增加,比如我們隊商品類中的電子類上進行下鑽,可以分成PC機,手機,所以現在每一個小立方體的含義就是某個地點(北京)在某個時間(第一季度)上某種商品(PC機)的銷售額,你還可以對PC機繼續下鑽,分HP,Dell。。。 而Slicing代表切片,比如你在某個維度給定一個選定值(或者在某幾個維度上選定值),例如選定了時間維的第一季度,此時看剩餘數據分布在哪些維度上,如果分布在兩個維度上就是切片,這裡就是分布在了地點維和商品維上。如果分布在了三個維度上,就是切塊。還有一種叫drill through。是從匯總數據鑽取到明細數據。
可以查看具體的業務細節。
推薦閱讀:
※GPU 資料庫 MapD 性能超傳統資料庫 70 倍,資料庫瓶頸不是 IO 嗎?
※中國市場上不同類型的資料庫各佔多大比例,他們各自都是哪種類型的公司在使用?
※為什麼資料庫會用圓柱體來表示?
※用戶資料庫是用mongodb好,還是用mysql好?
※自學數據結構、計算機網路、資料庫、演算法設計,有什麼比較推薦的書籍?