Sql-Server

多維數據集中的度量和維度是什麼

  • April 4, 2019

我對 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 操作。

† 通常沒有外鍵

引用自:https://dba.stackexchange.com/questions/45655