ORACLE數據倉庫學習記錄


一、數據倉庫安裝

  1. 安裝ORACLE DATABASE 10g Release 2

ORACLE數據庫版本是:10.2.0.1.0(服務器)。執行基本安裝(安裝全部的組件)並創建示例數據庫。

  1. 安裝ORACLE Workflow Server 2.6.4

這個軟件沒有單獨的下載,它位於ORACLE DATABASE 10g Release 2 Companion CD中,Companion CD需要到ORACLE網站下載對應的10g Release 2版本。ORACLE Workflow Server安裝目錄與ORACLE DATABASE 10g Release 2的安裝目錄相同。【備注:ORACLE DATABASE 10g Release 1(10.1.0.2.0)對應的WFS版本是2.6.3;ORACLE DATABASE 10g Release 2(10.2.0.1.0)對應的WFS版本是2.6.4,版本號不對應將無法安裝!】

  1. 安裝Oracle Warehouse Builder(OWB)10g Release 2

OWB版本是:10.2.0.1.0。

  1. 安裝Analytic Workspace Manager(AWM 10203A)【可選安裝】

這個也是需要到ORACLE網站下載。並且對版本有要求的。這個軟件解壓縮就可以了,沒有安裝程序。【備注:AWM 10203A需要ORACLE DATABASE 10.1.0.4.0及以上版本,10.1.0.2.0升級到10.1.0.4.0需要對應的升級包,這個升級包好像只有正版用戶才能下載到。本文的AWM 10203A可以與ORACLE DATABASE 10g Release 2一起使用,但是不能與ORACLE DATABASE 10g Release 1一起使用!】

二、數據倉庫配置

  1. 配置ORACLE數據庫
  • 執行數據庫基本的配置操作。
  1. 配置Oracle Workflow Server2.6.4
  • Windows平台下的配置如下:在DOS命令行窗口下,在Oracle DB 10G安裝路徑下,cd wf\install,運行"wfinstall" 【JAVA環境變量必須配置正確】
  • 在下圖中輸入以下幾項:
    • 工作流賬戶:owf_mgr(缺省值,如果從未配置過workflow,可以采用此缺省值,否則可以更改此名稱,或者利用Enterprise Manager刪除owf_mgr用戶),建議使用默認值
    • 工作流口令:上述用戶的口令如"oracle"
    • sys口令:在創建數據庫時輸入的數據庫管理員口令如"oracle"
    • TNS連接描述符:host_name:port_number:oracle_sid

 

  • 提交
  1. 增加用戶權限以及添加中文支持
  • 在Enterprise Manager中,為Workflow管理員用戶如OWF_MGR添加"Execute Any Procedure"權限,添加"Create any job"。

    或者使用SQLPLUS完成:

    sqlplus "/as sysdba"

    sql>grant execute any procedure to owf_mgr

    sql>grant create any job to owf_mgr

  • 如果是中文,需要在Work Flow管理員下運行如下SQL:

    OracleDB_Install_Path\wf\admin\sql\wfnlena.sql

    輸入以下參數:ZHS(Language_Code) Y(Y/N)

  1. 配置OWB,運行Repository Assistant
  • Warehouse Builder->Administration->Repository Assistant
  • 選擇"基本安裝"
  • 輸入SYSDBA權限的數據庫用戶的數據庫連接信息
  • 輸入資料檔案庫用戶信息(資料檔案庫用戶設置為owb)
  • 輸入資料檔案庫所有者信息(資料檔案庫所有者設置為owb_owner)
  1. 創建目標用戶
  • 利用資料檔案庫所有者(owb_owner)登錄Designer Center
  • 選擇"全局瀏覽器(global browser)"-〉"安全性(security)"-〉"用戶(users)",右鍵"新建"

  • 目標用戶可以從現有數據庫用戶中選擇,也可以重新創建(create db user)

  • 選擇"Create DB User"。輸入SYSDBA用戶名和口令,以及目標用戶的用戶名和口令,選擇使用的表空間,選擇"OK"

  • 新建用戶出現在Selected Users中,"Next"

  • 選擇上"Used as target schema"

直至完成

  1. 權限分配
  • 工作流用戶(本例是owf_mgr)要分配數據倉庫所有者角色,owb_o_owb_owner,否則工作流對象無法部署 【ORACLE官方文檔中並沒有這個說明!但是這一步必不可少】
  • 數據倉庫目標用戶(本例是tgt_user),需要分配select any table權限,否則映射對象無法部署 【ORACLE官方文檔中並沒有這個說明!但是這一步必不可少】

