El MDX (MultiDimensional Expressions) es un lenguaje de consulta de bases de datos multidimensionales. A parte de permitir hacer consultas a la base de datos para obtener información almacenada en ella también se utiliza para la definición de cálculos (miembros calculados, conjuntos con nombre y asignaciones de ámbito) y KPIs en el servidor. Permitiendo añadir objetos que se calculan en tiempo de ejecución, y no están definidos en el cubo por ninguna otra vía, pudiendo referenciar parte del cubo, otros cubos o incluso información externa a los cubos.

Figura 1 – Cálculos (Calculations)

Figura 1 – Cálculos (Calculations)

Hay ocasiones en las que no es suficiente con dar un valor, sino que queremos saber en qué contexto está ese valor, si es bueno ese resultado con respecto a un objetivo y qué tendencia sigue a lo largo del tiempo. Veámoslo con un ejemplo: tenemos las ventas de un comercial para el mes de Junio por 700.000€, pero este dato no nos es suficiente, ya que necesitamos saber si están bien, regular o mal, y para ello debemos indicarle en función de qué. En este caso imaginemos que hemos fijado un objetivo de ventas para ese comercial y ese mes de 900.000€, consideramos que unas ventas inferiores a 500.000€ es un mal resultado, que unas ventas entre 500.000€ y 750.000€ es un resultado regular, y que si se superan los 750.000€ es un buen resultado. En ese caso hemos obtenido un resultado regular y cercano a bueno, con respecto al objetivo fijado. Independientemente de este valor, las ventas de este comercial para el mes de junio, pueden haber subido, bajado, o haberse mantenido con respecto a un periodo anterior, por ejemplo el mes de mayo (o mes de junio del año anterior, depende de lo que queramos analizar), este dato nos indicará como ha sido la tendencia de ventas. Adicionalmente llevan asociados una serie de gráficos, como semáforos, cuenta-revoluciones, termómetros, emoticonos, flechas de tendencia y demás que nos permiten, además de representar el valor, asignarle una imagen. Un KPI está compuesto por: un valor, un objetivo, un estado y una tendencia.

Pues bien, utilizando el lenguaje MDX comentado anteriormente y la definición de KPI (Key Performance Indicator) que viene incluida en Analysis Services podremos crearlos en el servidor, al igual que los cálculos, para que sean calculados en tiempo de ejecución y devuelvan los resultados al cliente.

Figura 2 – KPIs

Figura 2 – KPIs

 

 

Salvador Ramos

Consultor, Formador y Mentor en Business Intelligence. SQL Server MVP.
Director de Formación en SolidQ.
Microsoft MCSE 2012: Business Intelligence.

Latest posts by Salvador Ramos (see all)