21
2011 [Introducción al Mdx]

Introducción al MDX

Embed Size (px)

Citation preview

Page 1: Introducción al MDX

2011

[Introducción al Mdx]

Page 2: Introducción al MDX

P á g i n a 2/ 21

I n t r o d u c c i ó n a l M D X

Contenido Conceptos Básicos ............................................................................................................................ 3

Dimensión ................................................................................................................................ 3 Atributo o Nivel de Dimensión ................................................................................................. 3 Miembro................................................................................................................................... 3 Medida ..................................................................................................................................... 3 Dimensión de medidas ............................................................................................................. 3 Grupo de medida ..................................................................................................................... 3 Miembro (ALL) .......................................................................................................................... 3 Miembro de datos .................................................................................................................... 3 Miembro Primario .................................................................................................................... 3 Miembro de hoja ...................................................................................................................... 3 Miembro secundario ................................................................................................................ 3 Atributo Clave .......................................................................................................................... 3 Atributo de granularidad .......................................................................................................... 4 Jerarquía de atributo ................................................................................................................ 4 Tupla ......................................................................................................................................... 4 Conjunto / Set .......................................................................................................................... 4 Eje ............................................................................................................................................. 4

Sintaxis básica de una consulta MDX ................................................................................................ 5 Sintaxis básica de una instrucción DDL MDX .................................................................................... 5 Operadores de sintaxis ..................................................................................................................... 6 Sintaxis MDX ..................................................................................................................................... 6

Sintaxis ..................................................................................................................................... 7 Filtros........................................................................................................................................ 7 Order ........................................................................................................................................ 8 TopCount y BottomCount ........................................................................................................ 9 CrossJoin .................................................................................................................................. 9

Funciones de tiempo más utilizadas .............................................................................................. 10 ParallelPeriod ......................................................................................................................... 10 PeriodsToDate ........................................................................................................................ 12 WTD, MTD, QTY, YTD ............................................................................................................. 12

Miembros calculados ...................................................................................................................... 12 Sustituir valores nulos ............................................................................................................ 13

Operadores ..................................................................................................................................... 13 Restar y Except ....................................................................................................................... 14 Operador de comparación ..................................................................................................... 15

Funciones ........................................................................................................................................ 15 Funciones de Matriz ............................................................................................................... 15 Funciones de Jerarquía .......................................................................................................... 15 Funciones de Nivel ................................................................................................................. 15 Funciones Lógicas ................................................................................................................... 16 Funciones de Miembro .......................................................................................................... 16 Funciones Numéricas ............................................................................................................. 17 Funciones de Conjunto........................................................................................................... 18 Funciones de Cadena ............................................................................................................. 20 Funciones de SubCubo ........................................................................................................... 21 Funciones de Tupla ................................................................................................................ 21 Otras Funciones...................................................................................................................... 21

Page 3: Introducción al MDX

P á g i n a 3/ 21

I n t r o d u c c i ó n a l M D X

Conceptos Básicos

Dimensión

Es un conjunto de atributos que se relacionan mediante una jerarquía y se relacionan a la vez con los hechos de la dimensión de medidas.

Atributo o Nivel de Dimensión

Es una o varias columnas de una tabla de dimensión. Puede ser un nombre de cliente, mes, producto, etc.

Miembro

Es un valor de atributo de dimensión, incluyendo las dimensiones de medidas. Un miembro de una jerarquía puede ser un nivel de hoja, un miembro primario, un miembro de datos o un miembro ‘ALL’.

Medida

Es un valor de una tabla de hechos, también se denomina hecho. Suelen ser valores numéricos, aunque pueden ser de cadena.

Dimensión de medidas

Contiene todas las medidas del cubo.

Grupo de medida

Colección de medidas relacionadas entre si.

Miembro (ALL)

Valor calculado de todos los miembros de una jerarquía de atributo o definida por el usuario.

Miembro de datos

Contiene el valor de datos de su miembro primario, en lugar de tener el valor agredado de los elementos secundarios.

Miembro Primario

Es un miembro de una jerarquía de elementos primarios y secundarios que contienen el valor agregado de sus elementos secundarios.

Miembro de hoja

Es un miembro de jerarquía que no contiene elementos secundarios

Miembro secundario

Es un miembro de jerarquía que está situado por debajo del un nivel superior.

Atributo Clave

Atributo con el que están relacionados directa o indirectamente los demás atributos de la dimensión. Este atributo también suele ser atributo de granularidad.

Page 4: Introducción al MDX

P á g i n a 4/ 21

I n t r o d u c c i ó n a l M D X

Atributo de granularidad

Es el atributo de una dimensión que vincula dicha dimensión con los hechos del grupo de medidas.

Jerarquía de atributo

Jerarquía de miembros de atributo que contiene los siguientes niveles:

Un Nivel hoja con los miembros de Hoja, cada elemento distintivo

Niveles Intermedios, en las jerarquías con elementos primarios y secundarios

Un nivel (ALL) opcional con el agregado de los miembros hoja de la jerarquía.

Tupla

