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>]

相關文章
相關標籤/搜索