Compartir a través de


Secuencia de comandos MDX básica (MDX)

Una secuencia de comandos de expresiones multidimensionales (MDX) define el proceso de cálculo de un cubo en Microsoft SQL Server 2005 Analysis Services (SSAS). Hay dos tipos de secuencias de comandos MDX:

  • Secuencia de comandos MDX predeterminada
    Al crear un cubo, Analysis Services crea una secuencia de comandos MDX predeterminada para el mismo. Esta secuencia de comandos define un paso de cálculo para todo el cubo.
  • Secuencia de comandos MDX definida por el usuario
    Después de crear el cubo, se pueden agregar secuencias de comandos MDX definidas por el usuario que amplían las capacidades de cálculo del cubo.

Secuencia de comandos MDX predeterminada

La secuencia de comandos MDX predeterminada que crea Analysis Services al definir un cubo contiene una sola instrucción CALCULATE. Esta única instrucción CALCULATE se ubica al comienzo de la secuencia de comandos MDX predeterminada e indica que todo el cubo debe calcularse durante el primer paso de cálculo.

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

  • Analysis Services agrega directamente comandos a la secuencia de comandos MDX predeterminada.
  • Para cada conjunto con nombre del cubo existe una instrucción CREATE SET correspondiente en la secuencia de comandos MDX predeterminada.
  • Para cada miembro calculado definido en el cubo existe una instrucción CREATE MEMBER correspondiente en la secuencia de comandos MDX predeterminada.

Para controlar el orden de los comandos de secuencias de comandos, conjuntos con nombre y miembros calculados de la secuencia de comandos MDX predeterminada puede utilizar la pestaña Cálculos del Diseñador de cubos. Para obtener más información sobre cómo definir los cálculos almacenados en la secuencia de comandos MDX predeterminada, vea Definir y configurar un cálculo.

Si no se asocia ninguna secuencia de comandos MDX a un cubo, éste asume la secuencia de comandos MDX predeterminada. Es necesario asociar los cubos a una secuencia de comandos MDX como mínimo, ya que los cubos se basan en estas secuencias de comandos para determinar el comportamiento del cálculo. Es decir, un cubo que no se haya asociado a ninguna secuencia de comandos MDX o que se haya asociado a una secuencia de comandos MDX vacía 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 una secuencia de comandos MDX predeterminada que contenga una única instrucción CALCULATE para el cubo.

Contenido de las secuencias de comandos MDX

Una secuencia de comandos MDX puede incluir las siguientes instrucciones y expresiones:

  • Todas las instrucciones de secuencias de comandos MDX
    En las secuencias de comandos MDX, las instrucciones de las secuencias MDX controlan el contexto y el ámbito de los cálculos y administran el comportamiento de otras instrucciones de la secuencia de comandos MDX. Esta categoría incluye las siguientes instrucciones:

    Para obtener más información acerca de las instrucciones de las secuencias de comandos MDX, vea Instrucciones para secuencias de comandos de MDX (MDX).

  • Instrucciones condicionales
    Las instrucciones condicionales agregan lógica condicional a las secuencias de comandos 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 una secuencia de comandos 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>...]
    

Vea también

Conceptos

Referencia del lenguaje MDX (MDX)
Aspectos básicos de las secuencias de comandos MDX (MDX)

Ayuda e información

Obtener ayuda sobre SQL Server 2005