MDX 脚本语句 -- Scope

在多维表达式 (MDX) 中,下列语句用于管理 MDX 脚本中的上下文、做用域和流控制。编码

主题 说明
calculate语句 计算子多维数据集,还能够肯定子多维数据集中所包含的求解次序
case语句 容许有条件地从屡次比较中返回特定值
existing关键字 强制在当前上下文中计算所指定的集
freeze语句 将所指定子多维数据集的单元值锁定为其当前值
if语句 若是条件为真,则执行语句
scope语句 将指定MDX语句的做用域限制于指定的子多维数据集

示例:作用域

假设有一组指标:本来指标的“Act”、“QOF”和“AOP”值,就是这些度量值自己的Sum。it

可是对于某个维度指标“服务组滚动离职率”来讲,这三个度量值的计算公式则是“服务组滚动离职人数”(指标编码为205)/ 服务组平均在职人数(指标编码为24)。
如今使用Scope脚本实现上述功能:io

 
scopetable

(ast

{语法

   [Measures].[KPI Act]引用

  ,[Measures].[KPI Q0F]im

  ,[Measures].[KPI AOP]ember

  ,[Measures].[Forcast]

}

)

 

[KPI].[KPI Hierarchy].[KPI].&[209]=iif

(

         [KPI].[KPI Hierarchy].[KPI].&[24]=0

        ,null

        ,[KPI].[KPI Hierarchy].[KPI].&[205]/[KPI].[KPI Hierarchy].[KPI].&[24]

)


end scope

 

这样,若是将来使用指标“服务组滚动离职率”的“Act”等值的时候,其数值不是直接引用“Act”字段的值,而是上述计算公式计算之后获得的值。

 

附:脚本语法

Subcube_Expression ::=(Auxiliary_Subcube [, Auxiliary_Subcube,...n])

Auxiliary_Subcube ::=
Limited_Set
| Root([dimension_name])
| Leaves([dimension_name])

Limited_Set ::= single_tuple | member | Common_Grain_Members | hierarchy.members | level.members | {} | Descendants ( Member , [level [ , SELF | AFTER | BEFORE | SELF_AND_AFTER | SELF_AND_BEFORE | SELF_BEFORE_AFTER | LEAVES ] ) [* <limited set>]

相关文章
相关标签/搜索