Consulta MDX
Comprendiendo las consultas MDX
Multidimensional Expressions (MDX) es un lenguaje de consultas diseñado para recuperar datos de bases de datos multidimensionales, a menudo llamadas cubos. Piensa en un cubo como una tabla dinámica de Excel sofisticada—organiza datos empresariales a través de múltiples dimensiones como Tiempo, Geografía, Productos y Medidas.
Cuando consultas un cubo con MDX, obtienes un conjunto de celdas, que es esencialmente una cuadrícula de valores de datos organizada por las dimensiones que especificas.

Al igual que SQL usa SELECT para consultar bases de datos relacionales, MDX usa SELECT para consultar cubos. La estructura básica es sorprendentemente similar, pero adaptada para datos multidimensionales. Esta es la consulta más utilizada en MDX, y entenderla te da una base sólida para trabajar con datos multidimensionales.
Cada consulta SELECT de MDX necesita especificar cuatro cosas clave:
Ejes (Diseño de la cuadrícula)
Define cómo se organizan tus resultados—típicamente COLUMNAS y FILAS
Puedes usar hasta 128 ejes (aunque la mayoría de las consultas usan solo 2-3)
Piensa en esto como definir la estructura de tu informe
Miembros o Tuplas (qué datos mostrar)
Especifica qué elementos de cada dimensión aparecen en cada eje
Ejemplo: ¿Qué años? ¿Qué productos? ¿Qué métricas?
Nombre del cubo (Fuente de datos)
Qué cubo contiene tus datos
Como especificar una tabla en la cláusula FROM de SQL
Eje Slicer (Restricción)
Cláusula WHERE opcional que filtra todo tu conjunto de resultados
Piénsalo como "mostrar datos solo para este contexto específico"
Estructura de la sintaxis MDX
Ejemplos:
Llaves rizadas
{}: Agrupar múltiples miembros juntos{ [Measures].[Sales], [Measures].[Quantity] }= "mostrar ambas medidas"
Corchetes
[]: Identificar nombres de dimensión/miembro[Years].[2004]= "el miembro 2004 de la dimensión Years"
ON COLUMNS / ON ROWS: Definir el diseño de tu cuadrícula
Columnas = eje horizontal (a lo largo de la parte superior)
Filas = eje vertical (a lo largo del lateral)
Cláusula WHERE: Filtra todo el resultado
A diferencia de columnas/filas, WHERE no crea un eje—solo filtra
Lo que hace esta consulta:
COLUMNAS: Muestra dos métricas lado a lado: Ventas y Cantidad
FILAS: Muestra dos años apilados: 2004 y 2005
FROM: Obtiene datos del cubo SteelWheelsSales
WHERE: Filtra para mostrar solo datos del mercado APAC (Asia-Pacífico)
El conjunto de resultados se vería así:
2004
$1,500,000
12,500
2005
$1,750,000
14,200
Lo que esto hace:
COLUMNAS: Muestra TODAS las medidas disponibles (Ventas, Cantidad, Beneficio, etc.)
FROM: Cubo SteelWheelsSales
WHERE: Filtra para mostrar solo datos de 2004
FILAS: Ninguno especificado—resulta en una visualización de una sola fila
El resultado podría verse así:
$3M
25,000
$450k
$2.55M
Lo que esto muestra:
COLUMNAS: Cuatro trimestres a lo largo de la parte superior
FILAS: Tres líneas de productos a lo largo del lateral
WHERE: Filtrando únicamente la medida Ventas, para el año 2005
Cuadrícula de resultados:
Autos clásicos
$500K
$525K
$475K
$600K
Motocicletas
$200K
$225K
$210K
$240K
Aviones
$150K
$160K
$155K
$175K
Piensa en MDX así ..
Imagina que estás construyendo una tabla dinámica:
SELECT ... ON COLUMNS = arrastrar campos al área de columnas
SELECT ... ON ROWS = arrastrar campos al área de filas
FROM = elegir tu fuente de datos
WHERE = usar filtros de informe en la parte superior
¡El resultado es siempre una cuadrícula (conjunto de celdas) con tus datos organizados exactamente como especificaste!
Última actualización
¿Te fue útil?
