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.

HinweisHinweis

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 ;   

Siehe auch

Andere Ressourcen