三、數據倉庫設計和ETL

  1. OWB簡介
    1. OWB主要內容

      OWB主要包含一個"設計中心"和一個"控制中心"。"設計中心"負責數據倉庫的維、立方、映射、工作流等的設計。"控制中心"負責對"設計中心"中的對象進行部署,對工作流執行調度等。

    2. OWB設計流程

      設計中心:

  • 新建"項目(Project)"
  • 定義"數據源模塊(Module)"
  • 定義"目標數據模塊(Module)"
  • 設計"事實表"的"映射(Mapping)"
  • 設計"維(Dimension)"
  • 設計"維(Dimension)"的"映射(Mapping)"
  • 設計"立方(Cube)"
  • 設計"立方(Cube)"的"映射(Mapping)"
  • 設計"映射(Mapping)"時可能用到的"轉換"
  • 設計"進程流(Process Flow)"確定映射運行的先后順序
  • 設計"計划(Schedule)"
  • "配置(Configure)"映射和工作流,添加不同映射和工作流的"計划",部署后會形成"工作(Job)"

控制中心管理器:

  • 注冊"位置(Location)"
  • 部署對象
  • 作業執行與調度
  1. 在"設計中心"(Design Center)中設計ETL
    1. 進入Design Center
  • 開始-〉程序-〉Oracle – OWBHOME名稱-〉Warehouse Builder-〉Design Center
  1. 新建"項目(Project)"
  • "項目瀏覽器"空白處右鍵,選擇"新建"
  • 按照向導,輸入項目名稱如test_project,"確定"
  1. 定義"數據源模塊(Module)"
  • 建立一個Oracle表的數據源,在剛才建立的"項目名稱-數據庫-Oracle"上,右鍵"新建"

  • 按照向導創建數據源Oracle模塊

  • 輸入模塊名稱如HR,注意選擇"數據源"

  • 點擊"位置"右側"編輯",進入連接信息定義界面

User Name:連接數據源的表的數據庫用戶名稱

Password:連接數據源的表的數據庫用戶的口令

Host:作為數據源的表所在的數據庫服務器機器的IP地址

Port:作為數據源的表所在的數據庫服務器的端口