Una tupla identifica de forma exclusiva a una celda según una combinación de miembros. Una tupla puede estar compuesta de varias dimensiones de medida, aunque solo una de cada una de las dimensiones del cubo.

Select

[Measures].[Internet Sales-Tax Amount] on Columns,

[Date].[Fiscal Year].Members on Rows

from [Analysis Services Tutorial]

Conjunto / Set

Es un ‘conjunto’ ordenado de tuplas con la misma dimensionalidad. Se utilizan llaves {} para designar el conjunto de tuplas.

Select

{

[Measures].[Internet Sales-Sales Amount],

[Measures].[Reseller Sales-Sales Amount]

}

on Columns,

{

(---Tupla multidimensional

[Date].[Calendar Year].[CY 2004],[Date].[Fiscal Year].&[2004]

)

}on Rows

from [Analysis Services Tutorial]

Eje

Es un grupo o colección de miembros de una o más dimensiones organizado como tuplas.

Select

{

[Measures].[Internet Sales-Sales Amount],

[Measures].[Reseller Sales-Sales Amount]

}

Page 5: Introducción al MDX

P á g i n a 5/ 21

I n t r o d u c c i ó n a l M D X

on Columns,

{(

[Date].[Calendar Year].[CY 2004]

)}

on Rows

from [Analysis Services Tutorial]

Sintaxis básica de una consulta MDX

