共用方式為


隱藏和停用屬性階層

根據預設,會針對維度中的每個屬性建立屬性階層,而且每個階層都可用於維度事實數據。 此階層包含「全部」層級,以及包含階層所有成員的詳細層級。 如您所瞭解,您可以將屬性組織成使用者定義的階層,以提供 Cube 中的導覽路徑。 在某些情況下,您可能會想要停用或隱藏某些屬性及其階層。 例如,某些屬性,如社會安全號碼或國家身份證號碼、薪資率、出生日期和登入資訊,並不是用來讓使用者對 Cube 資訊進行維度設定的屬性。 相反地,這個資訊通常只被視為特定屬性成員的細節。 您可能想要隱藏這些屬性階層,讓屬性只顯示為特定屬性的成員屬性。 您可能也希望讓其他屬性的成員,例如客戶名稱或郵遞區號,僅在透過使用者層級檢視時才可見,而不是透過屬性層級獨立檢視。 這樣做的其中一個原因可能是屬性階層中的許多不同成員。 最後,若要改善處理效能,您應該停用使用者不會用於流覽的屬性階層。

AttributeHierarchyEnabled 屬性的值會決定是否建立屬性階層。 如果此屬性設定為 False,則不會建立屬性階層,而且屬性不能當做用戶階層中的層級使用;屬性階層僅以成員屬性的形式存在。 不過,停用的屬性階層仍可用來排序另一個屬性的成員。 如果 AttributeHierarchyEnabled 屬性的值設定為 True,那麼 AttributeHierarchyVisible 屬性的值會決定屬性階層是否可見,這與屬性在使用者定義階層中的使用無關。

開啟屬性階層時,您可能想要指定下列三個額外屬性的值:

  • IsAggregatable

    預設情況下,所有屬性階層都會定義一個(All)層級。 若要停用已啟用屬性階層的 [全部] 層級,請將此屬性的值設定為 False

    備註

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

  • 屬性層級排序

    根據預設,Analysis Services 會在處理期間排序已啟用屬性階層的成員,然後依 OrderBy 屬性的值儲存成員,例如依 Name 或 Key。 如果您不在意排序,您可以將此屬性的值設定為 False,以提高處理效能。

  • 屬性階層優化狀態

    根據預設,Analysis Services 會在處理期間為每個啟用的屬性階層建立索引,以改善查詢效能。 如果您不打算使用屬性階層進行流覽,您可以將此屬性的值設定為 NotOptimized 來增加處理效能。 不過,如果您使用隱藏階層做為維度的索引鍵屬性,建立屬性成員的索引仍會改善效能。

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

在本主題的工作中,您將停用員工維度中不會用於瀏覽的社會安全號碼和其他屬性。 接著,您將隱藏 [客戶] 維度中的客戶名稱和郵遞區編碼屬性階層。 這些階層中的大量屬性成員會使流覽這些階層的速度非常慢,與用戶階層無關。

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

  1. 切換至員工維度的維度設計器,然後點擊 [瀏覽] 索引標籤。

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

    • 基底費率

    • 出生日期

    • 登入標識碼

    • 經理社會安全號碼

    • SSN

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

    • 基底費率

    • 出生日期

    • 登入標識碼

    • 經理社會安全號碼

    • SSN

  4. 在 [屬性] 視窗中,將所選屬性的 AttributeHierarchyEnabled 屬性值設定為 False

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

    下圖顯示所選屬性的 AttributeHierarchyEnabled 屬性設定為 False。

    AttributeHierarchyEnabled 屬性設定為 False

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

  6. 處理成功完成時,切換至 [ 瀏覽器] 索引標籤 ,按兩下 [ 重新連線],然後嘗試流覽修改的屬性階層。

    請注意,已修改屬性的成員無法在 階層 列表中作為屬性層級進行瀏覽。 如果您嘗試將其中一個停用的屬性階層新增為用戶階層中的層級,您會收到錯誤,通知您必須啟用屬性階層才能參與使用者定義的階層。

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

  1. 切換至 [客戶] 維度的 [維度設計師],然後按兩下 [瀏覽器] 索引 標。

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

    • 全名

    • 郵遞區號

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

    • 全名

    • 郵遞區號

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

    因為這些屬性階層的成員將用於維度事實數據,因此排序和優化這些屬性階層的成員將會改善效能。 因此,不應變更這些屬性的屬性。

    下圖顯示 AttributeHierarchyVisible 屬性設定為 False。

    AttributeHierarchyVisible 屬性設定為 False

  5. [郵遞區/ 10000編碼] 屬性從 [屬性] 窗格拖曳到 [階層和層級] 窗格中的 [客戶地理位置] 用戶階層中,緊接在 [城市] 層級底下。

    請注意,隱藏的屬性仍然可以成為用戶階層中的層級。

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

  7. 部署成功完成時,切換至 [客戶] 維度的 [瀏覽器] 索引 標籤 ,然後按兩下 [ 重新連線]。

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

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

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

    請注意,隱藏的層級 [郵遞區號 ] 和 [ 完整名稱] 會顯示在使用者定義的階層中。

課程中的下一個工作

根據次要屬性排序屬性成員