Compartir a través de


Instrucción SCOPE (MDX)

Limita el ámbito de las instrucciones de Expresiones multidimensionales (MDX) especificadas a un subcubo especificado.

Sintaxis

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

Argumentos

  • Subcube_Expression
    Una expresión de subcubo de MDX válida.

  • MDX_Statement
    Una instrucción de MDX válida.

  • Common_Grain_Members
    Una instrucción de MDX válida que se evalúa como los miembros que tienen la misma granularidad.

  • single_tuple
    Una tupla sencilla.

Comentarios

La instrucción SCOPE determina el subcubo que se verá afectado por la ejecución de una o más de las instrucciones MDX. A menos que una instrucción MDX esté contenida en una instrucción SCOPE, el ámbito implícito de una instrucción MDX es la totalidad del cubo.

Nota

Los miembros oculto se exponen en las instrucciones SCOPE.

Las instrucciones SCOPE crearán subcubos que exponen "agujeros" con independencia de la configuración de MDX Compatibility. Por ejemplo, la instrucción Scope( Customer.State.members ) puede incluir estados de países o regiones que no contienen estados, pero para los que se han insertado miembros de marcadores de posición invisibles.

Los miembros calculados y los conjuntos con nombre creados en una instrucción SCOPE no se ven afectados por la instrucción SCOPE.

Ejemplo

El ejemplo siguiente, del script de cálculo MDX de la solución de ejemplo Adventure Works, define el ámbito actual como Fiscal Quarter del año fiscal 2005 y la medida Sales Amount Quota y, a continuación, asigna un valor a las celdas del ámbito actual mediante la función ParallelPeriod. Después, el ejemplo modifica el ámbito mediante otra instrucción SCOPE y, a continuación, realiza otra asignación mediante la función 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 ;   

Vea también

Otros recursos