聚合结构导航函数说明

Parent 函数

元素 描述
可用性 从 3.0903 起
语法 parent
返回值 定义了高级选择的元素或节点的父节点

示例

$Entity.parent.code

返回过滤器中指定的实体的父节点的代码。

Children 函数

元素 描述
可用性 从 3.0903 起
语法 children([scenario],[period])
场景 - scenario(可选)场景代码 - period(可选)期间代码
返回值 应用该函数的节点的元素和/或子节点。如果函数应用于元素而非节点,则返回该元素。

示例

  • $Entity.children

返回指定实体层次节点的子元素。

  • $Entity.children(2013ACT,03)

返回为场景 2013ACT 的期间 03 指定的时间相关实体层次节点的子元素。

Lowest 函数

元素 描述
可用性 从 3.0903 起
语法 lowest[scenario],[period],[restrictions]
参数 - scenario(可选)场景代码 - period(可选)期间代码 - restrictions(可选)这些参数根据现有过滤器"细分"部署结果。可以激活或停用它们。激活或停用它们的语法如下: *"nomeLimitazione1:=TRUE
返回值 应用该函数的节点的最低层级元素。如果应用于元素,则返回该元素。

示例

  • $Entity.lowest

返回过滤器中指定的实体层次节点的最低层级元素。

  • $Entity.lowest(2013ACT,03)

返回为场景 2013ACT 的期间 03 在过滤器中指定的时间相关实体层次节点的最低层级元素。

  • $Entity.lowest(EntityAccountCustom1Lim := FALSE;IntersectionLim := FALSE)

返回过滤器中指定的实体层次节点的最低层级元素,不考虑实体与自定义维度 1 之间的限制。忽略可能来自其他层次的实体维度上的过滤器。

Root 函数

元素 描述
可用性 从 3.0903 起
语法 root
返回值 节点或元素所属层次的根节点

示例

$Entity.root.code

返回过滤器中指定的实体层次的根节点的代码。

All 函数

元素 描述
可用性 从 3.0903 起
语法 all
返回值 过滤器中指定的维度的节点和最低层级元素

示例

$Entity.all.code

返回过滤器中指定的实体层次的所有最低层级元素和节点的代码。

Ancestor 函数

元素 描述
可用性 从 3.0903 起
语法 Ancestor(ancestorLevel)
参数 ancestorLevel 层次层级
返回值 祖先层级 ancestorLevel。如果参数超出层次根节点,则返回空集。

示例

  • $Entity.ancestor(1).code

返回实体的父节点的代码。Ancestor(1) 等同于 parent 函数。

  • $Entity.ancestor(2).code

返回应用该函数的实体的祖父节点的代码。

AllAncestors 函数

元素 描述
可用性 从 3.0903 起
语法 AllAncestors(ancestorLevel)
参数 ancestorLevel 层次层级
返回值 直到 ancestorLevel 的所有祖先。如果参数超出层次根节点,系统将返回直到根节点(含)的所有祖先节点

示例

$Entity.allancestors(2).code

返回应用该函数的实体的父节点和祖父节点的代码。

Descendants 函数

元素 描述
可用性 从 3.0903 起
语法 Descendants(descLevel)
参数 descLevel 层次层级
返回值 后代层级 descLevel。如果参数超出层次最低层级元素的层级,系统将返回空集

示例

  • $Entity.descendants(1).code

返回应用该函数的实体节点的元素和/或子节点的代码。Descendants(1) 等同于 children 函数。

  • $Entity.descendants(2).code

返回应用该函数的实体节点的元素和/或孙节点的代码。

AllDescendants 函数

元素 描述
可用性 从 3.0903 起
语法 AllDescendants(descLevel)
参数 descLevel 层次层级
返回值 直到 descLevel 层级的所有后代。如果参数超出层次最低层级元素的层级,系统将返回直到最低层级元素(含)的所有后代节点和叶子。

示例

$Entity.alldescendants(2).code

返回应用该函数的实体节点的元素和/或子节点和孙节点的代码。

Complementary 函数

元素 描述
可用性 从 3.0903 起
语法 Complementary(ancestorLevel)
参数 ancestorLevel 层次层级
返回值 过滤器中存在的元素的互补元素,相对于 ancestorLevel 参数指定的祖先节点计算。

示例

$Entity.complementary(1).code

返回属于过滤器中指定的实体的父节点子树的实体的代码。

Siblings 函数

元素 描述
可用性 从 3.0903 起
语法 siblings
参数 ancestorLevel 层次层级
返回值 应用该函数的元素的同级元素,包括该元素本身。如果要排除起始元素,可以使用集合之间的差集运算符将其从返回的集合中移除。

示例

  • $Entity.siblings.code

返回应用该函数的元素的同级元素的代码,包括该元素本身。

  • $Entity.siblings.code - $Entity.code

返回应用该函数的元素的同级元素的代码,不包括该元素本身。

OnlyLeafs/OnlyNodes 函数

元素 描述
可用性 从 3.0903 起
语法 onlyLeafs, onlyNodes
返回值 集合中仅有的叶子(最低层级元素)和节点

示例

  • $Entity.children.onlyLeafs

仅返回当前实体节点的子节点中的叶子,排除节点。

  • $Entity.children.onlyNodes

仅返回当前实体节点的子节点中的节点,排除叶子。

GetLeafs/GetNode 函数

元素 描述
可用性 从 3.0903 起
语法 getLeaf(code), getNode(code)
参数 - code. 要检索的叶子和节点的代码
返回值 以参数形式指定代码的叶子或节点,位于应用这些函数的节点所在的同一层次中

示例

  • $Entity.getLeaf("10")

仅返回当前实体所属层次中代码为 "10" 的叶子。

  • $Entity.getNode("01").lowest

返回当前实体所属层次中代码为 "01" 的节点的所有叶子。

  • $Category.getLeaf("C1")

返回类别 C1。

重要:在叶子的分组中,可能有多个节点与之相关。在这种情况下,表达式会为该叶子所关联的每个节点返回重复的叶子。若要取其中之一,请使用 trimSet 函数。

  • $Category.getLeaf("C1").trimSet(1).code

仅返回代码为 C1 的叶子的第一次出现

IsLeaf 函数

元素 描述
可用性 从 3.0903 起
语法 isLeaf
返回值 如果是叶子则返回 1,否则返回 0。如果该函数应用于包含多个元素的集合,系统将返回错误

示例

$Entity.isLeaf

如果实体维度是叶子,则返回 1。

Level 函数

元素 描述
可用性 从 3.0903 起
语法 Level
返回值 表示层次中嵌套层级的整数。层次的根为第 1 级,其子级为第 2 级,依此类推。此函数适用于通过样式表使用条件表达式为层次的各个层级应用不同的格式。从版本 1109P 起,如果应用于以下对象,该函数返回 0: - 行或列占位符 - 在启用数据录入中插入新元素的可能性时自动创建的 "+" 行/列

示例

$Entity.level

如果实体维度是层次根的子节点的叶子,则返回 3。

This 函数

元素 描述
可用性 从 3.0903 起
语法 this
返回值 在行/列筛选器树中指定的、已应用高级选择的节点

示例

this.lowest

返回用作行/列筛选器并已在其上定义高级选择的节点的叶子。

Select 函数

元素 描述
可用性 从 3.0903 起
语法 - select (field, operator, value) - select (condition)
参数 - field 要与 value 进行比较的维度属性(可使用字符串操作函数进行管理) - operator 比较逻辑运算符 - value 要与 field 进行比较的字符串或变量 - condition 逻辑表达式,对应用公式的集合中的每个元素返回真/假结果。如果需要在字符串表达式中使用引号,请使用常量 QT。
返回值 满足通过三个参数(field、operator、value)或单个参数(condition)定义的条件的集合元素

示例

  • $Entity.lowest.select("$Entity.attribute1", "=", "A")

返回起始节点中属性 1 的值为 "A" 的叶子。

  • $Entity.children.select("$Entity.lowest.size > 3")

返回起始节点中关联叶子数超过 3 的子节点。

  • $Entity.children.select("LEFT($Entity.code,3)=" + QT + "000" +QT)

返回起始节点中代码以 "000" 开头的子节点。

Sort 函数

元素 描述
可用性 从 3.0903 起
语法 sort(expression, ["DESC"])
参数 - expression 用于执行排序所依据的表达式 - "DESC"(可选)预定义排序为升序;如果指定了 "DESC",则变为降序
返回值 根据 expression 参数排序的集合元素列表

