SCOPE-Anweisung (MDX)
Beschränkt den Bereich angegebener MDX-Anweisungen (Multidimensional Expressions) auf einen angegebenen Teilcube.
Syntax
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>]
Argumente
Subcube_Expression
Ein gültiger MDX-Teilcubeausdruck.MDX_Statement
Eine gültige MDX-Anweisung.Common_Grain_Members
Eine gültige MDX-Anweisung, die zu Elementen derselben Granularität ausgewertet wird.single_tuple
Ein einzelnes Tupel.
Hinweise
Die SCOPE-Anweisung bestimmt den Teilcube, auf den sich die Ausführung mindestens einer MDX-Anweisung auswirkt. Wenn eine MDX-Anweisung nicht in eine SCOPE-Anweisung eingeschlossen ist, besteht der implizite Bereich der MDX-Anweisung im gesamten Cube.
Hinweis |
---|
Ausgeblendete Elemente werden in SCOPE-Anweisungen verfügbar gemacht. |
SCOPE-Anweisungen erstellen Teilcubes, die unabhängig von der MDX Compatibility-Einstellung "Lücken" enthalten. So kann z. B. die Anweisung Scope( Customer.State.members ) die Staaten in Ländern oder Regionen einschließen, die keine Staaten enthalten, für die jedoch unsichtbare Platzhalterelemente eingefügt wurden.
Berechnete Elemente und benannte Mengen, die in einer SCOPE-Anweisung erstellt wurden, sind von der SCOPE-Anweisung nicht betroffen.
Beispiel
Im folgenden Beispiel aus dem MDX-Berechnungsskript in der Adventure Works-Beispielprojektmappe wird der aktuelle Bereich als Geschäftsquartal im Geschäftsjahr 2005 sowie das Sales Amount Quota-Measure definiert und dann mithilfe der ParallelPeriod-Funktion den Zellen im aktuellen Bereich ein Wert zugewiesen. Anschließend wird im Beispiel der Bereich mithilfe einer weiteren SCOPE-Anweisung geändert und dann eine weitere Zuweisung mithilfe der This (MDX)-Funktion vorgenommen.
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 ;