Expresiones multidimensionales
# Expresiones multidimensionales

Las expresiones multidimensionales o MDX (acrónimo de MultiDimensional eXpressions) son un lenguaje de consulta para bases de datos multidimensionales sobre cubos OLAP. Se utilizan en inteligencia empresarial para generar informes para la toma de decisiones basadas en datos históricos, con la posibilidad de cambiar la estructura o rotación del cubo.

## Introducción

Una consulta MDX es muy similar a una consulta SQL: nos devuelve un conjunto de celdas, que es resultado de tomar un subconjunto de las celdas del cubo original. Sin embargo, contiene diferentes funciones, y al utilizar varias dimensiones puede volverse bastante compleja.

MDX utiliza las jerarquías en varias situaciones. Por ejemplo, si una dimensión se denomina región, esta puede contener países. Los países a su vez contienen provincias y las provincias ciudades. Para manejar estos componentes MDX tiene funciones como children (hijos en inglés), cousin (primos) y parents (padres). En el ejemplo anterior, para la dimensión país, la región sería el padre, y las provincias los hijos.

Un cliente OLAP puede manipular el cubo de distintas formas: rotarlo, rebanarlo y cortarlo en dados.

Existen distintos proveedores de datos OLAP. Por ejemplo, el de Microsoft es Analysis Services, y el de Oracle, Business Intelligence Enterprise Edition.

## Ejemplo

Consulta MDX Básica:

Sintaxis:

SELECT <especificación de eje> on columns, <especificación de eje> on rows FROM <especificación de cubo> WHERE <especificación Slicer (rebanador)>

Medidas de un cubo: son los datos existentes en cada celda del cubo.

Dimensiones: son los ejes del cubo.

