OBIEE – 業務層



業務層定義了物件的業務或邏輯模型,以及業務模型與物理層模式之間的對映。它簡化了物理模式,並將使用者的業務需求對映到物理表。

OBIEE 系統管理工具的業務模型和對映層可以包含一個或多個業務模型物件。業務模型物件定義了業務模型定義以及從邏輯表到業務模型物理表的對映。

業務模型用於簡化模式結構,並將使用者的業務需求對映到物理資料來源。它涉及在業務模型中建立邏輯表和列。每個邏輯表可以擁有一個或多個物理物件作為資料來源。

邏輯表分為兩類:事實表和維度表。邏輯事實表包含進行分析的度量,邏輯維度表包含模式中關於度量和物件的資訊。

使用 OBIEE 管理工具建立新倉庫時,定義物理層、建立連線並識別外部索引鍵後,下一步是建立倉庫的業務模型和對映 BMM 層。

定義業務層的步驟:

  • 建立業務模型
  • 檢查邏輯連線
  • 檢查邏輯列
  • 檢查邏輯表源
  • 手動重新命名邏輯表物件
  • 使用重新命名嚮導重新命名邏輯表物件並刪除不必要的邏輯物件
  • 建立度量(聚合)

在倉庫中建立業務層

要在倉庫中建立業務層,請右鍵單擊→新建業務模型→輸入業務模型的名稱,然後單擊確定。如果需要,還可以新增此業務模型的描述。

Create Business Layer1 Create Business Layer2

BMM 層中的邏輯表和物件

OBIEE 倉庫中的邏輯表存在於業務模型和對映 BMM 層中。業務模型圖應至少包含兩個邏輯表,並且需要定義它們之間的關係。

每個邏輯表都應該有一個或多個邏輯列和一個或多個與之關聯的邏輯表源。還可以更改邏輯表名稱,重新排序邏輯表中的物件,並使用主鍵和外部索引鍵定義邏輯連線。

在 BMM 層下建立邏輯表

在 BMM 層中建立邏輯表/物件有兩種方法:

第一種方法是將物理表拖動到業務模型中,這是定義邏輯表最快的方法。將表從物理層拖動到 BMM 層時,它還會自動保留連線和鍵。如果需要,可以更改邏輯表中的連線和鍵,這不會影響物理層中的物件。

選擇要在物理層下新增到業務模型層的物理表/別名表,並將這些表拖動到 BMM 層。

這些表稱為邏輯表,列在業務模型和對映層中稱為邏輯物件。

Create Logical Tables Under BMM Layer1

第二種方法是手動建立邏輯表。在業務模型和對映層中,右鍵單擊業務模型→選擇新建物件→邏輯表→出現邏輯表對話方塊。

轉到“常規”選項卡→輸入邏輯表的名稱→鍵入表的描述→單擊“確定”。

Create Logical Tables Under BMM Layer2

建立邏輯列

將表從物理層拖動到業務模型層時,會自動在 BMM 層中建立邏輯列。

如果邏輯列是主鍵,則此列將顯示帶有鍵圖示。如果列具有聚合函式,則它將顯示帶有西格瑪圖示。還可以重新排序業務模型和對映層中的邏輯列。

建立邏輯列

在 BMM 層中,右鍵單擊邏輯表→選擇新建物件→邏輯列→將出現邏輯列對話方塊,單擊“常規”選項卡。

鍵入邏輯列的名稱。業務模型和邏輯表的名稱將出現在列名稱正下方的“所屬表”欄位中→單擊“確定”。

Create Logical Column

還可以對邏輯列應用聚合。單擊“聚合”選項卡→從下拉列表中選擇聚合規則→單擊“確定”。

在列上應用聚合函式後,邏輯列圖示將更改為顯示已應用聚合規則。

Apply Aggregate Function

還可以移動或複製表中的邏輯列:

在 BMM 層中,可以選擇多個列進行移動。在“已移動列的源”對話方塊中,在“操作”區域中選擇一個操作。如果選擇“忽略”,則不會在表的“源”資料夾中新增任何邏輯源。

如果單擊“建立新”,則邏輯列的邏輯源副本將在“源”資料夾中建立。如果選擇“使用現有”選項,則必須從表的“源”資料夾中下拉列表中選擇邏輯源。

建立邏輯複雜連線/邏輯外部索引鍵

BMM 層中的邏輯表使用邏輯連線彼此連線。基數是邏輯連線中的關鍵定義引數之一。一對多基數關係意味著第一個邏輯維度表中的每一行在第二個邏輯表中都有 0、1 或多行。

自動建立邏輯連線的條件

將物理層的所有表拖動到業務模型層時,會在倉庫中自動建立邏輯連線。這種情況很少發生,僅發生在簡單的業務模型中。

