Funciones de Tiempo

Funciones de Tiempo Meritxell 2 Octubre, 2014 - 11:57

Parallel Period

Parallel Period Meritxell 2 Octubre, 2014 - 11:59

Sintaxis de la función ParallelPeriod de MDX:

PARALLELPERIOD( [«Level»[, «Numeric Expression»[, «Member»] ] ] )

Esta funcion devuelve el periodo paralelo al corriente. Por tanto, dado un nivel de jerarquía, un número y la medida que queremos analizar nos da el valor de la misma medida en el periodo paralelo. Por tanto, si estás sobre el mes irá al mes anterior, si estamos sobre el año te dará el año anterior,...

Ejemplo de la función ParallelPeriod de MDX

Queremos saber el el importe de pedidos para el periodo año, trimestre, mes, fecha del año pasado de los productos.

Esto seria:

(PARALLELPERIOD ([Dim Periodo].[Año - Semana - Fecha Iso].[Año],1,
                                [Dim Periodo].[Año - Semana - Fecha Iso]), [Measures].[Importe Pedido] )

Puedes ir para atrás al mismo periodo de un año o de más de uno.

Configuración de esta función añadiéndola como un miembro calculado dentro del entorno de SSAS

 

Resultado:

 

Year To Date (YTD)

Year To Date (YTD) Meritxell 2 Octubre, 2014 - 12:02

Sintaxis de la función YTD en MDX:

YTD( [«Member»] )

Esta función devuelve un miembro desde el inicio del año hasta ahora.

Si hacemos la YTD a fecha de hoy de los importes, devolverá la suma de los importes desde inicio de año hasta hoy.

Ejemplo de YearToDate en MDX

sum(YTD( [Dim Periodo].[Año - Semana - Fecha Iso] ), [Measures].[Importe Pedido])

Se ha configurado también a través del entorno SSAS que si la cantidad pedida es igual a 1 se pone en rojo el importe y si es mayor se pone en verde. La pantalla de SSAS queda de la siguiente manera:

 

Resultado:

Otras funciones de MDX muy parecidas a YTD son: QTD (Quarter To Date), MTD (Month To Date), WTD (Week To Date)

 

Periods To Date

Periods To Date Meritxell 2 Octubre, 2014 - 12:05

Sintaxis de PeriodsToDate en MDX:

PERIODSTODATE( [«Level»[, «Member»] ] )

Esta función devuelve el conjunto de miembros del nivel especificado que van del primer miembro hasta el especificado.

Ejemplo de PeriodsToDate en MDX

Si queremos sacar el conjunto de miembros del nivel año hasta el mes de Abril de 2006

Sum (PERIODSTODATE( [Dim Periodo].[Año - Trimestre - Mes - Fecha Iso].[Año],
                                      [Dim Periodo].[Año - Trimestre - Mes - Fecha Iso].[Año].&[2006].&[2.].&[4.] ),
                                      [Measures].[Importe Pedido])

 

En SSAS sería:

 

Resultado: