MDX 腳本 - SCOPE
將指定多維度運算式 (MDX) 語句的範圍限制為指定的 Subcube。
語法
SCOPE(Subcube_Expression)
[ MDX_Statement ]
END SCOPE
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>]
引數
Subcube_Expression
有效的 MDX Subcube 運算式。
MDX_Statement
有效的 MDX 語句。
Common_Grain_Members
評估為具有相同粒紋之成員的有效 MDX 語句。
single_tuple
單一 Tuple。
備註
SCOPE 語句會決定受一或多個 MDX 語句執行影響的 Subcube。 除非 MDX 語句是框架在 SCOPE 語句內,否則 MDX 語句的隱含範圍是整個 Cube。
注意
隱藏的成員會在 SCOPE 語句中公開。
SCOPE 語句會建立子庫,不論 MDX 相容性 設定為何 ,都會公開「漏洞」。 例如,語句 Scope( Customer.State.members )
可以包含不包含狀態之國家或地區的狀態,但插入了不可見的預留位置成員。
SCOPE 語句不會影響在 SCOPE 語句內建立的匯出成員和命名集。
範例
下列範例來自 Adventure Works 範例解決方案中的 MDX 計算腳本,使用 ParallelPeriod 函式,將目前的範圍定義為會計年度的會計季和銷售量配額量值,然後將值指派給目前範圍 中的資料格。 此範例接著會使用另一個 SCOPE 語句修改範圍,然後使用 This (MDX) 函式執行另一個指派 。
Scope
(
[Date].[Fiscal Year].&[2005],
[Date].[Fiscal].[Fiscal Quarter].Members,
[Measures].[Sales Amount Quota]
) ;
This = ParallelPeriod
(
[Date].[Fiscal].[Fiscal Year], 1,
[Date].[Fiscal].CurrentMember
) * 1.35 ;
/*-- Allocate equally to months in FY 2002 -----------------------------*/
Scope
(
[Date].[Fiscal Year].&[2002],
[Date].[Fiscal].[Month].Members
) ;
This = [Date].[Fiscal].CurrentMember.Parent / 3 ;
End Scope ;
End Scope ;