示例

  • $Entity.children.sort("$Entity.attribute1"

根据自定义 1 属性按升序对实体筛选器的子节点进行排序。

  • $Entity.children.sort("$Entity.attribute1", "DESC")

根据自定义 1 属性按降序对实体筛选器的子节点进行排序。

  • $Entity.children.sort("$Entity.children.size" , "DESC").sort( "$Entity.attribute1")

根据自定义 1 属性按升序对实体筛选器的子节点进行排序。如果属性 1 的值保持不变,则按降序对相关元素的子节点数量进行排序。

SetEditability 函数

元素 描述
可用性 从 3.0903 起
语法 - setEditability(editMode, field, operator, value) - setEditability(editMode, condition)
参数 - editMode 要分配给元素的可编辑性类型。可设置为 "editable" 或 "e"、"protected" 或 "p" 以及 "readonly" 或 "ro" - field 要与 value 进行比较的维度属性(可使用字符串操作函数进行管理) - operator 比较逻辑运算符 - value 要与 field 进行比较的字符串或变量 - condition 逻辑表达式,对应用公式的集合中的每个元素返回真/假结果。如果需要在字符串中使用引号,请使用常量 QT
返回值 将指定的可编辑性类型分配给满足通过三个参数(field、operator、value)或单个参数(condition)定义的条件的集合元素。只能按照以下规则覆盖可编辑性: - 如果起始节点在矩阵向导中已指示为 "未指定" 或 "可编辑",则可以用任何可编辑性类型覆盖 - 如果起始节点指示为 "受保护",则只能使其变为不可编辑 - 如果起始节点已指示为 "不可编辑",则无法使用此函数更改其可编辑性。

示例

  • myAccountsSet.setEditability("readonly", "LEFT($Account.code,3)", "<=", "000")

使集合中代码以 "000" 开头的科目变为不可编辑。

  • myAccountsSet.setEditability("readonly", "$Account.code.length <= 5")

使集合中代码长度少于 5 个字符的科目变为不可编辑。

OrFilter 函数

元素 描述
可用性 从 3.0903 起
语法 orFilter(element1, element2, ... elementN)
参数 - element1 将构成最终筛选器的一部分。可定义为引号之间的字符串或维度函数 - element2 同上
返回值 通过 OR 关系组合作为参数处理的元素而获得的单个筛选器。如果其中一个参数是集合,则在集合的所有元素之间建立 OR 关系。

示例

  • OrFilter($Entity.getLeaf(“01“), $Entity.getLeaf(“02“))

在实体 01 和 02 之间建立 OR 关系。

  • OrFilter($Entity.children)

在应用该函数的实体层次的节点的子节点之间建立 OR 关系。

也可以写为:$Entity.children.orFilter()。

ContainedFilter 函数

元素 描述
可用性 从 3.0903 起
语法 containedFilters(orFilter)
参数 orFilter 由使用 OR 关系组合的一组筛选器构成的筛选器
返回值 反向 orFilter 函数。返回作为参数处理的筛选器中的 OR 筛选器集合

示例

$Dest1.containedFilters.lowest.code

获取 OR 子句并从中获得最初涉及的最低层级元素。

SyntheticSchema 函数

元素 描述
可用性 从 3.0903 起
语法 syntheticSchema(FSTCode)
参数 FSTCode 架构或 FST 项代码
返回值 以合成模式显示的架构或 FST 项

重要:请勿使用 select 函数及类似函数对此脚本的结果进行 "部分化"。如果脚本仅返回部分元素,某些 FST 项中存在的公式可能以未返回的元素为目标,这可能会在运行步骤中产生错误。

示例

SyntheticSchema(@SP)

生成指定为参数 SP 值的合成架构。

AnalyticalSchema 函数

元素 描述
可用性 从 3.0903 起
语法 analyticalschema(FSTCode)
参数 FSTCode 架构或 FST 项代码
返回值 以合成模式显示的架构或 FST 项

重要:请勿使用 select 函数及类似函数对此脚本的结果进行 "部分化"。如果脚本仅返回部分元素,某些 FST 项中存在的公式可能以未返回的元素为目标,这可能会在运行步骤中产生错误。

示例

AnalyticalSchema(@SP)

生成指定为参数 SP 值的分析架构。

ControlGroup 函数

元素 描述
可用性 从 3.0903 起
语法 controlGroupcontrolgroupCode
参数 controlgroupCode 控制组代码
返回值 在科目中详细列出的控制组

示例

ControlGroup(@CG)

生成指定为参数 CG 值的控制组的详细信息。

FromHierarchy

元素 描述
可用性 从 3.0903 起
语法 fromHierarchy(hierarchy_code)
参数 - hierarchy_code 层次代码
返回值 应用该函数的同一元素,但取自指定为参数的层次

示例

在实体维度上有一个代码为 "AG" 的 "地理区域" 层次,并且有一个筛选在另一个层次上的表单时,即使表单中未使用 "地理层次",也可以获得该实体所属的地理区域。

  • $Entity.fromHierarchy(“AG“)

返回用作筛选器的同一元素,但通过 "AG" 层次读取。

重要:如果它是一个节点,并且 "AG" 层次中不存在具有相同代码的节点,系统将返回警告,并且该单元格将不会被计算。

  • $Entity.fromHierarchy(“AG“).parent.code

返回筛选器中指定的实体所关联的 "AG" 层次节点的代码。