Condividi tramite


Istruzione SCOPE (MDX)

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

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 ;   
End Scope ;   

Vedere anche

Altre risorse