Service Name:作為數據源的表所在的數據庫的Service Name

  • 導入表結構

    一種方式是"新建"模塊后,自動進入"導入"向導;另外一種方法是選擇剛才建立的數據源模塊,單擊右鍵"導入"

    按照導入向導導入作為數據源的表以及其它需要用到的對象

  1. 定義"目標數據模塊(Module)"
  • 建立目標數據模塊,"項目名稱-數據庫-Oracle"上,右鍵"新建"
  • 按照向導輸入模塊名稱如sanxia_tgt,注意選擇"數據倉庫目標"

  • 點擊"位置"右側"編輯",進入連接信息定義界面,輸入目標表所在數據庫服務器IP地址、端口號、用戶名和口令,目標數據位置名稱為SANXIA_TGT_LOCATION1

  • 不需要勾選"完成后導入",點擊"下一步"直到完成。
  1. 設計"事實表"的"映射(Mapping)"
  • "項目-數據庫-Oracle-目標數據模塊名稱-映射",右鍵"新建" ,輸入映射名稱如zhaa02a_load_map,"確定"后進入映射編輯框

  • 左上角的"瀏覽器"下點中"可用對象",找到數據源模塊下的表zhaa02a,托拽到右邊的"映射"框中

  • 從左邊的調色板"全部"中找到"表運算符",托拽到右邊的"映射"框中,此時會彈出如下對話框,注意選擇"創建未綁定的運算符(不具有屬性)",含義是在OWB的資料庫中還沒有要用的表的結構定義,輸入表的名稱如zhaa02a_fact

  • "OK"后的Mapping編輯器的樣子如下:

  • 左邊的是源表,右邊是要映射的事實表。下面將需要的字段映射到zhaa02a_fact。

  • 接下來需要"創建並綁定"zhaa02a_fact表到"目標數據模塊",這一步的作用是在OWB資料庫中"目標數據模塊"的"表"中添加zhaa02a_fact,以便以后可以部署這個表,也就是在目標數據庫的目標用戶下生成此表。選中zhaa02a_fact,"右鍵"選擇"創建並綁定"。
  • 修改zhaa02a_fact的加載類型為"UPDATE/INSERT"。

  • "保存",關閉"Mapping編輯器"
  • 在Designer Center的"項目瀏覽器"下,找到"項目-數據庫-Oracle-目標數據模塊名稱-表",可以看到zhaa02a_fact,這就表示剛才的"創建並綁定"成功了。

  • 打開表zhaa02a_fact,增加主鍵

  • 重新打開zhaa02a_load_map映射編輯器,點擊工具欄上的"全部同步"按鈕。

  • 選擇表zhaa02a_fact的zhaa02a010字段,在左邊編輯"加載屬性"

  1. 設計"維(Dimension)"
  • 在目標模塊下找到"維",右鍵"新建"-"使用向導"

  • 現在需要創建一個地區維,輸入名稱如DIVISION_DIM

  • 選擇"ROLAP"

  • 下一步出現維屬性的定義

        【注意:一個維必須有一個"代理標識符"和一個或多個"業務標識符","代理標識符"默認是number型的,不能修改,也不需要修改。】

  • 經過定義的維屬性如下:

  • 接下來定義級別:

  • 如上圖定義了5個級別,下一步定義級別的屬性:

  • 將上面的每個級別都使用下面的三個屬性,依次選擇上面的5個級別將下面的勾都勾上。
  • 下一步,選擇"類型1"

  • 下一步,直到"維"成功創建。
  • 在"設計中心"找到剛剛創建的維,雙擊打開

  • 在"維"對象上右鍵,選擇"自動綁定"

  • 保存並關閉"數據對象編輯器"
  • 在"設計中心"找到剛剛創建的維,右鍵"配置"

  • 將"僅部署數據對象"改為"全部部署"

  • "確定"完成"維"的設計
  1. 設計"維(Dimension)"的"映射(Mapping)"
  • 在目標模塊下找到"映射",右鍵"新建"

  • 輸入"division_dim_map"

  • 確定后自動打開映射編輯器

  • 在源模塊下找到用於抽取數據的表或視圖,拖拽到編輯區。如果數據需要轉換,則將"轉換"節點下的對象拖拽到編輯區。將維對象"DIVISION_DIM"拖拽到編輯區。

  • 設計映射,最終設計好的如下圖所示:

  • 注意,維對象的代理標識符不需要映射,它是由創建維對象時生成的一個序列自動維護的,只需要映射業務標識符
  • 映射完成后,保存退出。
  1. 設計"立方(Cube)"
  • 在目標模塊下找到"立方",右鍵"新建"-"使用向導"
  • 輸入立方名稱"DIVISION_RENKOU_CUBE"

  • 選擇"ROLAP",下一步
  • 指定立方的維,選擇維"DIVISION_DIM"

  • 指定度量

  • 下一步直到完成。
  • 在"設計中心"找到剛剛創建的立方,雙擊打開

  • 在"立方"對象上右鍵,選擇"自動綁定"

  • 保存並關閉"數據對象編輯器"
  • 在"設計中心"找到剛剛創建的立方,右鍵"配置"

  • 將"僅部署數據對象"改為"全部部署"

  • "確定"完成"立方"的設計
  1. 設計"立方(Cube)"的"映射(Mapping)"
  • 在目標模塊下找到"映射",右鍵"新建"

  • 輸入"DIVISION_RENKOU_CUBE_MAP"

  • 確定后自動打開映射編輯器

  • 在目標模塊下找到用於抽取數據的事實表,拖拽到編輯區。如果數據需要轉換,則將"轉換"節點下的對象拖拽到編輯區。將立方對象"DIVISION_RENKOU_CUBE"拖拽到編輯區。在"調色板"的"全部"下選擇"聚集器",拖拽到編輯區。

  • 設計映射,初始進行如下連接:

  • 右鍵點擊"AGGREGATOR",選擇"打開詳細資料"。將"輸入屬性"中的"VALUE"改為"RENKOU",增加輸出屬性"RENKOU"。

  • 確定后,選擇"AGGREGATOR",在左邊的"聚集器"屬性中點擊"Group By子句"后的按鈕,將左邊列表的"INGPR1.ZHAA02A010"移動到右邊。

  • 再次在編輯區選擇"AGGREGATOR"中的"OUTGPR1"下的"RENKOU",在左邊的"屬性特性"中點擊"表達式"后的按鈕,彈出"表達式"對話框。函數選擇"SUM",屬性選擇"RENKOU",然后點擊"使用上述值"按鈕。最后確定。

  • 返回到編輯區,連接"AGGREGATOR"與立方,最后的結果如下圖

  • 映射完成后,保存退出。
  1. 設計"映射(Mapping)"時用到的"轉換"

在ORACLE數據庫的目標模塊下,找到"轉換"-"函數",新建2個函數:

函數名

作用

ZHUANHUAN

輸入CODE和NAME,如果NAME為空,則將NAME設置為CODE的值

NULL2ZERO

將空值轉換為0

 

函數名

返回類型

參數名稱

參數類型

I/O

必需?

ZHUANHUAN

VARCHAR2

CODE

VARCHAR2

輸入

NAME

VARCHAR2

輸入

NULL2ZERO

NUMBER

IN_VALUE

NUMBER

輸入

 

函數"ZHUANHUAN"的代碼如下:

RET_NAME NVARCHAR2(256);

 

BEGIN

NULL; -- 允許編譯

 

 

IF lengthB(NAME) = 0 OR NAME IS NULL THEN

RET_NAME := CODE;

ELSE

RET_NAME := NAME;

