共用方式為


隱藏及停用屬性階層

根據預設,系統會在維度中建立每個屬性的屬性階層,而且每個階層都可用來建立事實資料的維度。這個階層是由「全部」層級和詳細資料層級 (含階層的所有成員) 所組成。如同您已學到的,您可以將屬性組織成使用者自訂階層,在 Cube 中提供導覽路徑。在某些情況下,您可以停用或隱藏某些屬性及其階層。例如,某些屬性如保險號碼或身分證號碼、薪水、出生日期和登入資訊等,使用者不能利用這些屬性來建立 Cube 資訊的維度。相反地,這項資訊通常只是做為特定屬性成員的詳細資料來檢視。您可以隱藏這些屬性階層,讓屬性只顯示成特定屬性的成員屬性。您也可以讓其他屬性的成員 (例如客戶名稱或郵遞區號) 只透過使用者階層而非透過獨立屬性階層來檢視。這麼做的原因是為了顯示屬性階層中的全部相異成員。最後,為了增進處理效能,您應該將使用者不再用來瀏覽的屬性階層停用。

[AttributeHierarchyEnabled] 屬性的值決定是否建立屬性階層。如果這個屬性設為 [False],則不建立屬性階層,且屬性不得做為使用者階層中的一個層級;屬性階層只以成員屬性的身分存在。不過,已停用的屬性階層仍然可以用來排序另一個屬性的成員。如果 [AttributeHierarchyEnabled] 屬性的值設為 [True],則 [AttributeHierarchyVisible] 屬性的值將決定屬性階層是否顯示,這與它在使用者自訂階層中的用法無關。

啟用屬性階層之後,您可以指定下列另外 3 個屬性的值:

  • IsAggregatable

    依預設,會對所有屬性階層定義 (全部) 層級。若要為啟用的屬性 (Attribute) 階層停用 (全部) 層級,請將這個屬性 (Property) 的值設為 False

    [!附註]

    [IsAggregatable] 屬性 (Property) 設為 false 的屬性 (Attribute) 只能當做使用者定義階層的根使用,而且必須指定預設的成員 (否則,Analysis Services 引擎將會為您選擇一個成員)。

  • AttributeHierarchyOrdered

    依預設,Analysis Services 在處理期間會排序已啟用屬性階層的成員,然後按 [OrderBy] 屬性的值來儲存成員,例如按名稱或索引鍵。如果您不在乎排序,可將這個屬性的值設為 [False],來增加處理效能。

  • AttributeHierarchyOptimizedState

    依預設,Analysis Services 在處理期間會為每一個已啟用的屬性階層建立一個索引,來改進查詢效能。如果您不打算使用屬性階層來瀏覽,可將這個屬性的值設為 [NotOptimized],來增加處理效能。不過,如果您使用隱藏的階層做為維度的索引鍵屬性,則建立屬性成員的索引仍然可以改進效能。

如果屬性階層已停用,則這些屬性不適用。

在這個主題的工作中,您會在 [員工] 維度中停用不用於瀏覽的保險號碼和其他屬性。然後您會在 [客戶] 維度中隱藏客戶名稱和郵遞區號屬性階層。這些階層中大量的屬性成員會使得瀏覽這些階層的速度變得很慢 (與使用者階層無關)。

在 [員工] 維度中設定屬性階層的屬性

在 [員工] 維度中設定屬性階層的屬性

  1. 針對 [員工] 維度切換到維度設計師,然後按一下 [瀏覽器] 索引標籤。

  2. 確認下列屬性階層有出現在 [階層] 清單中:

    • 底薪

    • 出生日期

    • 登入識別碼

    • 經理 SSN

    • SSN

  3. 切換至 [維度結構] 索引標籤,然後在 [屬性] 窗格中選擇下列屬性。您可以在按住 CTRL 鍵的同時,按一下每個量值,藉以選取多個量值:

    • 基底匯率

    • 出生日期

    • 登入識別碼

    • 管理員 SSN

    • SSN

  4. 在 [屬性] 視窗中,針對已選取的屬性,將 [AttributeHierarchyEnabled] 屬性的值設為 [False]

    請注意,在 [屬性] 窗格中,每個屬性的圖示已變更為指示該屬性未啟用。

    下圖顯示針對已選取的屬性,將 [AttributeHierarchyEnabled] 屬性設為 False。

    AttributeHierarchyEnabled 屬性設定為 False

  5. [建立] 功能表上,按一下 [部署 Analysis Services 教學課程]

  6. 順利完成處理之後,切換到 [瀏覽器] 索引標籤、按一下 [重新連接],然後試著瀏覽已修改的屬性階層。

    請注意,已修改的屬性之成員不能做為 [階層] 清單中的屬性階層來瀏覽。如果您嘗試加入其中一個已停用的屬性階層做為使用者階層中的一個層級,您會收到錯誤訊息,通知您必須啟用屬性階層才能參與使用者自訂階層。

在客戶維度中設定屬性階層的屬性

在客戶維度中設定屬性階層的屬性

  1. 針對 [客戶] 維度切換到維度設計師,然後按一下 [瀏覽器] 索引標籤。

  2. 確認下列屬性階層有出現在 [階層] 清單中:

    • 全名

    • 郵遞區號

  3. 切換到 [維度結構] 索引標籤,然後使用 CTRL 鍵同時選取多個屬性,來選取 [屬性] 窗格中的下列屬性:

    • 全名

    • 郵遞區號

  4. 在 [屬性] 視窗中,針對已選取的屬性,將 [AttributeHierarchyVisible] 屬性的值設為 [False]

    因為這些屬性階層的成員將用於建立事實資料的維度,所以將這些屬性階層的成員排序和最佳化,可改進效能。因此,不得變更這些屬性的屬性。

    下圖顯示 [AttributeHierarchyVisible] 屬性設為 False。

    AttributeHierarchyVisible 屬性設定為 False

  5. [郵遞區號] 屬性從 [屬性] 窗格拖曳到 [階層和層級] 窗格中的 [縣 (市)] 層級下的 [客戶地理位置] 使用者階層中。

    請注意,隱藏的屬性仍然成為使用者階層中的一個層級。

  6. [建立] 功能表上,按一下 [部署 Analysis Services 教學課程]

  7. 順利完成部署之後,針對 [客戶] 維度切換到 [瀏覽器] 索引標籤,然後按一下 [重新連接]

  8. 嘗試從 [階層] 清單中選取任何一個已修改的屬性階層。

    請注意,兩個已修改的屬性階層都不會出現在 [階層] 清單中。

  9. [階層] 清單中,選取 [客戶地理位置],然後在瀏覽器窗格中瀏覽每一個層級。

    請注意,[郵遞區號][全名] 這兩個隱藏的層級會出現在使用者自訂階層中。

本課程的下一項工作

依次要屬性來排序屬性成員