Tutorial Introducción al MDX: Capítulo 3
Después de algunos días de inactividad por exceso de trabajo he podido avanzar en el tutorial MDX.Ya ha llegado el nuevo capítulo. Siguiendo el hilo del capítulo anterior seguimos avanzando y hoy vemos el capítulo 3.
3.- Dimensiones de tiempo en MDX: funciones especiales
Como ya hemos comentado a lo largo de este tutorial una de las funcionalidades destacadas del lenguaje MDX son las funciones especiales de tratamiento del tiempo.
En el ánalisis multidimensional es muy frecuente comparar los valores de las métricas con los valores de periodos anteriores. Por ejemplo comparar las ventas de junio de 2009 con las ventas de junio de 2008,2007,2006, etc….
También es muy común hacer operaciones acumuladas con periodos móviles: por ejemplo las ventas de los últimos 6 meses o desde enero hasta el mes actual,etc…
Para todo ello MDX permite identificar y tratar de forma especial las dimensiones temporales, para poder aplicar las fórmulas que permiten obtener los cálculos que hemos mencionado en el párrafo anterior.
A continuación nombramos algunas de las principales fórmulas relacionadas con las dimensiones temporales y su sintaxi.
PeriodsToDate
Funcionalidad: Devuelve un conjunto de miembros del mismo nivel que un miembro determinado, empezando por el primer miembro del mismo nivel y acabando con el miembro en cuestión, de acuerdo con la restricción del nivel especificado en la dimensión de tiempo.
Sintaxis: ‹Conjunto› PeriodsToDate(‹Nivel›, ‹Miembro›)
Ejemplo:
PeriodsToDate([Tiempo].[Mensual].[Semestre],[Tiempo].[Mensual].[Mes].[Agosto 2009]
El siguiente ejemplo devolveria el conjunto de meses desde agosto de 2009 hasta el final del semestre es decir julio y agosto de 2009.
Existen funciones especiales para simplificar el uso de PeriodsToDate en sus versiones más comunes y son las siguientes:
WTD(‹miembro›): Devuelve los miembros de la misma semana del miembro específicado. - MTD(
): Devuelve los miembros del mismo mes del miembro específicado. - QTY(‹Miembro‹): Devuelve los miembros del mismo trimestre del miembro específicado.
YTD(‹miembro›): Devuelve los miembros del mismo año del miembro específicado.
ParallelPeriod
Funcionalidad:Devuelve un miembro de un periodo anterior en la misma posición relativa que el miembro especificado.
Sintaxis:‹miembro› ParallelPeriod(‹nivel›, ‹expresión›, ‹miembro›)
Ejemplo:
ParallelPeriod ([Tiempo].[Mes].[Semestre], 3, [Tiempo].[Mensual].[Mes].[Junio 2009])
El siguiente ejemplo devolveria diciembre 2007 que es el equivalente al último mes del semestre retrocediendo 3 semestres en el tiempo.
Hay más funciones de tiempo pero con estas sólo pretendo ilustrar el concepto y la utilidad de estas funciones. Cada uno debera buscar la función que necesite para realizar sus cálculos y funcionalidades en sus cubos.
datawarehouse, documentos, MDX