END IF;

 

 

RETURN RET_NAME;

EXCEPTION

WHEN OTHERS THEN

NULL; -- 在此處輸入任意異常代碼

RETURN NULL;

END;

 

函數"NULL2ZERO"的代碼如下:

RET_VALUE NUMBER;

 

 

BEGIN

NULL; -- 允許編譯

 

 

IF lengthB(IN_VALUE) = 0 OR IN_VALUE IS NULL THEN

RET_VALUE := 0;

ELSE

RET_VALUE := IN_VALUE;

END IF;

 

 

RETURN RET_VALUE;

EXCEPTION

WHEN OTHERS THEN

NULL; -- 在此處輸入任意異常代碼

RETURN NULL;

END;

  1. 設計"進程流(Process Flow)"確定映射運行的先后順序
  • "項目-進程流-進程流模塊"右鍵"新建",輸入"進程流模塊"名稱如WF1,"編輯""進程流模塊"的"位置",輸入Workflow管理員所在數據庫服務器IP地址、端口號、用戶名和口令;如果數據庫是10GR2,Workflow的版本是2.6.4。進程流位置名稱為WF1_LOCATION1

  • 完成后,"創建 進程流程序包"彈出,輸入"進程流包"名稱如WF_JOB

  • 完成后,"創建 進程流"彈出,輸入"進程流"名稱如WF_JOB1,進入"進程編輯器"

  • 進程流的作用是可以將映射串聯起來,確定映射的運行順序,映射之間的關系可以是串行,也可以是並行的,左上角的"瀏覽器",選中"可用對象",找到目標模塊下的三個映射ZHAA02A_LOAD_MAP、DIVISION_DIM_MAP、DIVISION_RENKOU_CUBE_MAP,依次托拽到右邊的"編輯區"。然后在左邊"調色板"中選擇一個"分支"對象、一個"與"對象、一個"結束,但出現警告"對象、一個"結束,但出現錯誤"對象,拖拽到"編輯區",最后是下面這個樣子

  • 然后在"START1"圖標和映射圖標之間畫連線,在映射圖標和"END_SUCCESS"圖標之間畫連線,最后形成的Process編輯器的樣子如下

  • 最后設置"DIVISION_RENKOU_CUBE_MAP"和"END_SUCCESS"、"END_WARNING"、"END_ERROR"的轉換條件,依次選中三個轉換間的直線,然后在左邊的"對象詳細資料"中設置"條件",三個條件依次是"SUCCESS"、"WARNING"、"ERROR"。

  • 最后的結果如下

  • 執行工具欄上的"驗證"操作,可以看到驗證成功的消息

  • 保存並退出。
  1. 設計"計划(Schedule)"
  • 不同的"工作流模塊"和"目標數據模塊"需要設計不同的"計划",現在為"工作流模塊"建立"計划"
  • "項目-計划"右鍵"新建",輸入"計划模塊"名稱如SCH_WF,"編輯""計划模塊名稱"的"位置",輸入Workflow管理員所在數據庫服務器IP地址、端口號、用戶名和口令;計划模塊位置的名稱為SCH_WF_LOCATION1

  • "項目-計划-計划模塊名稱"右鍵"新建",按照向導,首先輸入"計划"名稱如SCH_WF_DAY;其次選擇"時區"、"起始時間"、"結束時間";第三步"選擇頻率和重復間隔"

  • 為了更改"計划"的執行時間,"項目-計划-計划模塊名稱-計划名稱"右鍵"打開編輯器",出現"調度 編輯"。這里可以修改和預覽調度設置

  1. 配置"工作流"的"計划"
  • "項目-工作流-工作流模塊名稱-工作流包名稱-工作流名稱"右鍵"配置",如下圖

  • 點擊"引用的日歷"右邊的空格,從下拉框中選擇剛才創建的"計划"SCH_WF_DAY

  • 確定后退出。
  • 至此,完成了在Designer Center中設計的工作。
  1. 在"控制中心管理器"(Control Center Manager)中部署和執行ETL
    1. 進入Control Center Manager
  • 在Designer Center中,選擇菜單"工具"-"控制中心管理器(Control Center Manager)",輸入OWB資料庫所有者口令,即可進入Control Center Manager界面
  1. 注冊"位置(Location)"
  • 在控制中心管理器界面的左邊,可以看到創建的項目下的所有位置。

  • 檢查左邊樹上沒有注冊的位置,依次進行注冊,方法是點擊右鍵,選擇"注冊",然后點確定就可以了

  1. 部署對象
  • 選中"項目名稱",右邊的"對象詳細資料"會列出所有對象如表、映射、進程流、工作(配置了計划的進程流或者映射),如下圖

  • 這些對象並非全部都要部署,這里只需要部署"SANXIA_TGT_LOCALTION1"、"SCH_WF_LOCALTION1"、"WF1_LOCATION1"、"TGT_USER_LOCALTION1"四個位置下的對象。由於"TGT_USER_LOCALTION1"下面沒有對象可以部署,實際上只有三個位置。這里要注意的是,數據庫源模塊下的對象是不需要部署的。
  • 選擇"SANXIA_TGT_LOCALTION1"右邊會列出"SANXIA_TGT_LOCALTION1"位置下的所有對象。然后點擊"默認操作",此時"部署操作"列全部為"創建"狀態。

  • 此時再點擊工具欄上的"部署"按鈕,開始部署操作。此時會對要部署的所有對象執行"驗證"操作,如果出現錯誤或者警告導致無法部署,則需要查找原因。修改后再重新部署。

  • 同樣的方法,部署"SCH_WF_LOCALTION1"和"WF1_LOCATION1"位置下的對象
  1. 作業執行與調度
  • 如果"部署"全部成功,可以選擇右下方"已調度",選擇WF_JOB1_JOB,右鍵"開始"

  • 在"計划"的指定運行時間此"工作"就會開始運行
  • 在右下角"執行"中可以看到每次作業調度的運行結果
  • 如果不想執行調度了,點擊"停止"就會停止運行
  • 另外,還可以對單個映射執行ETL操作,方法是在映射對象上右鍵點擊"開始",然后到"控制中心管理器"中查看執行結果。

  1. 檢查結果是否正確
  • 查看"目標用戶"(TGT_USER)下的目標表"ZHAA02A_FACT"、"DIVISION_DIM"、"DIVISION_RENKOU_CUBE"中是否數據正確
  • 在維對象"DIVISION_DIM"點擊右鍵"數據",可以查看維數據

  • 在立方對象"DIVISION_RENKOU_CUBE" 點擊右鍵"數據",可以查看立方數據。【有時候在修改了其它對象並部署后,再查看立方對象數據時會出錯,解決方法就是在"控制中心管理器"中將立方對象刪除后再重新創建。】

  • 確認數據無誤,一旦出現問題,就需要檢查,重新修改對象,並在"控制中心管理器"中重新部署。
  1. 使用Analytic Workspace Manager(AWM)填充OLAP 分析工作區【可選】
    1. AWM概述
  • Analytic Workspace Manager 10g 是一個工具,用於創建、開發和管理 Oracle OLAP 數據倉庫中的多維分析工作區。通過這個簡單易用的 GUI 工具,您可以使用邏輯維和多維數據集對象創建一個分析工作區。隨后,您使用現有的星型、雪花和規范化關系數據源映射這些對象,然后加載數據。此外,在本教程中,您需要使用模板並做出數據存儲決策。
  1. AWM與OWB的區別
  • 對於建立分析工作區,AWM應該包含一個"EL"工具,它沒有轉換工具(在AWM 11g中可以作簡單的轉換)。AWM的目標用戶是商業用戶和已經在使用其它不支持OLAP數據建模的ETL工具的開發人員。
  • 很顯然,AWM還可以幫助你設計你的邏輯數據模型,但是AWM和OWB有一個很重要的不同之處。AWM最恰當的描述是"運行時設計時間",這意味着當你使用AWM來創建維度、立方體等的時候,這個對象會立即在分析工作區中被創建,例如,它沒有部署階段。商業用戶透視圖使得它成為了一個理想的產品,因為它簡化了整個過程。
  1. AWM使用

