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>

以下对象关键字中的一个:

  • 帐户

  • Custom1...4

  • Custom (自定义维标签)

  • 实体

  • 父代

Parent

有效父代成员的名称。(父代是必填项。)

Element

根据所选的对象,其值将是下列维之一的有效成员的名称:

  • 帐户

  • Custom1...4

  • 自定义

  • 实体

  • 父代

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