依包含特性篩選

您可以在節點上設定包含特性,即可指定要從訂閱中包含或排除的節點。

例如,您可以在來源視點中使用此包含特性新增節點,無需立即將其新增至目標視點。然後,當您準備好將節點新增至目標視點時,您可以變更來源視點中的包含特性值,如此便能產生訂閱要求動作,以便將該節點新增至任何訂閱目標視點。

Note:

包含特性必須是節點層級的特性。

包含特性是「布林值」或「清單」資料類型特性,用於控制是否將來源視點中的節點當作訂閱的一部分傳送到目標視點。

  • 如果包含特性是「布林值」資料類型,則當布林值為 True 時,會將節點新增至目標視點,並在值為 False 時,從目標視點移除節點。通常,當存在一個訂閱目標視點而您想指定是否在該訂閱中包含節點時,可以使用布林值包含特性。
  • 如果包含特性是「清單」資料類型,則必須指定包含值 (透過輸入值或從「允許的值」清單中選取值)。當您有多個訂閱目標視點而且想指定哪些目標節點應包含在訂閱中時,請使用「清單」資料類型特性。

在來源視點中設定包含特性以包含節點時 (也就是,布林值資料類型的值為 True 或清單資料類型含該包含值),則會根據訂閱的目標視點產生節點的要求動作。如果節點在目標視點中尚不存在,則會新增或插入該節點。

在來源視點中設定包含特性以排除節點時 (也就是,布林值資料類型的值為 False 或清單資料類型不含該包含值),如果節點已存在於目標視點中,則會將其移除或刪除。如果不存在,則不會為排除的節點產生要求動作。

最佳作法

如果要保留從目標視點排除之節點的特性值和子項關係,最佳做法是從訂閱的包含動作篩選條件移除「刪除」動作,如此便只會移除該節點。請參閱按動作篩選

注意事項

  • 您可以從來源視點的任何節點類型,使用任何「布林值」或「清單」資料類型特性,指定包含特性篩選條件。

    Note:

    您可以將現有特性設定為包含特性,也可以建立一個新特性並當作此訂閱的包含特性。請參閱手動建立特性
  • 包含特性的預設類型可以是 NoneSpecified。以下情況適用 Specified 預設類型:
    • 預設情況下,您想在訂閱中包含所有節點,而且會明確指定您不想包含哪些節點。您可以設定預設值來包含節點 (布林值資料類型的值為 True 或清單資料類型含該包含值),然後只針對您想排除的節點,變更該特性。
    • 預設情況下,您想在訂閱中包含所有節點,而且會明確指定您想包含哪些節點。您可以設定預設值來排除節點 (布林值資料類型的值為 False 或清單資料類型不含該包含值),然後只針對您想包含的節點,變更該特性。

    如果您的預設類型為 None,則必須為每個節點指定包含特性值。

  • 「預設類型」不得為 DerivedInherited。將特性指定為包含特性後,您無法將該特性的預設類型變更為 Derived 或 Inherited。

  • 節點表示式、最上層節點和動作篩選條件會套用至產生的要求動作。例如,如果節點上的包含特性設定為要包含,但該節點位在已從訂閱中排除的最上層節點之下,則不會為該節點產生要求動作。
  • 來源視點中的某些要求動作將轉換為目標視點中的等效動作:

    • 如果您將來源視點中的包含值從 False 修改為 True (或針對清單資料類型修改為含該包含值),若節點尚不存在於目標視點中,則會新增該節點 (或在階層集插入)。

    • 如果您將來源視點中的包含值從 True 修改為 False (或針對清單資料類型修改為不含該包含值),若節點存在於目標視點中,則會刪除該節點 (或在階層集移除)。

    • 如果您未修改來源視點中的包含值,若包含特性設定為 True (或清單資料類型含該包含值),則您在來源視點中執行的要求動作,將傳播至目標視點。

  • 若為共用節點,當目標視點為階層時:
    • 如果包含特性更新為包含或排除來源視點中的節點,則會為該節點的所有例項產生要求動作。
    • 如果未更新包含特性而且設定為包含節點,則僅針對執行該動作的例項產生要求動作。
    • 如果未更新包含特性而且設定為排除節點,則不會為節點的任何例項產生要求動作。

    例如,假設您在來源視點的父項 A、B 和 C 下有一個共用節點。

    • 如果您更新包含特性,使其包含來源視點中父項 A 之下的某個節點,則會產生要求動作,在目標視點中的父項 A 之下新增節點,並在父項 B 和 C 下插入節點。同樣地,如果您更新包含特性,使其排除來源視點中父項 A 下的節點,則會產生要求動作,以刪除目標視點中父項 A 下的該節點,並將其從父項 B 和 C 移除。
    • 如果您未更新包含特性而且設定為要包含該節點,則只會為您執行動作的節點例項產生要求動作。因此,如果您編輯來源視點中父項 B 之下的節點特性,則會產生要求動作,僅針對目標視點中父項 B 下的節點修改該特性。
    • 如果您未更新包含特性而且設定要排除節點,則無論您對來源視點中的哪一個例項執行動作,都不會為節點產生要求動作。

Tip:

當您有多個訂閱視點時,如果只有一個使用者 (例如服務管理員) 負責確定哪些視點將接收什麼節點,則可以使用「清單」資料類型包含特性。如果有不同的使用者各自判斷是否將特性傳送至他們管理的視點,您可以設定多個布林值資料類型包含特性,並使用特性層級資料存取權限來控制哪些使用者能查看或編輯各自視點的布林值特性。

例如,您可以設定資料存取權限,僅限 Planning 管理員能編輯來源視點中的「針對 Planning 包含?」特性,而僅限 Consolidation 管理員能編輯來源視點中的「針對 Consolidation 包含?」特性。請參閱包含特性範例中的布林值資料類型包含特性範例

Note:

如果您已經使用節點條件,根據「布林值」或「清單」資料類型節點層級特性的值篩除訂閱節點 (請參閱定義節點條件),則應將節點條件篩選取代為包含特性篩選。

如果您在關係層級特性使用節點條件篩選,則應保留現有節點條件篩選,因為您無法在關係層級特性建立包含特性篩選。

設定包含特性

  1. 找出哪一個視點包含您想設定包含特性的訂閱並予以檢查,然後按一下「訂閱」頁籤。
  2. 建立新訂閱或編輯現有訂閱。請參閱訂閱視點
  3. 在「篩選條件」頁籤中,按一下編輯
  4. 包含特性下拉功能表中,選取要將哪一個特性設定為包含特性。只有具備「布林值」或「清單」資料類型的節點特性可供選擇。
  5. 如果選取的特性具備「清單」資料類型,請在包含值中輸入一個包含值 (如果特性使用「允許的值」,則選取值)。

    Note:

    如果特性具備「允許的值」的應用程式或節點類型置換,則所有置換中所有允許的值都可被選為包含值。
  6. 按一下儲存