四、使用Oracle Discoverer進行BI展現

  1. 安裝Oracle Business Intelligence 10g(10.1.2)
  2. 配置Oracle Business Intelligence 10g
    1. 啟動Start Application Server Control

      開始-"Oracle - BIHome1 Enterprise Manager"-"Start Application Server Control"

    2. 啟動實例

      開始-"Oracle Business Intelligence - BIHome1"-"Start 實例名.機器名"

    3. 打開Application Server Control Console
  • 開始-"Oracle - BIHome1 Enterprise Manager"-"Application Server Control Console"
  • 輸入用戶名和密碼

  • 查看"Discoverer"是否啟動,沒有則啟動"Discoverer"服務
  • 點擊"系統組件"中的"Discoverer"

  • 點擊"管理"

  • 點擊"安裝",輸入必要的信息后,直到安裝完成。
  • 點擊"管理",輸入密碼后登錄,然后點擊"授權用戶和角色",將"tgt_user"用戶移動到右邊后,點擊"Apply"。
  1. 啟動Oracle Discoverer
    1. 啟動Oracle Discoverer
  • IE地址欄輸入http://lzbdc:7778/,會出來Business Intelligence 10g (10.1.2)的歡迎頁面
  • 點擊Discoverer Plus超級鏈接,用來創建和編輯工作表並分析數據
  • 點擊Discoverer Viewer超級鏈接,用來查看、自定義工作表並分析數據
  1. 使用Discoverer Plus
  • 進入Discoverer Plus,並輸入如下信息

  • 出現主界面,並彈出"工作薄向導",點擊"創建新的工作薄"

  • 選擇度量,會自動將維添加到右邊

  • 選擇"三維圖"

  • 修改交叉表布局

  • 選擇維級別

  • 完成后在編輯區顯示剛剛創建的交叉表和圖形。

  • 還可以進行其它的編輯。編輯完成后保存

  • 退出
  1. 使用Discoverer Viewer
  • 進入Discoverer Viewer,輸入以下信息

  • 找到剛剛保存的工作表並點擊打開

  • 可以查看並自定義顯示樣式

  • 修改完成后,點擊"保存"

