多維數據集中的度量和維度是什麼
我對 Microsoft Sql Server 商業智能非常陌生,並且
Analysis Service
(但我已經使用 SQL Server 程式多年)。任何人都可以用簡單的語言描述多維數據集中的度量和維度(如果可以使用圖像)?謝謝
考慮您要分析的過程或事件。
假設您正在建構Lougle Analytics,並且想要分析對您網站的訪問(而不是單頁請求)。訪問網站是一個過程。
事實表表示您要分析的過程或事件,在這種情況下,它是站點訪問列表。您可以擁有任意數量的事實表,每個流程或事件一個。
在分析站點訪問時,哪些事情可能對您有用?
- 有關 Web 瀏覽器的資訊(品牌、螢幕解析度……)
- 關於使用者的資訊(國家、州、城市、ISP,基於他們的 IP 地址)
- 關於訪問開始時間的資訊(年、季度、月、週、日)
- 訪問時長
- 引薦頁面、登錄頁面和退出頁面(標題、url 路徑)
- 訪問期間訪問的頁面數
從技術上講,您可以將所有這些都放在一個表中 - 就像在 Excel 中一樣,但這會很快變得非常大,因此我們將進行 ONE 級別的規範化。維度設計通常只是“將分析所需的所有內容放在一張大表中”,然後規範化出一個級別。
因此,您的事實表將如下所示:
web_browser_key bigint ip_address_key bigint start_date_key int referring_page_key bigint landing_page_key bigint exit_page_key bigint duration_seconds int number_of_pages_visited int
它有一堆引用其他表中的值的鍵值†和兩個非鍵。非鍵是數值,稱為Measures。你能取網路瀏覽器品牌名稱的平均值嗎?不,所以它是一個維度。你能取平均訪問時間嗎?是的,所以這是一個措施。
其他表稱為維度表,
ip_address
維度表可能如下所示:ip_address_key bigserial primary key, /* use meaningless surrogate keys */ ip_address inet unique, country text, division text, locality text, latitude numeric(8,6), longitude numeric(9,6)
請注意,它沒有標準化:國家可以來自城市(地區)。然而,在數據倉庫中,我們首先關心的是促進分析。通過促進分析,我的意思是避免深度連接。
請注意,維度表中的一些數據是分層的:國家 > 部門 > 地區。您的 OLAP 伺服器(希望如此)理解層次結構以支持向下鑽取操作。
邏輯多維數據集只是您正在使用*的維度和度量的集合。*與魔方不同,它可以有超過 3 個維度。只需將維度視為數據集中的一列。
OLAP是您可以對數據集執行的*一組操作,例如旋轉、切片、切塊、鑽孔。*想想 Excel 數據透視表。OLAP 伺服器有助於 OLAP 操作。
† 通常沒有外鍵