[WITH [MEMBERS <nombre miembro> AS '<Expreción de valor>' |

SET <Nombre> as '<Expresión>'. . .]

SELECT [<Especificación de eje>[<Especificación de eje>. . .]]

FROM <Cubo>

[WHERE [<especificación de slicer>]]

WITH

La clausula opcional permite hacer calcular miembro o conjuntos con nombre durante el proceso de la consulta.

SELECT

Define los ejes e identifica los miembros de las dimensiones incluidas en los ejes de la consulta MDX

FROM

Cubo que se consulta, solo se puede especificar un cubo en cada consulta MDX.

Sintaxis básica de una instrucción DDL MDX

El lenguaje MDX proporciona también instrucciones del lenguaje de definición de datos DDL.

CREATE [GLOBAL | SESSION]

[MEMBER ... AS '' | SET ... AS '' ] ...

El alcance por defecto es SESSION para la definición, si el alcance es GLOBAL, la definicion es adjuntada permamentemente a la definición del cubo y es visible para todas las futuras sesiones de cliente. Para eliminar la definicion se denbe utilizar la instrucción DROP

DROP [MEMBER] | [SET]

En una instrucción Drop solo se pueden eliminar definiciones que se usen en la sesión

actual del cubo, solo se puede eliminar una definición en cada instrucción.

Page 6: Introducción al MDX

P á g i n a 6/ 21

I n t r o d u c c i ó n a l M D X

Operadores de sintaxis

Los operadores básicos son las llaves {}, las comas (,) y los dos puntos (:). Las llaves se utilizan para empaquetar conjuntos.

Select

{ --Conjunto

[Measures].[Internet Sales-Sales Amount],

[Measures].[Reseller Sales-Sales Amount]

}

on Columns,

--Tupla, no es necesaria

[Date].[Calendar Year].[CY 2004]

on Rows

from [Analysis Services Tutorial]

Los dos puntos designan rangos desde hasta.

Select

{ --Conjunto

[Measures].[Internet Sales-Sales Amount],

[Measures].[Reseller Sales-Sales Amount]

}

on Columns,

{[Date].[Calendar Year].[CY 2002] :

[Date].[Calendar Year].[CY 2004]}

on Rows

from [Analysis Services Tutorial]

Las comas se utilizan para listar un conjunto de tuplas.

Select

{ --Conjunto

[Measures].[Internet Sales-Sales Amount],

[Measures].[Reseller Sales-Sales Amount]

}

on Columns,

{[Date].[Calendar Year].[CY 2002],

[Date].[Calendar Year].[CY 2003],

[Date].[Calendar Year].[CY 2004]}

on Rows

from [Analysis Services Tutorial]

Sintaxis MDX

Page 7: Introducción al MDX

P á g i n a 7/ 21

I n t r o d u c c i ó n a l M D X

Sintaxis

La sintaxis es parecida a Sql, mediante un select se obtiene una tabla unidimensional con los datos que se extienden a lo largo de ella, en MDX se obtiene una tabla bidimensional.

Eje X

Eje Y Datos

La consulta básica es de la forma:

Select dimensión en Row,

Dimensión en Columns

from Cubo

where condicion

Filtros

Hay dos formas de aplicar filtros en las consultas. Los filtros se establecen mediante ‘Where’ como en Sql.

Slicer

SubSet de la información del cubo. Se definen slicers para algunas dimensiones y así poder recoger un área del cubo.

Select dimensión en Row,

Dimensión en Columns

from Cubo

where condicion

Filters

Los filtros permiten hacer una selección de los miembros a mostrar en función de una colección que se establece. Por ejemplo si se quiere mostrar importes mayores que una cifra.

Page 8: Introducción al MDX

P á g i n a 8/ 21

I n t r o d u c c i ó n a l M D X

A diferencia de slicer (implementado mediante WHERE) los filtros (Implementados mediante FILTER) no devuelven todo un área del cubo sino los miembros que satisfacen la condición.

Filter(Dimension.Jerarquia, Medidas.Valor> 1000)

Select

{[Measures].[Internet Sales-Sales Amount]}on Columns,

Filter([Product].[Product Name].members,

([Measures].[Internet Sales-Sales Amount]>10000

and [Product].[Category].CurrentMember.Name='Bikes'

and left([Product].[Product Name].CurrentMember.Name,4)='Road')

)on Rows

from [Analysis Services Tutorial]

Order

Los resultados, por defecto van ordenados alfabéticamente por alguna de las dimensiones , pero puede especificar otro orden. Se utiliza la función ORDER, que requiere tres parámetros, el conjunto a ordenar, la expresión por la cual se ordenará y el tipo de orden.

ASC

Ascendente respecto a las jerarquías

DESC

Descendente respeto a las jerarquías

BASC

Ascendente absoluto rompiendo (Breaking) las jerarquías.

BDESC

Descendente absoluto. El ejemplo anterior ordenado por importe de ventas.

Page 9: Introducción al MDX

P á g i n a 9/ 21

I n t r o d u c c i ó n a l M D X

Select

{[Measures].[Internet Sales-Sales Amount] }on Columns,

Order (

Filter([Product].[Product Name].members,

([Measures].[Internet Sales-Sales Amount]>10000

and [Product].[Category].CurrentMember.Name='Bikes'

and left([Product].[Product Name].CurrentMember.Name,4)='Road')

)

,[Measures].[Internet Sales-Sales Amount]

,ASC)

on Rows

from [Analysis Services Tutorial]

TopCount y BottomCount

Además de ordenar también podemos filtrar por los N primeros o últimos valores. Con estas funciones podremos coger los N primeros o últimos miembros de un conjunto.

TopCount(Conjunto Set,Limite,Medida de ordenación)

BottomCount(Conjunto Set,Limite,Medida de ordenación)

Select

{[Measures].[Internet Sales-Sales Amount]

}on Columns,

TopCount(

[Product].[Product Name].members

,10

,[Measures].[Internet Sales-Sales Amount]

)

on Rows

from [Analysis Services Tutorial]

Se puede establecer un filtro directamente en la función.

Select

{[Measures].[Internet Sales-Sales Amount]

}on Columns,

TopCount(

Filter([Product].[Product Name].members,

([Measures].[Internet Sales-Sales Amount]>10000

and [Product].[Category].CurrentMember.Name='Bikes'

and left([Product].[Product

Name].CurrentMember.Name,4)='Road'))

,10

,[Measures].[Internet Sales-Sales Amount]

)

on Rows

from [Analysis Services Tutorial]

CrossJoin

Con CrossJoin podemos cruzar dos conjuntos, es el producto cartesiano o cruzado de ambos conjuntos, similar a la JOIN en SQL.

Page 10: Introducción al MDX

P á g i n a 10/ 21

I n t r o d u c c i ó n a l M D X

CrossJoin(Set,Set)

Select

[Measures].[Internet Sales-Sales Amount] on Columns,

CrossJoin(

[Date].[Calendar Year].Members,

[Product].[Category].Members,

[Product].[Product Line].Members

) on Rows

From

[Analysis Services Tutorial]

También se puede hacer con el operador por ‘*’.

Select

[Measures].[Internet Sales-Sales Amount] on Columns,

[Date].[Calendar Year].Members

*

[Product].[Category].Members

*

[Product].[Product Line].Members

) on Rows

From

[Analysis Services Tutorial]

Funciones de tiempo más utilizadas

ParallelPeriod

Devuelve un miembro de un periodo anterior en la misma posición relativa. Es decir, podemos pedir ‘la misma información’ para el año anterior o hace dos meses, etc.

ParallelPeriod([Level_Expression [,Index [,Member_Expression]]]) Ejemplo 1. Comparar ventas anuales con las del año anterior.

with member [Measures].[Internet Sales-Sales Amount Año Anterior] as '

(parallelPeriod([Date].[Calendar Date].[Calendar

Year],1,[Date].[Calendar Date].CurrentMember),

[Measures].[Internet Sales-Sales Amount]

)',format_string="Currency"

select

{

[Measures].[Internet Sales-Sales Amount],

[Measures].[Internet Sales-Sales Amount Año Anterior]

}

on columns,

[Date].[Calendar Date].[Calendar Year]

on rows

from [Analysis Services Tutorial]

Page 11: Introducción al MDX

P á g i n a 11/ 21

I n t r o d u c c i ó n a l M D X

Resultados:

Ejemplo 2. Comparar ventas mensuales con el año anterior.

with member [Measures].[Internet Sales-Sales Amount Año Anterior] as '

(parallelPeriod([Date].[Calendar Date].[Calendar

Year],1,[Date].[Calendar Date].CurrentMember),

[Measures].[Internet Sales-Sales Amount]

)',format_string="Currency"