五、使用BI Beans與JDeveloper開發自定義BI展現應用程序

  1. 安裝JDeveloper和BI Beans
    1. 安裝Oracle JDeveloper
  • Oracle JDeveloper版本號10.1.2.2 (Build #10.1.2.1929)
  • 解壓到一個非Oracle的安裝目錄,如"D:\JDeveloper"
  • 設置系統環境變量"JDEV_ORACLE_HOME"為"D:\JDeveloper"
  1. 安裝OracleBI Beans
  • OracleBI Beans 10g Release 2 (10.1.2.2) 必須與Oracle JDeveloper 10.1.2.2 (Build #10.1.2.1929)搭配使用,其它版本不行。
  • 解壓OracleBI Beans到Oracle JDeveloper的安裝目錄
  • 找到目錄"D:\JDeveloper\bibeans\bin"下的bi_installcatauto.bat並執行,建議單獨新開一個cmd窗口執行,不要直接雙擊。按提示運行,直到成功。該操作是創建用戶"BIBCAT"並分配權限,密碼也是"BIBCAT",區分大小寫。
  1. 使用JDeveloper和BI Beans開發自定義BI展現
    1. 啟動JDeveloper
  • 找到目錄"D:\JDeveloper\jdev\bin",雙擊執行"jdevw.exe"(不帶控制台)或者"jdev.exe"(帶控制台)
  • 最好將"D:\JDeveloper\jdev\bin\ jdevw.exe"發送到桌面快捷方式
  1. 新建項目
  • 執行File-New

  • 選擇"Workspace"

  • 修改值后,直接確定

  • 修改值后,直接確定

  • 在剛剛創建的"Project1"上右鍵"New",然后做如下選擇

  • 確定后彈出

  • 點擊"New"做如下選擇

  • 確定后,定義連接

  • 給"Data Source"的"Connection"為"OLAPConnection1"

  • 給Catalog,選擇"Catalog Type"為"Database",設置"Connection"為"CatalogConnection1","Catalog User"為"BIBCAT"。注意"BIBCAT"全部是大寫

  • 確定后返回如下界面

  • 在此界面上定義JSP頁面的內容
  • 最后生成了Project1的內容

  • 在Project1上右鍵點擊"Run"可以運行項目。

  • 定位到用戶BIBCAT的目錄,可以創建圖形和交叉表
  1. 將項目發布到TOMCAT
  • 右鍵項目名稱,點擊"New",在左邊選擇"Deployment Profiles",在右邊選擇"WAR File",點擊確定。

  • 輸入Profile Name

  • 確定后彈出屬性頁

  • 右鍵Project1,點工程屬性

  • 右鍵Project1,選擇"Rebuild"
  • 在proj1.deploy上點右鍵,選擇"Deploy to",選擇"New Connection"定義一個tomcat的連接,然后重新執行"Deploy to"-"tomcat的連接名"
  • 啟動tomcat,訪問項目http://localhost:8080/proj1/Open1.jsp

  • 此時BI Beans的部分顯示的是英文,需要停止Tomcat,到Tomcat的webapps\proj1\WEB-INF\lib目錄下,將后綴為zip的改成jar,然后再啟動Tomcat,顯示的就是中文了

六、名詞術語解釋

數據倉庫(Data warehouse)

本世紀80年代中期,"數據倉庫之父"William H.Inmon先生在其《建立數據倉庫》一書中定義了數據倉庫的概念,隨后又給出了更為精確的定義:數據倉庫是在企業管理和決策中面向主題的、集成的、與時間相關的、不可修改的數據集合。與其他數據庫應用不同的是,數據倉庫更像一種過程,對分布在企業內部各處的業務數據的整合、加工和分析的過程。而不是一種可以購買的產品。

數據集市(Data mart)

即數據集市,或者叫做"小數據倉庫"。如果說數據倉庫是建立在企業級的數據模型之上的話。那么數據集市就是企業級數據倉庫的一個子集,他主要面向部門級業務,並且只面向某個特定的主題。數據集市可以在一定程度上緩解訪問數據倉庫的瓶頸。

聯機分析處理(OLAP)

聯機分析處理(OLAP)的概念最早是由關系數據庫之父E.F.Codd於1993年提出的。當時,Codd認為聯機事務處理(OLTP)已不能滿足終端用戶對數據庫查詢分析的需要,SQL對大數據庫進行的簡單查詢也不能滿足用戶分析的需求。用戶的決策分析需要對關系數據庫進行大量計算才能得到結果,而查詢的結果並不能滿足決策者提出的需求。因此Codd提出了多維數據庫和多維分析的概念,即OLAP。Codd提出OLAP的12條准則來描述OLAP系統:

准則1 OLAP模型必須提供多維概念視圖

准則2 透明性准則

准則3 存取能力推測

准則4 穩定的報表能力

准則5 客戶/服務器體系結構

准則6 維的等同性准則

准則7 動態的稀疏矩陣處理准則

准則8 多用戶支持能力准則

准則9 非受限的跨維操作

准則10 直觀的數據操縱

准則11 靈活的報表生成

准則12 不受限的維與聚集層次

關系型聯機分析處理(ROLAP)

基於Codd的12條准則,各個軟件開發廠家見仁見智,其中一個流派,認為可以沿用關系型數據庫來存儲多維數據,於是,基於稀疏矩陣表示方法的星型結構(starschema)就出現了。后來又演化出雪花結構。為了與多維數據庫相區別,則把基於關系型數據庫的OLAP稱為Relational OLAP,簡稱ROLAP。代表產品有Informix Metacube、Microsoft SQL Server、OLAP Services.

多維型聯機分析處理(MOLAP)

嚴格遵照Codd的定義,自行建立了多維數據庫,來存放聯機分析系統數據的Arbor Software,開創了多維數據存儲的先河,后來的很多家公司紛紛采用多維數據存儲。被人們稱為MuiltDimension OLAP,簡稱MOLAP,代表產品有Hyperion(原Arbor software) Essbase、Showcase STRATEGY等。

客戶端聯機分析處理(Client OLAP)

相對於Server OLAP而言。部分分析工具廠家建議把部分數據下載到本地,為用戶提供本地的多維分析。代表產品有Brio Designer, Business Object.

決策支持系統(DSS)

決策支持系統(Decision Support system),相當於基於數據倉庫的應用。決策支持就是在收集所有有關數據和信息,經過加工整理,來為企業決策管理層提供信息,為決策者的決策提供依據。

數據抽取、轉換、加載(ETL)

數據抽取(Extract)、轉換(Transform)、清洗(Cleansing)、裝載(Load)的過程。構建數據倉庫的重要一環,用戶從數據源抽取出所需的數據,經過數據清洗,最終按照預先定義好的數據倉庫模型,將數據加載到數據倉庫中去。

即席查詢(Ad hoc query)

即席查詢,數據庫應用最普遍的一種查詢,利用數據倉庫技術,可以讓用戶隨時可以面對數據庫,獲取所希望的數據。

領導信息系統(EIS)

領導信息系統(Executive Information System),指為了滿足無法專注於計算機技術的領導人員的信息查詢需求,而特意制定的以簡單的圖形界面訪問數據倉庫的一種應用。

業務流程重整(BPR)

業務流程重整(Business Process Reengineering),指利用數據倉庫技術,發現並糾正企業業務流程中的弊端的一項工作。數據倉庫的重要作用之一。

商業智能(BI)

商業智能(Business Intelligence),指數據倉庫相關技術與應用的通稱。指利用各種智能技術,來提升企業的商業競爭力。

數據挖掘(Data mining)

數據挖掘,Data Mining是一種決策支持過程,它主要基於AI、機器學習、統計學等技術,高度自動化地分析企業原有的數據,作出歸納性的推理,從中挖掘出潛在的模式,預測客戶的行為,幫助企業的決策者調整市場策略,減少風險,作出正確的決策。

客戶關系管理(CRM)

客戶關系管理(Customer Relationship management),數據倉庫是以數據庫技術為基礎但又與傳統的數據庫應用有着本質區別的新技術,CRM就是基於數據倉庫技術的一種新應用。但是,從商業運作的角度來講,CRM其實應該算是一個古老的"應用"了。比如,酒店對客人信息的管理,如果某個客人是某酒店的老主顧,那么該酒店很自然地會知道這位客人的某些習慣和喜好,如是否喜歡靠路邊,是否吸煙,是否喜歡大床,喜歡什么樣的早餐,等等。當客人再次光臨時,不用客人自己提出來,酒店就會提供客人所喜歡的房間和服務。這就是一種CRM.

元數據(Meta Data)

元數據,關於數據倉庫的數據,指在數據倉庫建設過程中所產生的有關數據源定義,目標定義,轉換規則等相關的關鍵數據。同時元數據還包含關於數據含義的商業信息,所有這些信息都應當妥善保存,並很好地管理。為數據倉庫的發展和使用提供方便。

維度(Dimension)

維度是用來反映業務的一類屬性,這類屬性的集合構成一個維度。如時間、地理位置或產品,

粒度(Granularity)

粒度將直接決定所構建倉庫系統能夠提供決策支持的細節級別。粒度越高表示倉庫中的數據較粗,反之,較細。粒度是與具體指標相關的,具體表現在描述此指標的某些可分層次維的維值上。例如,時間維度,時間可以分成年、季、月、周、日等。

指標/度量(Measure)

指標也稱關鍵性能指標、事實或關鍵事務指標,是沿維度衡量商務信息的工具。每一個指標代表了業務對象所固有的一個可供分析的屬性。指標是典型的數量、容量或將通過同標准的比較查明的款項。這些數據點可用於商務性能的定量的比較。

指標/度量組(Relation Measures)

實際上每一組用於分析的業務對象會有若干相互關聯的指標,如營業額、納稅額。這些指標之間存在計算關系,往往是作為一個整體用於分析的,這個整體稱之為指標組。

元數據(Metadata)

關於數據的數據。元數據用於描述數據倉庫中的數據的結構、內容和數據源。

元數據庫(Metadata Repository)

一種提供數據詳細情況的詞典。這些詳細的信息包括數據源的目錄和它們相關的標准。該數據目錄描述的是數據捕捉和數據訪問兩種環境中可用的數據。該目錄還應說明數據最后一次更新的時間和計划將要更新的時間—最起碼,要說明數據維護的調度。數據目錄還應說明數據的物理屬性;也就是說,數據是如何存儲的。數據目錄幫助數據用戶弄清楚"從哪里"可獲得"什么樣"的數據。

中央數據庫(Center Database)

數據倉庫中用於存儲原始數據的存儲介質。此處的原始數據指從業務系統中采集后經過清洗、轉換的數據。

指標數據庫(Indicator Databases)

數據倉庫中用於存放指標數據的存儲介質。指標數據庫根據數據倉庫系統的使用對象划分,通常分成多個。

數據清洗(Data Cleaning)

對數據倉庫系統無用的或者不符合數據格式規范的數據稱之為臟數據。清洗的過程就是清除臟數據的過程。

數據采集(Data Collection)

數據倉庫系統中后端處理的一部分。數據采集過程是指從業務系統中收集與數據倉庫各指標有關的數據。

數據轉換(Data Transformation)

解釋業務數據並修改其內容,使之符合數據倉庫數據格式規范,並放入數據倉庫的數據存儲介質中。數據轉換包括數據存儲格式的轉換以及數據表示符的轉換(如產品代碼到產品名稱的轉換)。

聯機分析處理(OLAP)

在線事務處理(on-line transaction processing,簡稱OLTP)能夠提供一些記錄級查詢功能,現在分析人員要求從各個角度去觀察一些統計指標,會對多張表千萬條中的數據進行分析和信息綜合。這是操作型應用力不從心的。1993年,關系數據庫之父E.F.Codd將這類技術定義為在線分析處理(on-line analytical processing,簡稱OLAP)。

 

OLAP是一種多維分析技術,用來滿足決策用戶在大量的業務數據中,從多角度探索業務活動的規律性、市場的運作趨勢的分析需求,並輔助他們進行戰略發展決策的制定。按照數據的存儲方式分OLAP又分為ROLAP、MOLAP和HOLAP。

 

在客戶信息數據倉庫CCDW的數據環境下,OLAP提供上鑽、下鑽、切片、旋轉等在線分析機制。完成的功能包括多角度實時查詢、簡單的數據分析,並輔之於各種圖形展示分析結果。

星形圖(Star-Schema)

是數據倉庫應用程序的最佳設計模式。它的命名是因其在物理上表現為中心實體,典型內容包括指標數據、輻射數據,通常是有助於瀏覽和聚集指標數據的維度。星形圖模型得到的結果常常是查詢式數據結構,能夠為快速響應用戶的查詢要求提供最優的數據結構。星形圖還常常產生一種包含維度數據和指標數據的兩層模型。

雪花圖(Snowflake-Schema)

指一種擴展的星形圖。星形圖通常生成一個兩層結構,即只有維度和指標,雪花圖生成了附加層。實際數據倉庫系統建設過程中,通常只擴展三層:維度(維度實體)、指標(指標實體)和相關的描述數據(類目細節實體)超過三層的雪花圖模型在數據倉庫系統中應該避免。因為它們開始像更傾向於支持OLTP 應用程序的規格化結構,而不是為數據倉庫和OLAP應用程序而優化的非格式化結構。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM