IsDescendant

現在のメンバーまたは指定したメンバーが、指定した親の子孫であるかどうかを調べます。この関数は、次のタイプのルールで使用できます:

  • 計算

  • 換算

  • 連結

  • 配賦

    注:

    メンバーがツリー階層で親の下位レベルにある場合、そのメンバーは子孫です。子孫は、ツリーの同じ分岐内にあります。

たとえば、次の階層では、FosterCityとSunnyvaleはCaliforniaおよびUnitedStatesの子孫です。


階層の子孫

構文

HS.<Object>.IsDescendant("Parent","Element")
HS.Node.IsDescendant("Parent"."Entity","S#Scenario.Y#Year.P#Period")
HS.<Object>.IsDescendant("Parent","")
HS.Custom(Dimension).IsDescendant(Member)

注:

この関数を現在のメンバーに適用するには、空白の文字列("")を使用します。

表11-33 IsDescendant関数の構文

パラメータ 説明

<Object>

次のオブジェクトのキーワードのいずれか:

  • Account

  • Custom1...4

  • Custom (カスタム・ディメンション・ラベル)

  • Entity

  • Parent

Parent

有効な親メンバーの名前。親は必須です。

Element

次のいずれかのディメンションの有効なメンバーの名前。選択したオブジェクトによって異なります。

  • Account

  • Custom1...4

  • カスタム

  • Entity

  • Parent

Entity

エンティティ・ディメンションの有効なメンバーの名前。

Scenario

シナリオ・ディメンションの有効なメンバーの名前。

Year

有効な年。

Period

有効な期間。

注:

ノードをオブジェクトとして使用する場合は、メンバーが指定した親のアクティブな子孫であるかどうかが判断されます。

戻り値

要素が指定した親の子孫である場合にTRUEとなり、そうでない場合にFALSEとなるブール式。

ノードの場合は、要素が指定した親のアクティブな子孫である場合にTRUEとなり、そうでない場合にFALSEとなります。

この例では、ConnecticutがRegionalの子孫であると、If...Then行とEnd If行の間にあるすべての文が実行されます。

If HS.Entity.IsDescendant("Regional","Connecticut") = TRUE Then
  ...
End If
If HS.Custom("Prod").IsDescendant("All_Phones", P3000_Phones")
...
End If