MDX-Skripts – SCOPE

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.

Bemerkungen

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-Kompatibilitätseinstellung "Lücken" verfügbar machen. 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-Beispiellösung wird der aktuelle Bereich als Geschäftsquartal im Geschäftsjahr 2005 und das Sales Amount Quota Measure definiert. Anschließend wird den Zellen im aktuellen Bereich mithilfe der ParallelPeriod-Funktion ein Wert zugewiesen. Das Beispiel ändert dann den Bereich mithilfe einer anderen SCOPE-Anweisung und führt dann mithilfe der MdX-Funktion (This) eine weitere Zuweisung aus.

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 ;     

Weitere Informationen

MDX-Skriptanweisungen (MDX)