MDX-skript – OMFÅNG

Begränsar omfattningen av specificerade Multidimensional Expressions (MDX)-satser till en specificerad delkub.

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
Ett giltigt MDX-subkubuttryck.

MDX_Statement
Ett giltigt MDX-uttalande.

Common_Grain_Members
Ett giltigt MDX-uttalande som utvärderar till medlemmar med samma korn.

single_tuple
En enda tuple.

Remarks

SCOPE-satsen bestämmer vilken subkub som påverkas av att en eller flera MDX-satser körs. Om inte ett MDX-uttalande ramas in i ett SCOPE-uttalande, är det implicita omfånget av ett MDX-uttalande hela kuben.

Note

Dolda medlemmar exponeras i SCOPE-uttalanden.

SCOPE-satser skapar subkuber som exponerar "hål" oavsett MDX-kompatibilitetsinställningen . Till exempel kan påståendet Scope( Customer.State.members ), , inkludera stater i länder eller regioner som inte innehåller stater, men för vilka annars osynliga platshållarmedlemmar har infogats.

Beräknade medlemmar och namngivna mängder skapade inom ett SCOPE-uttalande påverkas inte av SCOPE-satsen.

Example

Följande exempel, från MDX-beräkningsskriptet i Adventure Works-exempellösningen, definierar det aktuella omfånget som räkenskapskvartalet under räkenskapsåret 2005 och kvotmåttet för försäljningsmängden, och fördelar sedan ett värde till cellerna i det aktuella omfånget med hjälp av ParallelPeriod-funktionen . Exemplet modifierar sedan scope med en annan SCOPE-sats och utför sedan en ny tilldelning med funktionen This (MDX ).

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 ;