當邏輯連線與物理連線相同時間,它們會自動建立。BMM 層中的邏輯連線以兩種方式建立:

  • 業務模型圖(在設計倉庫時已介紹)
  • 連線管理器

BMM 層中的邏輯連線不能使用表示式或列來指定要建立連線的列,例如在物理層中,顯示了定義物理連線的表示式和列名。

使用連線管理器工具建立邏輯連線/邏輯外部索引鍵

首先讓我們看看如何使用連線管理器建立邏輯外部索引鍵。

在管理工具工具欄中,轉到管理→連線。將出現連線管理器對話方塊→轉到“操作”選項卡→新建→邏輯外部索引鍵。

現在在瀏覽對話方塊中,雙擊一個表→出現邏輯外部索引鍵對話方塊→輸入外部索引鍵的名稱→從對話方塊的“表”下拉列表中,選擇外部索引鍵引用的表→選擇左表中外部索引鍵引用的列→選擇構成外部索引鍵列的右表中的列→從“型別”下拉列表中選擇連線型別。要開啟表示式生成器,請單擊表示式窗格右側的按鈕→表示式將顯示在表示式窗格中→單擊“確定”儲存工作。

使用連線管理器建立邏輯複雜連線

與使用邏輯外部索引鍵相比,建議在業務模型和對映層中使用邏輯複雜連線。

在管理工具工具欄中,轉到管理→連線→出現連線管理器對話方塊→轉到操作→單擊新建→邏輯複雜連線。

它將開啟一個邏輯連線對話方塊→鍵入複雜連線的名稱→在對話方塊左側和右側的表下拉列表中,選擇複雜連線引用的表→從“型別”下拉列表中選擇連線型別→單擊“確定”。

注意 - 還可以從下拉列表中將表定義為驅動表。當表大小太大時,這用於效能最佳化。如果表大小很小,少於 1000 行,則不應將其定義為驅動表,因為它會導致效能下降。

維度和層次結構級別

邏輯維度存在於 OBIEE 倉庫的 BMM 層和展示層中。建立具有層次結構的邏輯維度允許定義隨維度變化的聚合規則。它還提供在分析和儀表盤中的圖表和表上進行向下鑽取的選項,並定義聚合源的內容。

建立具有層次結構級別的邏輯維度

以離線模式開啟倉庫→轉到檔案→開啟→離線→選擇倉庫 .rpd 檔案並單擊開啟→輸入倉庫密碼→單擊確定。

下一步是建立邏輯維度和邏輯級別。

右鍵單擊 BMM 層中的業務模型名稱→新建物件→邏輯維度→具有基於級別的層次結構的維度。它將開啟對話方塊→輸入名稱→單擊確定。

Logical Dimension

要建立邏輯級別,請右鍵單擊邏輯維度→新建物件→邏輯級別。

Logical Dimension New Object

輸入邏輯級別的名稱,例如:產品名稱

如果此級別是總計級別,請選擇複選框,系統會預設將此級別的元素數量設定為 1→單擊確定。

如果希望邏輯級別向上彙總到其父級,請選擇“支援向上彙總到父元素”複選框→單擊確定。

如果邏輯級別不是總計級別並且不向上彙總,則不要選擇任何複選框→單擊確定。

Logical Level

父子層次結構

還可以透過以下步驟在邏輯級別中新增父子層次結構:

要定義子邏輯級別,請在瀏覽對話方塊中單擊“新增”,選擇子邏輯級別,然後單擊“確定”。

還可以右鍵單擊邏輯級別→新建物件→子級別。

Parent-Child Hierarchies

輸入子級別的名稱→確定。可以重複此操作以根據需要為所有邏輯列新增多個子級別。還可以以類似的方式新增時間和區域層次結構。

現在,要將表的邏輯列新增到邏輯級別→選擇 BMM 層中的邏輯列,並將其拖動到要對映到的邏輯級別子名稱。同樣,可以拖動邏輯表的所有列以建立父子層次結構。

建立子級別時,可以透過雙擊邏輯級別進行檢查,它將顯示在該級別的子級別列表下。您可以使用此框頂部的“+”或“X”選項新增或刪除子級別。

Child Level

向事實表新增計算

雙擊邏輯事實表中的列名→轉到“聚合”選項卡,並從下拉列表中選擇聚合函式→單擊“確定”。

Add Calculation to Fact Table

度量代表可加性資料,例如總收入或總數量。點選頂部的儲存選項儲存資源庫。

可以使用各種聚合函式,例如 Sum(求和)、Average(平均值)、Count(計數)、Max(最大值)、Min(最小值)等。

廣告