現在のメンバーまたは指定したメンバーが、指定した親の子孫であるかどうかを調べます。この関数は、次のタイプのルールで使用できます:
計算
換算
連結
配賦
注:
メンバーがツリー階層で親の下位レベルにある場合、そのメンバーは子孫です。子孫は、ツリーの同じ分岐内にあります。
たとえば、次の階層では、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> |
次のオブジェクトのキーワードのいずれか:
|
Parent |
有効な親メンバーの名前。親は必須です。 |
Element |
次のいずれかのディメンションの有効なメンバーの名前。選択したオブジェクトによって異なります。
|
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