Compartir a través de


El script MDX básico (MDX)

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

El script MDX predeterminado
En el momento de crear un cubo, 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 un cubo, puede agregar scripts MDX definidos por el usuario que amplíen las funcionalidades de cálculo del cubo.

Script MDX predeterminado

El script MDX predeterminado que Analysis Services crea al definir un cubo contiene una única instrucción CALCULATE. Esta única instrucción CALCULATE está al principio 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 contiene los comandos de script que crean conjuntos con nombre, asignaciones y miembros calculados, creados en el Diseñador de Cubos.

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

  • Para cada conjunto con nombre en el 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.

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

Si no hay ningún script MDX asociado a un cubo, el cubo asume el script MDX predeterminado. Un cubo debe asociarse con al menos un script MDX porque un cubo se basa en el script MDX para determinar el comportamiento de cálculo. En otras palabras, un cubo que no estaba asociado a un script MDX o que estaba asociado a un script MDX vacío no podía y no podía calcular ninguna celda. Si crea cubos mediante programación, ya sea mediante comandos de Analysis Services Scripting Language (ASSL) o mediante Analysis Management Objects (AMO), se recomienda crear un script MDX predeterminado que contenga una única instrucción CALCULATE para el cubo.

Contenido del script MDX

Un script MDX puede contener las siguientes instrucciones y expresiones:

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

Para obtener más información sobre las instrucciones de scripting MDX, consulte Instrucciones de scripting MDX (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 scripts MDX. Esta categoría incluye las instrucciones CASE e IF .

Expresiones de asignación
Una expresión de asignación asigna una expresión, como un valor, a un subcubo restringido. Una expresión de subcubo restringida es una colección de expresiones de conjunto restringidas que definen los "bordes" de un subcubo dentro de un script MDX. Los códigos siguientes muestran la sintaxis de una expresión de subcubo restringida:

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

Véase también

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