MDX-Skripts – SCOPEMDX Scripting - SCOPE

Beschränkt den Bereich angegebener MDX-Anweisungen (Multidimensional Expressions) auf einen angegebenen Teilcube.Limits the scope of specified Multidimensional Expressions (MDX) statements to a specified subcube.

SyntaxSyntax

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

ArgumenteArguments

Subcube_ExpressionSubcube_Expression
Ein gültiger MDX-Teilcubeausdruck.A valid MDX subcube expression.

MDX_StatementMDX_Statement
Eine gültige MDX-Anweisung.A valid MDX statement.

Common_Grain_MembersCommon_Grain_Members
Eine gültige MDX-Anweisung, die zu Elementen derselben Granularität ausgewertet wird.A valid MDX statement that evaluates to members that have the same grain.

single_tuplesingle_tuple
Ein einzelnes Tupel.A single tuple.

BemerkungenRemarks

Die SCOPE-Anweisung bestimmt den Teilcube, auf den sich die Ausführung mindestens einer MDX-Anweisung auswirkt.The SCOPE statement determines the subcube that will be affected by the running of one or more MDX statements. Wenn eine MDX-Anweisung nicht in eine SCOPE-Anweisung eingeschlossen ist, besteht der implizite Bereich der MDX-Anweisung im gesamten Cube.Unless an MDX statement is framed within a SCOPE statement, the implicit scope of an MDX statement is the entire cube.

Hinweis

Ausgeblendete Elemente werden in SCOPE-Anweisungen verfügbar gemacht.Hidden members are exposed in SCOPE statements.

SCOPE-Anweisungen erstellen Teilcubes, die unabhängig von der MDX-Kompatibilitäts Einstellung "Löcher" verfügbar machen.SCOPE statements will create subcubes that expose "holes" regardless of the MDX Compatibility setting. 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.For example, the statement, Scope( Customer.State.members ), can include the states in countries or regions that do not contain states, but for which otherwise invisible placeholder members were inserted.

Berechnete Elemente und benannte Mengen, die in einer SCOPE-Anweisung erstellt wurden, sind von der SCOPE-Anweisung nicht betroffen.Calculated members and named sets created within a SCOPE statement are unaffected by the SCOPE statement.

BeispielExample

Im folgenden Beispiel wird aus dem MDX-Berechnungs Skript in der Adventure Works-Beispiellösung 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.The following example, from the MDX calculation script in the Adventure Works sample solution, defines the current scope as fiscal quarter in fiscal year 2005 and the sales amount quota measure, and then assigns a value to the cells in the current scope by using the ParallelPeriod function. Anschließend ändert das Beispiel den Bereich mithilfe einer anderen SCOPE-Anweisung und führt dann mithilfe der this (MDX) -Funktion eine weitere Zuweisung durch.The example then modifies the scope using another SCOPE statement, and then performs another assignment using the This (MDX) function.

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 InformationenSee Also

MDX-Skriptanweisungen (MDX)MDX Scripting Statements (MDX)