select

{[Measures].[Internet Sales-Sales Amount],[Measures].[Internet Sales-

Sales Amount Año Anterior]}

on columns,

(

[Date].[Calendar Date].[Month Name].members)

on rows

from

[Analysis Services Tutorial]

where

[Date].[Calendar Year].[CY 2003]

Resultados:

Para varios filtros. where

([Dim Fecha].[Año].[2010]

,

[Dim Proveedor].[Nombre].[ABASTECEDORA DEL COMERCIO LIMITADA]

)

Page 12: Introducción al MDX

P á g i n a 12/ 21

I n t r o d u c c i ó n a l M D X

PeriodsToDate

Devuelve el conjunto de miembros del mismo nivel que un miembro especificado, empezando por el primero del mismo nivel y acabando con el miembro especificado.

select

[Measures].[Internet Sales-Sales Amount] on columns,

PeriodsToDate([Date].[Calendar Date].[Calendar

Semester],[Date].[Calendar Date].[Month Name].&[2003]&[May])

on rows

from [Analysis Services Tutorial]

where

[Date].[Calendar Year].&[2003]

Resultados:

WTD, MTD, QTY, YTD

Existen funciones especiales para los casos mas comunes y así simplificar la consulta. Estas son:

WTD(<Miembro>) : Devuelve los miembros de la misma semana del miembro especificado.

MTD(<Miembro>) :Aplicado a mes.

QTY(<Miembro>) :Aplicado al Trimestre.

YTD(<Miembro>):(<Miembro>) :Aplicado al año. Para obtener los mismos resultados que en ejemplo anterior:

select

[Measures].[Internet Sales-Sales Amount] on columns,

YTD([Date].[Calendar Date].[Month Name].&[2003]&[May])

on rows

from [Analysis Services Tutorial]

where

[Date].[Calendar Year].&[2003]

Miembros calculados

MDX promete crear miembros calculados a partir de más medidas ya creadas en el cubo, de forma que al procesar el cubo se realicen los cálculos sobre estas medidas en función de las

Page 13: Introducción al MDX

P á g i n a 13/ 21

I n t r o d u c c i ó n a l M D X

dimensiones que se visualizan. A todos los efectos un miembro calculado es una métrica mas del cubo, al crearla de esta forma podemos utilizar las funciones MDX disponibles.

Los miembros calculados pueden tener dos ámbitos, de consulta o de sesión, por defecto es por sesión. Para la creación de un miembro calculado de sesión:

CREATE [ SESSION ] [HIDDDEN] [ CALCULATED ] MEMBER CURRENTCUBE |

Cube_Name.Member_Name

AS MDX_Expression

[,Property_Name = Property_Value, ...n]

......[,SCOPE_ISOLATION = CUBE]

Create Member [Analysis Services Tutorial].[Measures].[Media] as

'[Measures].[Internet Sales-Sales Amount]/[Measures].[Internet Sales

Count]',

format_string="##.##"

Una vez ejecutado el script, todas las consultas de la misma sesión lo tendrán disponible. Para crearlo en el ámbito de la consulta:

with Member [Measures].[Media] as '[Measures].[Internet Sales-Sales

Amount]/[Measures].[Internet Sales Count]',

format_string="##.##"

select

{[Measures].[Internet Sales-Sales Amount],

[Measures].[Media]

}on columns,

[Date].[Calendar Date].[Month Name]

on rows

from [Analysis Services Tutorial]

where

[Date].[Calendar Year].&[2003]

De esta forma solo está disponible para la consulta actual.

Sustituir valores nulos

with member [Measures].[Importe_sin_Nulos] as

COALESCEEMPTY([Measures].[Importe],0)

Select

[Measures].[Importe_sin_Nulos]on Columns,

[Dim Servicio].[Nombre Servicio].Members on rows

from [Produccion]

where ([Dim Fecha].[Año].&[2010],[Dim Servicio].[Sub

Grupo].&[ALOJAMIENTO]&[EXTRAS])

Operadores

-- Comentario Indica texto de comentario proporcionado por el usuario.

/*...*/ Comentario Indica texto de comentario proporcionado por el usuario.

// Comentario Indica texto proporcionado por el usuario.

Page 14: Introducción al MDX

P á g i n a 14/ 21

I n t r o d u c c i ó n a l M D X

- Except

Realiza una operación de conjunto que devuelve la diferencia entre dos conjuntos y quita los miembros duplicados.

- Negativo

Realiza una operación unaria que devuelve el valor negativo de una expresión numérica.

- Restar Lleva a cabo una operación aritmética que resta un número de otro número.

* Cross Join

Realiza una operación de conjunto que devuelve el producto cruzado de dos conjuntos.

* Multiplicar Realiza una operación aritmética que multiplica dos números.

/ Dividir Realiza una operación aritmética que divide un número por otro número.

^ Potencia Lleva a cabo una operación aritmética que eleva un número a otro número.

: Intervalo

