Condividi tramite


Istruzione SCOPE (MDX)

Data aggiornamento: 17 luglio 2006

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 creano sottocubi che espongono celle vuote indipendentemente da MDX Compatibility. L'istruzione Scope( Customer.State.members ), ad esempio, può includere gli stati per aree o paesi non suddivisi in stati. In questo caso, al posto degli stati sono presenti spazi vuoti.

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

Esempio

Nell'esempio seguente, appartenente allo script di calcolo MDX della soluzione di esempio Adventure Works, vengono definiti l'ambito corrente come trimestre fiscale nell'anno fiscale 2005 e la misura delle quote vendite e quindi viene assegnato un valore alle celle nell'ambito corrente mediante la funzione ParallelPeriod. Nell'esempio viene quindi modificato l'ambito utilizzando un'altra istruzione SCOPE e quindi viene eseguita un'altra assegnazione mediante 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 ;   

Vedere anche

Altre risorse

Istruzioni di scripting MDX (MDX)

Guida in linea e informazioni

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato:
  • Aggiornamento della sintassi e degli argomenti per maggiore chiarezza.
  • Aggiunta di esempi aggiornati.