Compartilhar via


Instrução SCOPE (MDX)

Limita o escopo de instruções MDX especificadas a um subcubo especificado.

Sintaxe

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
    Uma expressão de subcubo do MDX válida.

  • MDX_Statement
    Uma instrução MDX válida.

  • Common_Grain_Members
    Uma instrução MDX que é avaliada como membros que tem o mesmo grão.

  • single_tuple
    Uma única tupla.

Comentários

A instrução SCOPE determina o subcubo que será afetado pela execução de uma ou mais instruções MDX. A menos que uma instrução MDX seja incluída em uma instrução SCOPE, o escopo implícito de uma instrução MDX é o cubo inteiro.

ObservaçãoObservação

Membros escondidos estão expostos em instruções SCOPE.

As instruções SCOPE criarão subcubos que expõem "intervalos", independentemente da configuração MDX Compatibility. Por exemplo, a instrução Scope( Customer.State.members ) pode incluir os estados nos países ou regiões que não contêm os estados, mas para os quais os membros de placeholder invisíveis foram inseridos.

Os membros calculados e os conjuntos nomeados criados em uma instrução SCOPE não são afetados por essa instrução.

Exemplo

O exemplo a seguir, a partir do script de cálculo do MDX na solução de exemplo Adventure Works, define o escopo atual como o trimestre fiscal no ano fiscal 2005 e a medida Cota do Valor de Vendas e, em seguida, atribui um valor às células no escopo atual, usando a função ParallelPeriod. O exemplo modifica o escopo usando outra instrução SCOPE e, em seguida, executa outra atribuição usando a função 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 ;   

Consulte também

Outros recursos