Share via


Script MDX básico (MDX)

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Un script de expresiones multidimensionales (MDX) define el proceso de cálculo de un cubo en Microsoft SQL Server SQL Server Analysis Services. Hay dos tipos de scripts MDX:

Script MDX predeterminado
En el momento de crear un cubo, SQL Server Analysis Services crea un script MDX predeterminado para ese cubo. Este script define un paso de cálculo para todo el cubo.

Script MDX definido por el usuario
Después de crear el cubo, se pueden agregar scripts MDX definidos por el usuario que amplían las capacidades de cálculo del cubo.

Script MDX predeterminado

El script MDX predeterminado que SQL Server Analysis Services crea al definir un cubo contiene una sola instrucción CALCULATE. Esta única instrucción CALCULATE se ubica al comienzo del script MDX predeterminado e indica que todo el cubo debe calcularse durante el primer paso de cálculo.

El script MDX predeterminado también incluye los comandos que crean conjuntos con nombre, asignaciones y miembros calculados creados en el Diseñador de cubos:

  • SQL Server Analysis Services agrega directamente comandos de script al script MDX predeterminado.

  • Para cada conjunto con nombre del cubo existe una instrucción CREATE SET correspondiente en el script MDX predeterminado.

  • Para cada miembro calculado definido en el cubo existe una instrucción CREATE MEMBER correspondiente en el script MDX predeterminado.

Para controlar el orden de los comandos de script, conjuntos con nombre y miembros calculados del script MDX predeterminado puede utilizar la pestaña Cálculos del Diseñador de cubos. Para más información sobre cómo definir los cálculos almacenados en el script MDX predeterminado, vea Cálculos en modelos multidimensionales.

Si no se asocia ningún script MDX a un cubo, éste asume el script MDX predeterminado. Es necesario asociar los cubos a un script MDX como mínimo, ya que los cubos se basan en estos scripts para determinar el comportamiento del cálculo. Es decir, un cubo que no se haya asociado a ningún script MDX o que se haya asociado a un script MDX vacío no podría calcular ninguna celda. Si crea los cubos mediante programación, mediante comandos ASSL (Analysis Services Scripting Language) o mediante los Objetos de administración de análisis (AMO), se recomienda crear un script MDX predeterminad que contenga una única instrucción CALCULATE para el cubo.

Contenido del script MDX

Un script MDX puede incluir las siguientes instrucciones y expresiones:

Todas las instrucciones de scripting MDX
En los scripts MDX, las instrucciones de scripting MDX controlan el contexto y el ámbito de los cálculos y administran el comportamiento de otras instrucciones del script MDX. Esta categoría incluye las siguientes instrucciones:

Para obtener más información sobre las instrucciones de scripting MDX, vea MDX Scripting Statements (MDX).

CREATE MEMBER
La instrucción CREATE MEMBER crea miembros calculados. Para obtener más información sobre cómo crear miembros calculados, vea Building Calculated Members in MDX (MDX).

CREATE SET
La instrucción CREATE SET crea conjuntos con nombre. Para obtener más información sobre cómo crear conjuntos de nombres, vea Building Named Sets in MDX (MDX).

Instrucciones condicionales
Las instrucciones condicionales agregan lógica condicional a los scripts MDX. En esta categoría se incluyen las instrucciones CASE e IF .

Expresiones de asignación
Las expresiones de asignación asignan una expresión, como un valor, a los subcubos restringidos. Una expresión de subcubo restringido es una colección de expresiones de conjunto restringidas que definen los "bordes" de un subcubo de un script MDX. En los siguientes ejemplos de código se muestra la sintaxis de una expresión de subcubo restringido:

<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 también

Referencia del lenguaje MDX (MDX)
Aspectos básicos de scripting MDX (Analysis Services)