包含プロパティによるフィルタリング

ノードで包含プロパティを構成することにより、ノードをサブスクリプションに含めるか、サブスクリプションから除外するかを指定できます。

この包含プロパティを使用すると、たとえば、ターゲット・ビューポイントにノードをただちに追加せずに、ソース・ビューポイントのノードを追加できます。次に、ターゲット・ビューポイントにノードを追加する準備ができたら、ソース・ビューポイントの包含プロパティ値を変更して、サブスクライブしているターゲット・ビューポイントにそのノードを追加するサブスクリプション要求アクションを生成できます。

Note:

包含プロパティは、ノード・レベル・プロパティである必要があります。

包含プロパティは、サブスクリプションの一環としてソース・ビューポイントのノードをターゲット・ビューポイントに送信するかどうかを制御するブールまたはリストのデータ型プロパティです。

  • 包含プロパティがブール・データ型の場合は、ブール値がTrueのときにノードがターゲット・ビューポイントに追加され、値がFalseのときにターゲット・ビューポイントから除去されます。通常、サブスクライブしている単一のターゲット・ビューポイントがあり、そのサブスクリプションにノードを含めるかどうかを指定する場合は、ブール包含プロパティを使用します。
  • 包含プロパティがリスト・データ型の場合は、値を入力するか、または「許容値」リストから値を選択して、包含値を指定する必要があります。サブスクライブしている複数のターゲット・ビューポイントがあり、ノードをサブスクリプションに含める必要があるターゲット・ビューポイントを指定する場合は、リスト・データ型プロパティを使用します。

ノードを含めるように包含プロパティがソース・ビューポイントに設定されている場合は(つまり、ブールの値がTrueであるか、またはリストの包含値が含まれている場合)、サブスクリプションによってターゲット・ビューポイントに対してノードの要求アクションが生成されます。ノードがターゲット・ビューポイントにすでに存在しない場合は、追加または挿入されます。

ノードを除外するように包含プロパティがソース・ビューポイントに設定されている場合(つまり、ブールの値がFalseであるか、またはリストの包含値が含まれていない場合)、ターゲット・ビューポイントにノードが存在すると、そのノードは除去または削除されます。存在しない場合、除外されたノードに対する要求アクションは生成されません。

ベスト・プラクティス

ターゲット・ビューポイントから除外するノードのプロパティ値および子関係を保持する場合は、サブスクリプションで「含まれるアクション」フィルタから「削除」アクションを除去して、ノードが除去されるのみにすることをお薦めします。アクションによるフィルタリングを参照してください。

