Академический Документы
Профессиональный Документы
Культура Документы
[Introduccin al Mdx]
P g i n a 3/ 21 Introduccin al MDX
Miembro
Es un valor de atributo de dimensin, incluyendo las dimensiones de medidas. Un miembro de una jerarqua 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, tambin se denomina hecho. Suelen ser valores numricos, aunque pueden ser de cadena.
Dimensin de medidas
Contiene todas las medidas del cubo.
Grupo de medida
Coleccin de medidas relacionadas entre si.
Miembro (ALL)
Valor calculado de todos los miembros de una jerarqua 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 jerarqua de elementos primarios y secundarios que contienen el valor agregado de sus elementos secundarios.
Miembro de hoja
Es un miembro de jerarqua que no contiene elementos secundarios
Miembro secundario
Es un miembro de jerarqua que est situado por debajo del un nivel superior.
Atributo Clave
Atributo con el que estn relacionados directa o indirectamente los dems atributos de la dimensin. Este atributo tambin suele ser atributo de granularidad.
P g i n a 4/ 21 Introduccin al MDX
Atributo de granularidad
Es el atributo de una dimensin que vincula dicha dimensin con los hechos del grupo de medidas.
Jerarqua de atributo
Jerarqua de miembros de atributo que contiene los siguientes niveles: Un Nivel hoja con los miembros de Hoja, cada elemento distintivo Niveles Intermedios, en las jerarquas con elementos primarios y secundarios Un nivel (ALL) opcional con el agregado de los miembros hoja de la jerarqua.
Tupla
Una tupla identifica de forma exclusiva a una celda segn una combinacin 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 coleccin de miembros de una o ms dimensiones organizado como tuplas.
Select { [Measures].[Internet Sales-Sales Amount], [Measures].[Reseller Sales-Sales Amount] }
P g i n a 5/ 21 Introduccin al MDX
on Columns, {( [Date].[Calendar Year].[CY 2004] )} on Rows from [Analysis Services Tutorial]
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.
El alcance por defecto es SESSION para la definicin, si el alcance es GLOBAL, la definicion es adjuntada permamentemente a la definicin del cubo y es visible para todas las futuras sesiones de cliente. Para eliminar la definicion se denbe utilizar la instruccin DROP
DROP [MEMBER] | [SET]
En una instruccin Drop solo se pueden eliminar definiciones que se usen en la sesin actual del cubo, solo se puede eliminar una definicin en cada instruccin.
P g i n a 6/ 21 Introduccin al MDX
Operadores de sintaxis
Los operadores bsicos 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]
Sintaxis MDX
P g i n a 7/ 21 Introduccin al MDX
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
Filtros
Hay dos formas de aplicar filtros en las consultas. Los filtros se establecen mediante Where como en Sql. Slicer
SubSet de la informacin del cubo. Se definen slicers para algunas dimensiones y as poder recoger un rea del cubo.
Filters
Los filtros permiten hacer una seleccin de los miembros a mostrar en funcin de una coleccin que se establece. Por ejemplo si se quiere mostrar importes mayores que una cifra.
P g i n a 8/ 21 Introduccin al MDX 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 condicin.
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 alfabticamente por alguna de las dimensiones , pero puede especificar otro orden. Se utiliza la funcin ORDER, que requiere tres parmetros, el conjunto a ordenar, la expresin por la cual se ordenar y el tipo de orden. ASC
P g i n a 9/ 21 Introduccin al MDX
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
Adems de ordenar tambin 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 ordenacin) BottomCount(Conjunto Set,Limite,Medida de ordenacin) 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 funcin.
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.
Tambin 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]
Resultados:
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:
Miembros calculados
MDX promete crear miembros calculados a partir de ms medidas ya creadas en el cubo, de forma que al procesar el cubo se realicen los clculos sobre estas medidas en funcin de las
P g i n a 13/ 21 Introduccin al MDX dimensiones que se visualizan. A todos los efectos un miembro calculado es una mtrica 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 sesin, por defecto es por sesin. Para la creacin de un miembro calculado de sesin:
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 sesin lo tendrn 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]
Operadores
-/*...*/ // Comentario Comentario Comentario Indica texto de comentario proporcionado por el usuario. Indica texto de comentario proporcionado por el usuario. Indica texto proporcionado por el usuario.
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],
Operador de comparacin
with member [measures].[Alerta] as 'iif([Measures].[Internet SalesSales 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 de Jerarqua
Hierarchy Dimension Dimensions Devuelve la jerarqua que contiene un miembro o nivel especificado. Devuelve la dimensin que contiene un miembro, nivel o jerarqua especificado. Devuelve una jerarqua especificada mediante una expresin numrica o de cadena.
Funciones de Nivel
Level Levels Devuelve el nivel de un miembro. Devuelve el nivel cuya posicin en una dimensin o jerarqua se especifica
Funciones Lgicas
IsAncestor IsEmpty IsGeneration IsLeaf IsSibling Informa de si un miembro especificado es un antecesor de otro miembro especificado. Informa de si la expresin evaluada es el valor de celda vaca. Informa de si un miembro especificado es una generacin especificada. Informa de si un miembro especificado es un miembro hoja. Informa de si un miembro especificado est en el mismo nivel que otro miembro especificado.
Funciones de Miembro
Ancestor ClosingPeriod Cousin CurrentMember DataMember DefaultMember FirstChild FirstSibling Item (Member) Lag LastChild LastSibling Lead LinkMember Members (String) NextMember OpeningPeriod ParallelPeriod Parent PrevMember StrToMember Devuelve el antecesor de un miembro en un nivel o distancia especificados. Devuelve el ltimo elemento del mismo nivel entre los descendientes de un miembro en un nivel especificado. Devuelve el miembro secundario con la misma posicin relativa bajo un miembro primario que el miembro secundario especificado. Devuelve el miembro actual de una dimensin o jerarqua especificada durante la iteracin. Devuelve el miembro de datos generados por el sistema asociado a un miembro no hoja de una dimensin. Devuelve el miembro predeterminado de una dimensin o jerarqua. Devuelve el primer elemento secundario de un miembro. Devuelve el primer elemento secundario del elemento primario de un miembro. Devuelve un miembro de una tupla especificada. Devuelve el miembro que se encuentra un nmero especificado de posiciones antes de un miembro especificado en la dimensin del miembro. Devuelve el ltimo elemento secundario de un miembro especificado. Devuelve el ltimo elemento secundario del elemento primario de un miembro especificado. Devuelve el miembro que se encuentra un nmero especificado de posiciones que siguen a un miembro especificado en la dimensin del miembro. Devuelve el miembro equivalente a un miembro especificado de una jerarqua especificada. Devuelve un miembro especificado por una expresin de cadena. Devuelve el siguiente miembro del nivel que contiene un miembro especificado Devuelve el primer elemento del mismo nivel de los descendientes de un nivel especificado, opcionalmente en el miembro especificado. Devuelve un miembro de un periodo anterior en la misma posicin relativa que el indicado. Devuelve el elemento primario de un miembro. Devuelve el miembro anterior en el nivel que contiene un miembro especificado. Devuelve el miembro especificado por una cadena con formato de MDX.
Funciones Numricas
Devuelve un valor escalar calculado al agregar medidas o bien una expresin numrica especificada de forma opcional sobre las tuplas de un conjunto especificado. Devuelve el valor medio de las medidas o el valor medio de una expresin Avg numrica opcional, evaluado sobre un conjunto especificado. Devuelve el paso de clculo actual de un cubo para el contexto de consulta CalculationCurrentPass especificado. Devuelve el valor de una expresin MDX evaluada sobre el paso de clculo CalculationPassValue especificado de un cubo. Sustituye en un nmero o en una cadena un valor de celda vaca, y devuelve el CoalesceEmpty valor especificado. Devuelve el coeficiente de correlacin de dos series evaluadas en un conjunto. Correlation Aggregate Count (Dimension) Count (niveles de jerarqua) Count (Set) Count (Tuple) Covariance CovarianceN DistinctCount IIf LinRegIntercept LinRegPoint LinRegR2 LinRegSlope LinRegVariance LookupCube Max Median Min Ordinal Predict Rank Devuelve el nmero de dimensiones de un cubo. Devuelve el nmero de niveles de una dimensin o jerarqua. Devuelve el nmero de celdas de un conjunto. Devuelve el nmero de dimensiones de una tupla. Devuelve la covarianza de poblacin de dos series evaluadas en un conjunto utilizando la frmula de llenado sesgada. Devuelve la covarianza de muestra de dos series evaluadas en un conjunto utilizando la frmula de poblacin no sesgada. Devuelve el nmero de tuplas distintas y no vacas de un conjunto. Devuelve uno de los dos valores determinados por una prueba lgica. Calcula la regresin lineal de un conjunto y devuelve el valor de corte en la recta de regresin, y = ax + b. Calcula la regresin lineal de un conjunto y devuelve el valor de y en la recta de regresin, y = ax + b. Calcula la regresin lineal de un conjunto y devuelve el coeficiente de determinacin, R2. Calcula la regresin lineal de un conjunto y devuelve el valor de la pendiente en la recta de regresin, y = ax + b. Calcula la regresin lineal de un conjunto y devuelve la varianza asociada a la recta de regresin, y = ax + b. Devuelve el valor de una expresin MDX evaluada sobre otro cubo especificado en la misma base de datos. Devuelve el valor mximo de una expresin numrica evaluada sobre un conjunto. Devuelve el valor medio de una expresin numrica evaluada sobre un conjunto. Devuelve el valor mnimo de una expresin numrica evaluada sobre un conjunto. Devuelve el valor ordinal (con base cero) asociado a un nivel. Devuelve un valor de una expresin numrica evaluada sobre un modelo de minera de datos. Devuelve el rango (con base uno) de una tupla especificada en un conjunto
Funciones de Conjunto
AddCalculatedMembers AllMembers Ancestors Ascendants Axis BottomCount BottomPercent Devuelve un conjunto generado al agregar miembros calculados a un conjunto especificado. Devuelve un conjunto que contiene todos los miembros de la dimensin, jerarqua o nivel especificados, incluyendo los miembros calculados. Devuelve un conjunto de todos los antecesores de un miembro en un nivel o distancia especificados. Devuelve el conjunto de antecesores de un miembro especificado, incluyendo el propio miembro. Devuelve un conjunto definido en un eje. Ordena un conjunto de forma ascendente y devuelve el nmero de tuplas especificado con los valores ms bajos. Ordena un conjunto de forma ascendente y devuelve un conjunto de tuplas con los valores ms bajos con un total acumulado igual o inferior a un porcentaje especificado. Ordena un conjunto de forma ascendente y devuelve un conjunto de tuplas con los valores ms bajos con un total igual o inferior a un valor especificado. Devuelve el elemento secundario de un miembro especificado. Devuelve el producto cruzado de uno o ms conjuntos. Devuelve el nmero de iteracin actual dentro de un conjunto durante la iteracin. Devuelve el conjunto de descendientes de un miembro en el nivel o distancia especificados; opcionalmente puede incluir o excluir los descendientes de otros niveles. Devuelve un conjunto, eliminando tuplas duplicadas de un conjunto especificado. Aumenta los detalles de los miembros de un conjunto a un nivel por debajo del nivel ms bajo representado en el conjunto o un nivel por debajo del
PeriodsToDate
Qtd
Siblings StripCalculatedMembers StrToSet Subset Tail ToggleDrillState TopCount TopPercent TopSum Union Unorder VisualTotals
Wtd
Ytd
Funciones de Cadena
CalculationPassValue CoalesceEmpty Devuelve el valor de una expresin MDX evaluada sobre el paso de clculo especificado de un cubo. Fusiona en un nmero o en una cadena un valor de celda vaca, y devuelve el valor fusionado. Aplica un conjunto a cada miembro de otro conjunto y a continuacin combina los conjuntos resultantes mediante unin. Alternativamente, esta funcin devuelve una cadena concatenada que se cre evaluando una expresin de cadena en un conjunto. Devuelve uno de los dos valores determinados por una prueba lgica. Devuelve el valor de una expresin MDX evaluada sobre otro cubo especificado en la misma base de datos. Devuelve una cadena con formato de MDX que corresponde a un miembro especificado. Devuelve el nombre de una dimensin, jerarqua, nivel o miembro. Devuelve una cadena, o un valor con tipos muy marcados, que contiene un
Funciones de SubCubo
This Leaves Devuelve el subcubo actual. Devuelve el conjunto de miembros hoja en la dimensin, miembro o tupla especificada.
Funciones de Tupla
Current Item (Tuple) Root StrToTuple Devuelve la tupla actual de un conjunto durante la iteracin. Devuelve una tupla desde un conjunto. Devuelve una tupla que consta de los miembros All de cada jerarqua de atributo de un cubo, dimensin o tupla. 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.