Condividi tramite


Scripting MDX - SCOPE

Limita l'ambito delle istruzioni MDX (Multidimensional Expression) specificate a un sottocubo specifico.

Sintassi

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

Argomenti

Subcube_Expression
Espressione di sottocubo MDX valida.

MDX_Statement
Istruzione MDX valida.

Common_Grain_Members
Istruzione MDX valida che restituisce i membri allo stesso livello di dettaglio.

single_tuple
Una tupla singola.

Osservazioni:

L'istruzione SCOPE determina il sottocubo che interessato dall'esecuzione di una o più istruzioni MDX. Se l'istruzione MDX non è racchiusa all'interno di un'istruzione SCOPE, il suo ambito implicito è l'intero cubo.

Nota

In una istruzione SCOPE i membri nascosti vengono esposti.

Le istruzioni SCOPE creeranno sottocubo che espongono "buchi" indipendentemente dall'impostazione di compatibilità MDX. L'istruzione Scope( Customer.State.members ), ad esempio, può includere gli stati per aree o paesi che non contengono stati ma al posto dei quali sono stati inseriti membri segnaposto altrimenti invisibili.

L'istruzione SCOPE non ha effetto sui membri calcolati e sui set denominati creati all'interno dell'istruzione SCOPE.

Esempio

L'esempio seguente, dallo script di calcolo MDX nella soluzione di esempio Adventure Works, definisce l'ambito corrente come trimestre fiscale nell'anno fiscale 2005 e la misura quota importo vendite e quindi assegna un valore alle celle nell'ambito corrente usando la funzione ParallelPeriod . L'esempio modifica quindi l'ambito usando un'altra istruzione SCOPE e quindi esegue un'altra assegnazione usando la funzione 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 ;     

Vedi anche

Istruzioni di scripting MDX (MDX)