考慮事項

  • ソース・ビューポイントのノード・タイプからブールまたはリストのデータ型プロパティを使用して、包含プロパティ・フィルタを構成できます。

    Note:

    既存のプロパティを包含プロパティとして構成したり、新規プロパティを作成してこのサブスクリプションの包含プロパティとして使用できます。プロパティの手動での作成を参照してください。
  • 包含プロパティには、「なし」または「指定済」のデフォルト・タイプを設定できます。次のシナリオでは、「指定済」デフォルト・タイプが役立ちます:
    • デフォルトで、サブスクリプションのすべてのノードを含め、含めないノードを明示的に指定します。ノードを含めるようにデフォルト値を設定して(ブールの値がTrueであるか、またはリストの包含値を含める)、除外するノードのプロパティのみを変更できます。
    • デフォルトで、サブスクリプションのすべてのノードを除外し、含めるノードを明示的に指定します。ノードを除外するようにデフォルト値を設定して(ブールの値がFalseであるか、またはリストの包含値を含めない)、含めるノードのプロパティのみを変更できます。

    デフォルト・タイプが「なし」の場合は、すべてのノードの包含プロパティ値を指定する必要があります。

  • 「派生」または「継承」はデフォルト・タイプにできません。プロパティを包含プロパティとして指定した後は、そのプロパティのデフォルト・タイプを「派生」または「継承」のいずれかに変更できません。

  • ノード式、最上位ノードおよびアクション・フィルタは、生成された要求アクションに適用されます。たとえば、ノードの包含プロパティは含めるように設定されているが、そのノードがサブスクリプションからフィルタリングで除外された最上位ノードの下にある場合、そのノードに対して要求アクションは生成されません。
  • ソース・ビューポイントの要求アクションの中には、ターゲット・ビューポイント内の同等のアクションに変換されるものがあります。

    • ソース・ビューポイントの包含値をFalseからTrueに変更する場合(またはリストの包含値を含める場合)、ノードがまだ存在しないと、そのノードはターゲット・ビューポイントに追加(または階層セットに挿入)されます。

    • ソース・ビューポイントの包含値をTrueからFalseに変更する場合(またはリストの包含値を含めない場合)、ノードがターゲット・ビューポイントに存在すると、そのノードは削除(または階層セットから除去)されます。

    • ソース・ビューポイントの包含値を変更しない場合、包含プロパティがTrueに設定されていると(またはリストの包含値を含めると)、ソース・ビューポイントで実行する要求アクションはターゲット・ビューポイントに伝播されます。

  • 共有ノードの場合(ターゲット・ビューポイントが階層のとき):
    • ソース・ビューポイントのノードを含めるまたは除外するように包含プロパティが更新された場合は、ノードのすべてのインスタンスに対して要求アクションが生成されます。
    • 包含プロパティが更新されず、ノードを含めるように設定された場合は、アクションが実行されたインスタンスに対してのみ要求アクションが生成されます。
    • 包含プロパティが更新されず、ノードを除外するように設定された場合、ノードのすべてのインスタンスに対して要求アクションは生成されません。

    たとえば、ソース・ビューポイントの親A、BおよびCの下に共有ノードがあるとします。

    • ソース・ビューポイントの親Aの下にノードを含めるように包含プロパティを更新する場合は、親Aの下にノードを追加し、ターゲット・ビューポイントの親BおよびCの下にノードを挿入するための要求アクションが生成されます。同様に、ソース・ビューポイントの親Aの下からノードを除外するように包含プロパティを更新する場合は、親Aの下からノードを削除し、ターゲット・ビューポイントの親BおよびCからノードを除去するための要求アクションが生成されます。
    • 包含プロパティを更新せず、ノードを含めるように設定された場合は、アクションを実行したノードのインスタンスに対してのみ要求アクションが生成されます。したがって、ソース・ビューポイントの親Bの下にあるノードのプロパティを編集した場合は、ターゲット・ビューポイントの親Bの下にあるノードの当該プロパティのみを変更するための要求アクションが生成されます。
    • 包含プロパティを更新せず、ノードを除外するように設定された場合、アクションを実行したソース・ビューポイントのインスタンスに関係なく、要求アクションは生成されません。

Tip:

サブスクライブしている複数のビューポイントがある場合、どのノードをどのビューポイントが受け取るかを判断するユーザーが1名のみ(サービス管理者など)のときは、リスト・データ型の包含プロパティを使用できます。複数の異なるユーザーが存在し、それぞれが管理するビューポイントにプロパティが送信されるかどうかを判断する場合は、複数のブール・データ型の包含プロパティを設定し、プロパティ・レベルのデータ・アクセスを使用して、ビューポイントのブール・プロパティを表示または編集できるユーザーを制御できます。

たとえば、Planning管理者のみが「Planningに含める?」プロパティを編集でき、連結管理者のみがソース・ビューポイントの「連結に含める?」プロパティを編集できるように、データ・アクセスを構成できます。包含プロパティの例ブール・データ型の包含プロパティの例を参照してください。

Note:

ブールまたはリストのデータ型のノード・レベル・プロパティの値に基づき、すでにノード条件を使用してサブスクリプションからノードをフィルタリングで除外している場合は(ノード条件の定義を参照)、ノード条件フィルタを包含プロパティ・フィルタに置換する必要があります。

関係レベル・プロパティに対してノード条件フィルタを使用している場合、関係レベル・プロパティに対して包含プロパティ・フィルタは作成できないため、既存のノード条件フィルタを保持する必要があります。

包含プロパティの構成

  1. 包含プロパティを構成するサブスクリプションを含むビューポイントを検査し、「サブスクリプション」タブをクリックします。
  2. サブスクリプションを新規作成するか、または既存のサブスクリプションを編集します。ビューポイントのサブスクライブを参照してください。
  3. 「フィルタ」タブで「編集」をクリックします。
  4. 「包含プロパティ」ドロップダウン・メニューから、包含プロパティとして構成するプロパティを選択します。選択できるのは、ブールまたはリストのデータ型のノード・プロパティのみです。
  5. 選択したプロパティがリスト・データ型の場合は、「包含値」に包含値を入力します(または、プロパティで許容値を使用している場合は、値を選択します)。

    Note:

    プロパティに許容値のアプリケーションまたはノード・タイプ・オーバーライドがある場合は、すべてのオーバーライドからすべての許容値を包含値として選択可能です。
  6. 「保存」をクリックします。