300 likes | 401 Vues
Module 03 一般維度設計. 概述. 多維度分析透過事前的訪談定義,將使用者所需要的 分析角度 列舉後,由多維度分析引擎產生所有分析角度的排列組合,最後,將資料表依照對應的排列組合依序填入進行彙總,這就是多維度分析最基礎的概念 在所有企業報表分析中,可將報表分為兩個基本組成單位 維度:用來檢視資料的角度 代表企業用來解析資料的實體單位, Ex: 時間、地區、單位、產品,構成報表的橫軸、縱軸或過濾條件。 量值: 填入報表中維度交錯空格的彙總資料. 維度概念. 明確的資料檢視角度. 以屬性為基礎的維度.
E N D
概述 • 多維度分析透過事前的訪談定義,將使用者所需要的分析角度列舉後,由多維度分析引擎產生所有分析角度的排列組合,最後,將資料表依照對應的排列組合依序填入進行彙總,這就是多維度分析最基礎的概念 • 在所有企業報表分析中,可將報表分為兩個基本組成單位 • 維度:用來檢視資料的角度 • 代表企業用來解析資料的實體單位,Ex:時間、地區、單位、產品,構成報表的橫軸、縱軸或過濾條件。 • 量值: • 填入報表中維度交錯空格的彙總資料
維度概念 • 明確的資料檢視角度
以屬性為基礎的維度 • 維度(Dimension)在 Analysis Services 2008呈現的是完整的 business entity • 例如:Customer, Product, Channel • 維度透過屬性(attribute)提供了 entity 所有的資料 • 例如:名稱、說明、規格、價格 • 包含最明細之資料 • 維度蘊含著階層(Hierarchies)關係,將敘述性項目區分為數個不同的層級(Level),層級本身也是抽象的集合名詞,透過層級來指定階層間的上下關係。構成層級的實體稱為成員(Members) • 階層只是提供瀏覽屬性的一種方式 • 階層可以串連起多個屬性,以提供 drill-down 解析路徑 • 每一種屬性預設都有自己的階層 • 單一層級 • 主索引鍵所在資料行稱為索引鍵(key Attribute),是維度的最小單位,且所有的維度相關分析就與此索引鍵屬性關聯。
使用維度資料表建立維度 • 在設計維度物件之前,有幾個前提: • 必須將所需要的維度資料表置於「資料來源檢視」中。 • 同時需要使用的維度資料表必須具備主索引鍵(索引鍵屬性。 • 如果是雪花狀資料表,亦必須設計維度表之間的關聯性。
使用維度精靈建立維度 • Step1:在「方案總管」中,點選維度按下滑鼠右鍵,選擇之「新增維度」項目 • Step2:在維度精靈視窗,選擇「使用現有的資料表」
Step3 • 在SSAS裡的任何屬性(Attribute)都由三個資料行所構成的,分別是: • 索引鍵資料行(Key column) • 屬性的基礎欄位 • 名稱資料行(Name column) • 屬性要顯示的名稱(選擇性) • 值資料行(Value column) • 屬性用來計算用的參考欄位(選擇性)
Step4:會自動根據在資料來源檢視中設定的索引鍵關聯性,把所有可能相關的維度表一次列出來Step4:會自動根據在資料來源檢視中設定的索引鍵關聯性,把所有可能相關的維度表一次列出來 • Step5:會把所有相關維度表中的所有欄位逐一列出,這些欄位也將是後續產生維度屬性(Attribute)的候選項目
Step6:在「選取維度屬性」頁面,選擇「屬性類型」可調整內鍵的維度屬性。Step6:在「選取維度屬性」頁面,選擇「屬性類型」可調整內鍵的維度屬性。 • Step7:給予維度命名並完成 設定
編輯維度屬性(Attribute) • 若使用者不希望看到大分類標耗時,可為這些屬性(Attribute)加上屬性(Attribute)名稱資料行 將NameColumn設定為對應的名稱資料行 並更改顯示的名稱
練習:用維度精靈建立維度 參照書本的步驟 P45~P51
屬性關聯性 • 屬性關聯性為屬性之間彼此的對應關係,其關係來自於「資料表來源檢視」的鍵值連結關係。 • 需注意,屬性間的關聯性是否會隨的時間發生變化。 • 如果屬性關聯性(員工->部門),有可能會異動,此時,必須將關聯性類型設為彈性 • 如果設定為「固定」,則代表關聯性不會隨著時間變化
處理維度 • 為了要能檢視維度內容,必須先處理維度 • 處理完後,即可切換至「瀏覽器」頁籤,檢視剛才設定的維度屬性(Attribute)內容及階層內容
設計不對稱維度 • 原則上是每個父層級向下的層級數會是一致的,稱為對稱階層(Balanced Hierarchy) • 但在很多的實務設計環境中,由於資料特性,很容易發生向下的層級數量不一致的情形,這種狀況稱之為不對稱層級(Unbalanced Hierarchy) • 不對稱階層設定分別為 • 殘缺階層(Ragged Hierarchy) • 父子式階層(Parent-Child Hierarchy)
殘缺層級 • 主要發生在層級「總數」固定,卻因為資料特性之因素,可能有局部的層級成員會不存在,而造成階層殘缺 • 如圖,國家名稱中的「香港」下方只有一個「香港」的地區成員。因此希望「香港」的國家名稱下需要有無效的向下鑽入 • 解決: • 點選欲設定殘缺階層的階層層級(地區名稱),在屬性(Properties)視窗可找到「HideMemberIf」屬性,請將它設定為「ParentName」 • 當選取「ParentName」時,表示這一層級的名稱如果與父層級得名稱相同時,即會隱藏
父子式維度 • 以員工人事架構為例,由於企業人士架構可能隨時會變動,再加上職級甚多,如果每個階層各使用一個欄位來維護並不是經濟的作法,因此,透過父子式維度只需要維護三個欄位即可 • 子屬性索引鍵(也是整個父子式維度的索引鍵屬性) • 子屬性名稱 • 父屬性索引鍵
層級命名範本(Naming Template)屬性 • 建立父子式維度後,系統會自動地判斷每個成員所屬層級,並自動提供層級名稱,但如果希望命名特定層級以符合商業需求時,可設定命名範本(Naming Template)屬性。在滑鼠點選父子式階層時,屬性視窗中可以找到「NamingTemplate」屬性
非葉成員之資料內容 • 在父子式維度中,每個成員同時扮演子成員及父成員,有可能非葉成員也會具有數值。例如,在傳統維度中,經理(非葉成員)本身不會具有業績,經理的業績應該是底層業務員累積而成,但是事實上,經理並非抽象的階層,而是實際存在的人,萬一他本身有業績時,就可能會發生非葉成員業績的狀況 • 設計者選擇是否要展示非葉成員之資料內容。點選父子式階層後,即可在屬性視窗找到「MemberWithData」屬性,此屬性共用兩個可用值,分別是「NonLeafDataVisible(展示非葉成員資料)」以及「NonLeafDataVHidden(隱藏非葉成員資料)」
自訂積存(Custom Roll-up) • 在子成員彙總成父成員時能夠自由指定運算符號 • 事實資料表中必須要有一欄位用來記錄運算符號
屬性(Properties)視窗設定(詳細整理請參考P65) • 「StorageMode」屬性 • 設定維度的儲存方式 • 關聯式OLAP(Relational OLAP,ROLAP) • 儲存在Analysis Services伺服器中 • 多維度OPAP(Multi-dimensional,MOLAP) • 儲存在原始的關聯式資料庫中 • 兩項未知成員屬性 • 「UnkonwnMember(未知成員)」屬性 • Non系統將不會配置未知成員 • Hidden將配置未知成員不會在MDX查詢顯示 • Visible系統在維度內的「所有」屬性配置未知成員 • 「UnkonwMemverName(未知成員名稱)屬性 • 顯示未知成員的名稱,預設為「UnKnown」
屬性(Attribute)屬性(Properties)視窗設定(詳細整理請參考P65)屬性(Attribute)屬性(Properties)視窗設定(詳細整理請參考P65) • 「DiscretizationBucketCount」屬性 • 希望將此連續數性切割成幾個級距 • 「DiscretizatiionMethod」屬性 • 切割級距的模式 • None不切割 • Automatic系統會根據EqualAreas和Clusters挑選一個效果好的 • EqualAreas以統計學的中位數為觀念,將資料盡量切割成梅格區間所擁有的案例數量相同 • Threshould利用微軟群集畫資料採礦演算法作為離散化的工具
維度智慧設定 • 利用「視覺化介面」進行複雜的邏輯設定。 • 定義帳戶智慧 • 定義維度智慧 • 指定一元運算子 • 建立自訂成員公式 • 指定屬性排序方式
定義帳戶智慧 • 其中的帳戶指的是「會計」而非帳戶。 • 會計室多維度分析中非常特殊的一種模式,會計科目中大多呈現父子式階層,同時會根據會計科目的不同,而造成彙總運算符號(Ex:費用、負債向上彙總時,要改成減號)的差異,此外,會計科目可以區分為資產負債表,以及損益表兩種不同類型,各自的彙總模式也都不同。
系統會自動套用會計範本至會計維度,並協助以下動作:系統會自動套用會計範本至會計維度,並協助以下動作: • 根據會計科目類型設定彙總函數 • 將維度類型設為Account • 更新會計維度所有屬性的屬性類型 • 將量職群組彙總模式修改為「ByAccount」 將來源資料表的帳戶類型與內建帳戶類型做對應。
定義維度智慧 • 維度智慧作用在於設定各維度以及維度屬性的「Type」屬性,一般維度的「Type」屬性為「Regular」。 • 套用特殊的Type屬性在套用特定MDX函數時能夠較為便利。
指定一元運算子 • 利用一元運算子來定義資料向上彙總時的運算符號。
建立自訂成員公式 • 自訂成員(Custom Roll-up Formulas) 透過「特定欄位」紀錄公式(MDX),Cube彙總值會讀取此欄位內的公式以複寫原始的彙總函數。
指定屬性排序方式 • 維度屬性支援三種排序模式: • 「Order by Key」(依鍵值排序) • 「Order by Name」(依名稱排序) • 「Order by Attribute」(依其他屬性) • 可透過「索引鍵」、「名稱」來進行排序,設定完成後系統將會自動覆寫各維度屬性之「OrderBy」屬性。
練習:修改維度屬性 參照書本的步驟: • 修改維度屬性