MDX-scripting - BEREIK

Beperkt de scope van gespecificeerde Multidimensional Expressions (MDX)-statements tot een gespecificeerde subkubus.

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

Arguments

Subcube_Expression
Een geldige MDX subcube-expressie.

MDX_Statement
Een geldige MDX-verklaring.

Common_Grain_Members
Een geldige MDX-instructie die evalueert naar leden met dezelfde korrel.

single_tuple
Een enkele tuple.

Remarks

De SCOPE-instructie bepaalt de subcube die wordt beïnvloed door het uitvoeren van één of meer MDX-instructies. Tenzij een MDX-instructie binnen een SCOPE-instructie is geframed, is de impliciete scope van een MDX-instructie de hele kubus.

Note

Verborgen leden worden blootgesteld in SCOPE-verklaringen.

SCOPE-instructies creëren subcubes die "gaten" blootleggen, ongeacht de MDX Compatibiliteitsinstelling . Bijvoorbeeld, de uitspraak Scope( Customer.State.members ), kan de staten omvatten in landen of regio's die geen staten bevatten, maar waarvoor anders onzichtbare tijdelijke leden zijn ingevoegd.

Berekende leden en benoemde sets die binnen een SCOPE-instructie worden aangemaakt, worden niet beïnvloed door de SCOPE-instructie.

Example

Het volgende voorbeeld, uit het MDX-berekeningsscript in de Adventure Works-voorbeeldoplossing, definieert de huidige scope als het boekjaar kwartaal in het boekjaar 2005 en de verkoopquota-maat, en wijst vervolgens een waarde toe aan de cellen in de huidige scope met behulp van de ParallelPeriod-functie . Het voorbeeld wijzigt vervolgens de scope met een andere SCOPE-instructie en voert vervolgens een nieuwe toewijzing uit met de This (MDX) -functie.

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 ;