Realiza una operación de conjunto que devuelve un conjunto en su orden natural, con los dos miembros especificados como extremos y todos los miembros entre ellos incluidos como miembros del conjunto.

+ Sumar Realiza una operación aritmética que suma dos números.

+ Positivo

Realiza una operación unaria que devuelve el valor positivo de una expresión numérica.

+ Concatenación

Realiza una operación de cadena que concatena dos o más cadenas de caracteres, tuplas o una combinación de cadenas y tuplas.

+ Union

Realiza una operación de conjunto que devuelve la unión entre dos conjuntos y elimina los duplicados.

< Menor que

Realiza una operación de comparación que determina si el valor de una expresión MDX es menor que el valor de otra expresión MDX.

<= Menor o igual que

Realiza una operación de comparación que determina si el valor de una expresión MDX es menor o igual que el valor de otra expresión MDX.

<> No es igual

Realiza una operación de comparación que determina si el valor de una expresión MDX no es igual que el valor de otra expresión MDX.

= Igual a

Realiza una operación de comparación que determina si el valor de una expresión MDX es igual que el valor de otra expresión MDX.

> Mayor que

Realiza una operación de comparación que determina si el valor de una expresión MDX es mayor que el valor de otra expresión MDX.

>= Mayor o igual que

Realiza una operación de comparación que determina si el valor de una expresión MDX es mayor o igual que el valor de otra expresión MDX.

AND AND Realiza una conjunción lógica en dos expresiones numéricas.

IS IS Realiza una comparación lógica en dos expresiones de objeto.

NOT NOT Realiza una negación lógica en una expresión numérica.

OR OR Realiza una disyunción lógica en dos expresiones numéricas.

XOR XOR Realiza una exclusión lógica en dos expresiones numéricas.

Restar y Except

Restar dos medidas

with member [Measures].[Ventas Totales] as '([Measures].[Internet

Sales-Sales Amount],[Product].[Product Categories])'

member [Measures].[Ventas Bikes] as '([Measures].[Internet

Sales-Sales Amount],[Product].[Product

Categories].[Category].[Bikes])'

member [Measures].[Diferencia] as'(

[Measures].[Ventas Totales]-[Measures].[Ventas

Bikes]

)'

select

{[Measures].[Ventas Totales],

Page 15: Introducción al MDX

P á g i n a 15/ 21

I n t r o d u c c i ó n a l M D X

[Measures].[Ventas Bikes],

[Measures].[Diferencia]

}on columns,

[Date].[Calendar Year].[all].children on rows

from [Analysis Services Tutorial]

Diferencia entre dos conjuntos

select

[Measures].[Internet Sales-Sales Amount] on columns,

[Product].[Category].[all].children-[Product].[Category].[Bikes]

on rows

from [Analysis Services Tutorial]

Operador de comparación

with member [measures].[Alerta] as 'iif([Measures].[Internet Sales-

Sales Amount]<10000000,1,0)'

select

{[Measures].[Internet Sales-Sales Amount],[measures].[Alerta]

}on columns,

[Product].[Product Line].[all].children on rows

from

[Analysis Services Tutorial]

Funciones

Funciones de Matriz

SetToArray

Convierte uno o más conjuntos en una matriz, para usarla en funciones definidas por el usuario.

Funciones de Jerarquía

Hierarchy

Devuelve la jerarquía que contiene un miembro o nivel especificado.

Dimension

Devuelve la dimensión que contiene un miembro, nivel o jerarquía especificado.

Dimensions

Devuelve una jerarquía especificada mediante una expresión numérica o de cadena.

Funciones de Nivel

Level

Devuelve el nivel de un miembro.

Levels

Devuelve el nivel cuya posición en una dimensión o jerarquía se especifica

Page 16: Introducción al MDX

P á g i n a 16/ 21

I n t r o d u c c i ó n a l M D X

mediante una expresión numérica, o cuyo nombre se especifica mediante una expresión de cadena.

Funciones Lógicas

IsAncestor

Informa de si un miembro especificado es un antecesor de otro miembro especificado.

IsEmpty

Informa de si la expresión evaluada es el valor de celda vacía.

IsGeneration

Informa de si un miembro especificado es una generación especificada.

IsLeaf

Informa de si un miembro especificado es un miembro hoja.

IsSibling

Informa de si un miembro especificado está en el mismo nivel que otro miembro especificado.

Funciones de Miembro

Ancestor

Devuelve el antecesor de un miembro en un nivel o distancia especificados.

ClosingPeriod

Devuelve el último elemento del mismo nivel entre los descendientes de un miembro en un nivel especificado.

Cousin

Devuelve el miembro secundario con la misma posición relativa bajo un miembro primario que el miembro secundario especificado.

CurrentMember

Devuelve el miembro actual de una dimensión o jerarquía especificada durante la iteración.

DataMember

Devuelve el miembro de datos generados por el sistema asociado a un miembro no hoja de una dimensión.

DefaultMember

Devuelve el miembro predeterminado de una dimensión o jerarquía.

FirstChild

