Creazione di script MDX - ambitoMDX Scripting - SCOPE

SI APPLICA A:sìSQL Server Analysis ServicesnoAzure Analysis ServicesAPPLIES TO:yesSQL Server Analysis ServicesnoAzure Analysis Services

Limita l'ambito delle istruzioni MDX (Multidimensional Expression) specificate a un sottocubo specifico.Limits the scope of specified Multidimensional Expressions (MDX) statements to a specified subcube.

SintassiSyntax


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

ArgomentiArguments

Subcube_ExpressionSubcube_Expression
Espressione di sottocubo MDX valida.A valid MDX subcube expression.

MDX_StatementMDX_Statement
Istruzione MDX valida.A valid MDX statement.

Common_Grain_MembersCommon_Grain_Members
Istruzione MDX valida che restituisce i membri allo stesso livello di dettaglio.A valid MDX statement that evaluates to members that have the same grain.

single_tuplesingle_tuple
Una tupla singola.A single tuple.

OsservazioniRemarks

L'istruzione SCOPE determina il sottocubo che interessato dall'esecuzione di una o più istruzioni MDX.The SCOPE statement determines the subcube that will be affected by the running of one or more MDX statements. Se l'istruzione MDX non è racchiusa all'interno di un'istruzione SCOPE, il suo ambito implicito è l'intero cubo.Unless an MDX statement is framed within a SCOPE statement, the implicit scope of an MDX statement is the entire cube.

Nota

In una istruzione SCOPE i membri nascosti vengono esposti.Hidden members are exposed in SCOPE statements.

Istruzioni SCOPE creano sottocubi che espongono "fori" indipendentemente la MDX Compatibility impostazione.SCOPE statements will create subcubes that expose "holes" regardless of the MDX Compatibility setting. 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.For example, the statement, Scope( Customer.State.members ), can include the states in countries or regions that do not contain states, but for which otherwise invisible placeholder members were inserted.

L'istruzione SCOPE non ha effetto sui membri calcolati e sui set denominati creati all'interno dell'istruzione SCOPE.Calculated members and named sets created within a SCOPE statement are unaffected by the SCOPE statement.

EsempioExample

L'esempio seguente, da script di calcolo MDX della soluzione di esempio Adventure Works, definisce l'ambito corrente come trimestre fiscale dell'anno fiscale 2005 e la misura di sales amount quota e quindi assegna un valore per le celle nell'ambito corrente utilizzando il ParallelPeriod (funzione).The following example, from the MDX calculation script in the Adventure Works sample solution, defines the current scope as fiscal quarter in fiscal year 2005 and the sales amount quota measure, and then assigns a value to the cells in the current scope by using the ParallelPeriod function. Nell'esempio viene quindi modificato l'ambito utilizzando un'altra istruzione SCOPE e quindi esegue un'altra assegnazione mediante il This (MDX) (funzione).The example then modifies the scope using another SCOPE statement, and then performs another assignment using the This (MDX) function.

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

Istruzioni di Scripting MDX ( MDX )MDX Scripting Statements (MDX)