Consultas MDX para reportes
El objetivo de este tutorial es introducir el lenguaje de consulta MDX soportado desde la versión 5.0 de O3 como lenguaje para hacer consultas desde el reporteador.
El tutorial está organizado en base a un conjunto de casos utilizando el modelo del cubo Demo como base de consulta. Para ver un ejemplo en forma rápida ver más abajo.
- Introducción a MDX de O3
- Estructura y datos del cubo Demo
- Caso 1: Lista de elementos por enumeración en ejes
- Caso 2: Lista de elementos de un nivel en ejes
- Caso 3: Filtro básico en dimensiones
- Caso 4: Lista de elementos según jerarquía en ejes
- Caso 5: Combinación de formas de listar elementos en ejes
- Caso 6: Combinación de varias dimensiones en ejes (anidamiento de dimensiones)
Ejemplo
Una sentencia MDX de consulta tiene la siguiente estructura básica.
SELECT <colExpresion> ON COLUMNS, <rowExpresion> ON ROWS FROM <cubeName> WHERE <filterExpresion>
Describiremos sus elementos a través de un ejemplo. Supongamos que del modelo de análisis de ventas de nombre Demo queremos consultar las unidades vendidas en France a los clientes clasificados como Major Accounts.
La consulta MDX sería la siguiente:
SELECT {Customers.[Major Accounts]} ON COLUMNS, {Location.[France]} ON ROWS FROM Demo WHERE (Measures.[Units Sold])
El cubo conteniendo la información se indica en el FROM de la consulta. Major Acounts
es un miembro del nivel de más arriba de la dimensión Customers
, por lo tanto la forma de referirse a él es mediante la expresión Customers.[Major Accounts]
. En esta consulta se ha decidido que este valor aparezca como columna en el resultado, de ahí que se declara ON COLUMNS. Análogamente, France
es un miembro del nivel más arriba de la dimensión Location
. La forma de referirse a él es Location.France
y para que aparezca en las filas se especifica ON ROWS. Por último, en el WHERE de la consulta se indica la medida que se quiere utilizar. Las medidas pertenecen a una dimensión de nombre Measures
. La forma de referirse a la medida deseada en este caso es Measures.[Units Sold]
.
El resultado de esta consulta puede leerse: "En Francia, las unidades vendidas a los clientes clasificados como de Grandes Cuentas es 2841".