Devuelve el primer elemento secundario de un miembro.

FirstSibling

Devuelve el primer elemento secundario del elemento primario de un miembro.

Item (Member)

Devuelve un miembro de una tupla especificada.

Lag

Devuelve el miembro que se encuentra un número especificado de posiciones antes de un miembro especificado en la dimensión del miembro.

LastChild

Devuelve el último elemento secundario de un miembro especificado.

LastSibling

Devuelve el último elemento secundario del elemento primario de un miembro especificado.

Lead

Devuelve el miembro que se encuentra un número especificado de posiciones que siguen a un miembro especificado en la dimensión del miembro.

LinkMember

Devuelve el miembro equivalente a un miembro especificado de una jerarquía especificada.

Members (String)

Devuelve un miembro especificado por una expresión de cadena.

NextMember

Devuelve el siguiente miembro del nivel que contiene un miembro especificado

OpeningPeriod

Devuelve el primer elemento del mismo nivel de los descendientes de un nivel especificado, opcionalmente en el miembro especificado.

ParallelPeriod

Devuelve un miembro de un periodo anterior en la misma posición relativa que el indicado.

Parent

Devuelve el elemento primario de un miembro.

PrevMember

Devuelve el miembro anterior en el nivel que contiene un miembro especificado.

StrToMember

Devuelve el miembro especificado por una cadena con formato de MDX.

Page 17: Introducción al MDX

P á g i n a 17/ 21

I n t r o d u c c i ó n a l M D X

UnknownMember

Devuelve el miembro desconocido asociado con un nivel o miembro.

ValidMeasure

Devuelve una medida válida de un cubo virtual, al forzar dimensiones no aplicables al nivel superior.

Funciones Numéricas

Aggregate

Devuelve un valor escalar calculado al agregar medidas o bien una expresión numérica especificada de forma opcional sobre las tuplas de un conjunto especificado.

Avg

Devuelve el valor medio de las medidas o el valor medio de una expresión numérica opcional, evaluado sobre un conjunto especificado.

CalculationCurrentPass

Devuelve el paso de cálculo actual de un cubo para el contexto de consulta especificado.

CalculationPassValue

Devuelve el valor de una expresión MDX evaluada sobre el paso de cálculo especificado de un cubo.

CoalesceEmpty

Sustituye en un número o en una cadena un valor de celda vacía, y devuelve el valor especificado.

Correlation

Devuelve el coeficiente de correlación de dos series evaluadas en un conjunto.

Count (Dimension)

Devuelve el número de dimensiones de un cubo.

Count (niveles de jerarquía)

Devuelve el número de niveles de una dimensión o jerarquía.

Count (Set)

Devuelve el número de celdas de un conjunto.

Count (Tuple)

Devuelve el número de dimensiones de una tupla.

Covariance

Devuelve la covarianza de población de dos series evaluadas en un conjunto utilizando la fórmula de llenado sesgada.

CovarianceN

Devuelve la covarianza de muestra de dos series evaluadas en un conjunto utilizando la fórmula de población no sesgada.

DistinctCount

Devuelve el número de tuplas distintas y no vacías de un conjunto.

IIf

Devuelve uno de los dos valores determinados por una prueba lógica.

LinRegIntercept

Calcula la regresión lineal de un conjunto y devuelve el valor de corte en la recta de regresión, y = ax + b.

LinRegPoint

Calcula la regresión lineal de un conjunto y devuelve el valor de y en la recta de regresión, y = ax + b.

LinRegR2

Calcula la regresión lineal de un conjunto y devuelve el coeficiente de determinación, R2.

LinRegSlope

Calcula la regresión lineal de un conjunto y devuelve el valor de la pendiente en la recta de regresión, y = ax + b.

LinRegVariance

Calcula la regresión lineal de un conjunto y devuelve la varianza asociada a la recta de regresión, y = ax + b.

LookupCube

Devuelve el valor de una expresión MDX evaluada sobre otro cubo especificado en la misma base de datos.

Max

Devuelve el valor máximo de una expresión numérica evaluada sobre un conjunto.

Median

Devuelve el valor medio de una expresión numérica evaluada sobre un conjunto.

Min

Devuelve el valor mínimo de una expresión numérica evaluada sobre un conjunto.

Ordinal

Devuelve el valor ordinal (con base cero) asociado a un nivel.

Predict

Devuelve un valor de una expresión numérica evaluada sobre un modelo de minería de datos.

Rank

Devuelve el rango (con base uno) de una tupla especificada en un conjunto

Page 18: Introducción al MDX

P á g i n a 18/ 21

I n t r o d u c c i ó n a l M D X

especificado.

RollupChildren

Devuelve un valor generado mediante el resumen de los valores de los elementos secundarios de un miembro especificado, utilizando el operador unario especificado.

Stddev

Alias para Stdev .

StddevP

Alias para StdevP .

Stdev

Devuelve la desviación de muestra estándar de una expresión numérica evaluada sobre un conjunto, mediante la fórmula de población no sesgada.

StdevP

