
- OBIEE 教程
- OBIEE - 首頁
- OBIEE - 資料倉庫
- OBIEE - 維度建模
- OBIEE - 模式
- OBIEE - 基礎知識
- OBIEE - 元件
- OBIEE - 架構
- OBIEE - 倉庫
- OBIEE - 業務層
- OBIEE - 展示層
- OBIEE - 測試倉庫
- OBIEE - 多個邏輯表
- OBIEE - 計算度量
- OBIEE - 維度層次
- OBIEE - 基於級別的度量
- OBIEE - 聚合
- OBIEE - 變數
- OBIEE - 儀表盤
- OBIEE - 過濾器
- OBIEE - 檢視
- OBIEE - 提示
- OBIEE - 安全性
- OBIEE - 管理
- OBIEE 有用資源
- OBIEE - 問答
- OBIEE - 快速指南
- OBIEE - 有用資源
- OBIEE - 討論
OBIEE – 維度建模
維度建模提供了一套用於資料倉庫設計的方法和概念。根據資料倉庫顧問Ralph Kimball的說法,維度建模是一種用於資料庫的設計技術,旨在支援資料倉庫中的終端使用者查詢。它面向易理解性和效能。他認為,雖然面向事務的實體關係模型(ER)對於事務捕獲非常有用,但應避免將其用於終端使用者交付。
維度建模總是使用事實表和維度表。事實是數值,可以根據事實值進行聚合和分析。維度定義事實值的層次結構和描述。
維度表
維度表儲存描述事實表中物件的屬性。維度表有一個主鍵,唯一標識每個維度行。此鍵用於將維度表與事實表關聯。
維度表通常是反規範化的,因為它們不是為了執行事務而建立的,而只是用於詳細分析資料。
示例
在下面的維度表中,客戶維度通常包括客戶姓名、地址、客戶 ID、性別、收入群體、教育水平等。
客戶ID | 姓名 | 性別 | 收入 | 教育 | 宗教 |
---|---|---|---|---|---|
1 | Brian Edge | 男 | 2 | 3 | 4 |
2 | Fred Smith | 男 | 3 | 5 | 1 |
3 | Sally Jones | 女 | 1 | 7 | 3 |
事實表
事實表包含稱為度量的數值。事實表包含兩種型別的列——事實和指向維度表的外部鍵。
事實表中的度量分為三種類型:
可加性 - 可以跨任何維度相加的度量。
不可加性 - 無法跨任何維度相加的度量。
半可加性 - 可以跨某些維度相加的度量。
示例
時間ID | 產品ID | 客戶ID | 銷售數量 |
---|---|---|---|
4 | 17 | 2 | 1 |
8 | 21 | 3 | 2 |
8 | 4 | 1 | 1 |
此事實表包含時間維度、產品維度、客戶維度的外部索引鍵和度量值銷售數量。
假設一家公司向客戶銷售產品。每次銷售都是公司發生的事實,事實表用於記錄這些事實。
常見的事實包括:銷售數量、利潤率、銷售收入等。維度表列出諸如客戶、時間、產品等因素,我們希望透過這些因素來分析資料。
現在,如果我們考慮上述事實表和客戶維度,那麼還會有產品和時間維度。有了這個事實表和這三個維度表,我們可以提出諸如以下問題:2010 年賣給男性客戶多少手錶?
維度表和事實表之間的區別
維度表和事實表之間的功能區別在於,事實表儲存我們想要分析的資料,而維度表儲存允許我們查詢資料所需的資訊。
聚合表
聚合表包含可以使用不同的聚合函式計算的聚合資料。
聚合函式是一種函式,其中多個行的值根據某些條件分組在一起作為輸入,以形成具有更重要意義或度量的單個值。
常見的聚合函式包括:
- 平均值()
- 計數()
- 最大值()
- 中位數()
- 最小值()
- 眾數()
- 總和()
這些聚合表用於效能最佳化,以便在資料倉庫中運行復雜的查詢。
示例
您可以儲存具有聚合資料的表,例如按年(1 行)、季度(4 行)、月(12 行),現在您必須進行資料比較,例如,每年只需要處理 1 行。但是,在非聚合表中,將處理所有行。
MIN | 返回給定列中的最小值 |
MAX | 返回給定列中的最大值 |
SUM | 返回給定列中數值的總和 |
AVG | 返回給定列的平均值 |
COUNT | 返回給定列中值的總數 |
COUNT (*) | 返回表中的行數 |
Select Avg (salary) from employee where title = ‘developer’。此語句將返回所有職位等於“開發人員”的員工的平均工資。
聚合可以在資料庫級別應用。您可以在資料庫中建立聚合並將其儲存在聚合表中,或者您可以在報表級別動態應用聚合。
注意 - 如果您在資料庫級別儲存聚合,則可以節省時間並提供效能最佳化。