Partilhar via


O script básico de MDX (MDX)

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Um script MDX (Multidimensional Expressions) define o processo de cálculo para um cubo no Microsoft SQL Server SQL Server Analysis Services. Existem dois tipos de scripts MDX:

O script MDX padrão
No momento em que você cria um cubo, SQL Server Analysis Services cria um script MDX padrão para esse cubo. Esse script define uma passagem de cálculo para o cubo inteiro.

Script MDX definido pelo usuário
Depois que você criar um cubo, poderá adicionar scripts MDX definidos pelo usuário que ampliam os recursos de cálculo do cubo.

O script MDX padrão

O script MDX padrão que SQL Server Analysis Services cria quando você define um cubo contém uma única instrução CALCULATE. Essa única instrução CALCULATE fica no início do script MDX padrão e indica que o cubo inteiro deve ser calculado durante a primeira passagem de cálculo.

O script MDX padrão também contém comandos de script que criam conjuntos nomeados, atribuições e membros calculados criados no Designer de Cubo:

  • SQL Server Analysis Services adiciona comandos de script diretamente ao script MDX padrão.

  • Para cada conjunto nomeado do cubo, existe uma instrução CREATE SET correspondente no script MDX padrão.

  • Para cada membro calculado definido no cubo, existe uma instrução CREATE MEMBER correspondente no script MDX padrão.

Você controla a ordem de comandos de script, conjuntos nomeados e membros calculados no script MDX padrão usando a guia Cálculos do Designer de Cubo. Para obter mais informações sobre como definir cálculos armazenados no script MDX padrão, consulte Cálculos em modelos multidimensionais.

Se não houver um script MDX associado a um cubo, este assumirá o script MDX padrão. Um cubo precisa estar associado a pelo menos um script MDX porque o cubo depende do script MDX para determinar o comportamento do cálculo. Em outras palavras, um cubo que não foi associado a um script MDX ou foi associado a um script MDX vazio não poderia e não deveria ser capaz de calcular células. Se você criar cubos programaticamente, seja usando comandos do Analysis Services Scripting Language (ASSL) ou usando o Analysis Management Objects (AMO), é recomendável que você crie um script MDX padrão que contenha uma única instrução CALCULATE para o cubo.

Conteúdo do script MDX

Um script MDX pode conter as seguintes instruções e expressões:

Todas as instruções de script MDX
Em scripts MDX, as instruções de script MDX controlam o contexto e o escopo dos cálculos e gerenciam o comportamento de outras instruções do script MDX. Essa categoria inclui as seguintes instruções:

Para obter mais informações sobre instruções de script MDX, consulte Instruções de script MDX (MDX).

CREATE MEMBER
Uma instrução CREATE MEMBER cria membros calculados. Para obter mais informações sobre como criar membros calculados, consulte Criando membros calculados em MDX (MDX).

CREATE SET
A instrução CREATE SET cria conjuntos nomeados. Para obter mais informações sobre como criar conjuntos de nomes, consulte Criando conjuntos nomeados em MDX (MDX).

Instruções de condição
As instruções condicionais adicionam lógica condicional a scripts MDX. Essa categoria inclui as instruções CASE e IF .

Expressões de atribuição
Uma expressão de atribuição atribui uma expressão, como um valor, a um subcubo restrito. Uma expressão de subcubo restrito é uma coleção de expressões de conjunto restritas que definem as "bordas" de um subcubo em um script MDX. Os códigos a seguir mostram a sintaxe de uma expressão de subcubo restrito:

<Constrained subcube> ::= (   
    ( <Constrained set> [<Crossjoin operator> <Constrained set>...] |  
    <ROOT function> |  
    <TREE function> |  
    LEAVES() |  
    * ) [, <Constrained subcube>...]  
<Constrained set> ::=   
    <Natural hierarchy>.MEMBERS |   
    <Natural hierarchy>.LEVEL(<numeric expression>).MEMBERS |   
    { <Natural hierarchy member> } |   
    DESCENDANTS( <Natural hierarchy member>, <Level expression>, ( SELF | AFTER | SELF_AND_AFTER ) ) |   
    DESCENDANTS( <Natural hierarchy member>, , LEAVES )  
<Natural hierarchy> ::= <Hierarchy identifier>  
<Natural hierarchy member> ::= <Natural hierarchy>.<identifier>[.<identifier>...]  

Consulte Também

MDX (Referência de Linguagem MDX)
Conceitos básicos de geração de scripts MDX (Analysis Services)