Devuelve la desviación estándar de población de una expresión numérica evaluada sobre un conjunto, mediante la fórmula de población sesgada.

StrToValue

Devuelve el valor especificado por una cadena con formato de MDX.

Sum

Devuelve la suma de una expresión numérica evaluada sobre un conjunto.

Value

Devuelve el valor de una medida.

Var

Devuelve la varianza de muestra de una expresión numérica evaluada en un conjunto, mediante la fórmula de población no sesgada.

Variance

Alias para Var .

VarianceP

Alias para VarP .

VarP

Devuelve la varianza de población de una expresión numérica evaluada en un conjunto, mediante la fórmula de población sesgada.

Funciones de Conjunto

AddCalculatedMembers

Devuelve un conjunto generado al agregar miembros calculados a un conjunto especificado.

AllMembers

Devuelve un conjunto que contiene todos los miembros de la dimensión, jerarquía o nivel especificados, incluyendo los miembros calculados.

Ancestors

Devuelve un conjunto de todos los antecesores de un miembro en un nivel o distancia especificados.

Ascendants

Devuelve el conjunto de antecesores de un miembro especificado, incluyendo el propio miembro.

Axis

Devuelve un conjunto definido en un eje.

BottomCount

Ordena un conjunto de forma ascendente y devuelve el número de tuplas especificado con los valores más bajos.

BottomPercent

Ordena un conjunto de forma ascendente y devuelve un conjunto de tuplas con los valores más bajos con un total acumulado igual o inferior a un porcentaje especificado.

BottomSum

Ordena un conjunto de forma ascendente y devuelve un conjunto de tuplas con los valores más bajos con un total igual o inferior a un valor especificado.

Children

Devuelve el elemento secundario de un miembro especificado.

Crossjoin

Devuelve el producto cruzado de uno o más conjuntos.

CurrentOrdinal

Devuelve el número de iteración actual dentro de un conjunto durante la iteración.

Descendants

Devuelve el conjunto de descendientes de un miembro en el nivel o distancia especificados; opcionalmente puede incluir o excluir los descendientes de otros niveles.

Distinct

Devuelve un conjunto, eliminando tuplas duplicadas de un conjunto especificado.

DrilldownLevel

Aumenta los detalles de los miembros de un conjunto a un nivel por debajo del nivel más bajo representado en el conjunto o un nivel por debajo del

Page 19: Introducción al MDX

P á g i n a 19/ 21

I n t r o d u c c i ó n a l M D X

nivel especificado opcionalmente de un miembro representado en el conjunto.

DrilldownLevelBottom

Aumenta el detalle de los miembros inferiores de un conjunto, de un nivel especificado a otro inferior.

DrilldownLevelTop

Aumenta el detalle de los miembros superiores de un conjunto, de un nivel especificado a otro inferior.

DrilldownMember

Aumenta el detalle de los miembros de un conjunto especificado presentes en un segundo conjunto especificado. Alternativamente, esta función aumenta el detalle de un conjunto de tuplas.

DrilldownMemberBottom

Aumenta el nivel de detalle de miembros de un conjunto especificado que están presentes en otro conjunto especificado, lo que limita el conjunto de resultados a un número específico de miembros. Alternativamente, esta función también aumenta el detalle de un conjunto de tuplas.

DrilldownMemberTop

Aumenta el nivel de detalle de miembros de un conjunto especificado que están presentes en otro conjunto especificado, lo que limita el conjunto de resultados a un número específico de miembros. Alternativamente, esta función aumenta el detalle de un conjunto de tuplas.

DrillupLevel

Reduce el detalle de los miembros de un conjunto por debajo de un nivel especificado.

DrillupMember

Reduce el detalle de los miembros de un conjunto que están presentes en un segundo conjunto especificado.

Except

Encuentra la diferencia entre dos conjuntos, reteniendo opcionalmente los duplicados.

Exists

Devuelve el conjunto de miembros de un conjunto que existen con una o más tuplas de otros conjuntos.

Extract

Devuelve un conjunto de tuplas a partir de elementos de dimensión extraídos.

Filter

Devuelve el conjunto resultante de filtrar un determinado conjunto con una condición de búsqueda.

Generate

Aplica un conjunto a cada miembro de otro conjunto y a continuación combina los conjuntos resultantes mediante unión. Alternativamente, esta función devuelve una cadena concatenada que se creó evaluando una expresión de cadena en un conjunto.

Head

Devuelve el primer número de elementos especificado en un conjunto y retiene los duplicados.

Hierarchize

Ordena los miembros de un conjunto en una jerarquía.

Intersect

Devuelve la intersección de dos conjuntos de entrada; conservando opcionalmente los duplicados.

LastPeriods

Devuelve un conjunto de miembros hasta un miembro determinado, éste inclusive.

Members (Set)

Devuelve el conjunto de miembros en una dimensión, nivel o jerarquía.

Mtd

Devuelve un conjunto de miembros del mismo nivel que un miembro determinado, empezando por el primer miembro del mismo nivel y acabando con el miembro en cuestión, de acuerdo con la restricción del nivel de año en la dimensión de tiempo.

