Upload
aespadasr
View
745
Download
0
Embed Size (px)
Citation preview
2011
[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
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.
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]
}
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.
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
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.
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.
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.
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]
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]
)
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
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.
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],
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
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.
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
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
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.
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
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.