NameToSet

Devuelve un conjunto que contiene el miembro especificado por una cadena con formato de MDX.

NonEmptyCrossjoin

Devuelve el producto cruzado de uno o más conjuntos de un conjunto, excluidas las tuplas vacías o sin datos de tabla de hechos asociada.

Order

Organiza los miembros de un conjunto especificado; opcionalmente preservando o rompiendo la jerarquía.

PeriodsToDate

Devuelve un conjunto de miembros del mismo nivel que un miembro determinado, empezando por el primer miembro del mismo nivel y acabando con el miembro en cuestión, de acuerdo con la restricción del nivel especificado en la dimensión de tiempo.

Page 20: Introducción al MDX

P á g i n a 20/ 21

I n t r o d u c c i ó n a l M D X

Qtd

Devuelve un conjunto de miembros del mismo nivel que un miembro determinado, empezando por el primer miembro del mismo nivel y acabando con el miembro en cuestión, de acuerdo con la restricción del nivel Quarter en la dimensión de tiempo.

Siblings

Devuelve los miembros del mismo nivel que un miembro especificado, incluyendo el propio miembro.

StripCalculatedMembers

Devuelve un conjunto generado al eliminar miembros calculados de un conjunto especificado.

StrToSet

Devuelve el conjunto especificado por una cadena con formato de MDX.

Subset

Devuelve un subconjunto de tuplas a partir de un conjunto especificado.

Tail

Devuelve un subconjunto del final de un conjunto.

ToggleDrillState

Alterna el estado de detalle de los miembros.

TopCount

Ordena un conjunto de forma descendente y devuelve el número de elementos especificado con los valores más altos.

TopPercent

Ordena un conjunto de forma descendente y devuelve un conjunto de tuplas con los valores más altos con un total acumulado igual o inferior a un porcentaje especificado.

TopSum

Ordena un conjunto y devuelve los elementos de nivel superior cuyo total acumulado sea igual o superior a un valor especificado.

Union

Devuelve la unión de dos conjuntos; opcionalmente conserva los duplicados.

Unorder

Quita cualquier orden impuesto sobre un conjunto especificado.

VisualTotals

Devuelve un conjunto que se genera calculando de forma dinámica el total de miembros secundarios de un conjunto especificado; opcionalmente puede utilizar un patrón para el nombre del miembro primario en el conjunto de celdas resultante.

Wtd

Devuelve un conjunto de miembros del mismo nivel que un miembro determinado, empezando por el primer miembro del mismo nivel y acabando con el miembro en cuestión, de acuerdo con la restricción del nivel de semana en la dimensión de tiempo.

Ytd

Devuelve un conjunto de miembros del mismo nivel que un miembro determinado, empezando por el primer miembro del mismo nivel y acabando por el miembro en cuestión, de acuerdo con la restricción del nivel Year de la dimensión Time.

Funciones de Cadena

CalculationPassValue

Devuelve el valor de una expresión MDX evaluada sobre el paso de cálculo especificado de un cubo.

CoalesceEmpty

Fusiona en un número o en una cadena un valor de celda vacía, y devuelve el valor fusionado.

Generate

Aplica un conjunto a cada miembro de otro conjunto y a continuación combina los conjuntos resultantes mediante unión. Alternativamente, esta función devuelve una cadena concatenada que se creó evaluando una expresión de cadena en un conjunto.

IIf

Devuelve uno de los dos valores determinados por una prueba lógica.

LookupCube

Devuelve el valor de una expresión MDX evaluada sobre otro cubo especificado en la misma base de datos.

MemberToStr

Devuelve una cadena con formato de MDX que corresponde a un miembro especificado.

Name

Devuelve el nombre de una dimensión, jerarquía, nivel o miembro.

Properties

Devuelve una cadena, o un valor con tipos muy marcados, que contiene un

Page 21: Introducción al MDX

P á g i n a 21/ 21

I n t r o d u c c i ó n a l M D X

valor de propiedad de miembro.

SetToStr

Devuelve una cadena con formato de MDX que corresponde a un conjunto especificado.

TupleToStr

Devuelve una cadena con formato de MDX que corresponde a una tupla especificada.

UniqueName

Devuelve el nombre único de una dimensión, jerarquía, nivel o miembro especificado.

UserName

Devuelve el nombre de dominio y el nombre de usuario de la conexión actual.

Funciones de SubCubo

This

Devuelve el subcubo actual.

Leaves

Devuelve el conjunto de miembros hoja en la dimensión, miembro o tupla especificada.

Funciones de Tupla

Current

Devuelve la tupla actual de un conjunto durante la iteración.

Item (Tuple)

Devuelve una tupla desde un conjunto.

Root

Devuelve una tupla que consta de los miembros All de cada jerarquía de atributo de un cubo, dimensión o tupla.

StrToTuple

Devuelve la tupla especificada por una cadena con formato de MDX.

Otras Funciones

Error

Genera un error y puede, opcionalmente, proporcionar un mensaje de error especificado.