PARALLELPERIOD

La función PARALLELPERIOD devuelve una tabla conteniendo una columna de fechas que coinciden con las implicadas en el contexto actual desplazadas hacia adelante o hacia atrás un número de intervalos determinado pero ampliadas al intervalo que se haya especificado.

Sintaxis

PARALLELPERIOD(
    dates,
    number_of_intervals,
    interval
)

Parámetros
  • dates: Columna conteniendo fechas.
  • number_of_intervals: Número de intervalos a desplazar hacia adelante o hacia atrás en el tiempo el período implicado en el contexto actual.
  • interval: Tipo de intervalo.
Valor devuelto

La función PARALLELPERIOD devuelve una tabla.

Información adicional

El argumento dates puede ser una referencia a una columna conteniendo fechas, una expresión que devuelva una tabla con una única columna conteniendo fechas o una expresión booleana que defina una tabla con una única columna conteniendo fechas.

Si el argumento number_of_intervals es un número positivo, se considerará el intervalo indicado por el último argumento hacia adelante en el tiempo. Si es negativo, se considerará hacia atrás en el tiempo.

Los valores posibles para el argumento interval son: MONTH, QUARTER o YEAR, y deberán escribirse en mayúsculas y sin comillas.

El resultado devuelto por la función incluirá solo fechas incluidas en la columna dates.

Si el argumento number_of_intervals no es un número entero, se redondea al entero más próximo. De esta forma, la expresión:

PARALLELPERIOD(DimDate[Datekey], -1.6, MONTH)

es equivalente a:

PARALLELPERIOD(DimDate[Datekey], -2, MONTH)

Esta función considera el primer y el último día del contexto actual, los desplaza en el tiempo el número de intervalos especificado, considera el menor intervalo (mes, trimestre o año) que incluye este período y devuelve todas las fechas de dicho intervalo. Si el período temporal implicado en el contexto es un subconjunto del intervalo especificado, la función va a añadir todas las fechas necesarias para completar el intervalo. Así, por ejemplo, si el intervalo especificado es "MONTH", el número de intervalos es -1 (es decir, un intervalo en el pasado) y los períodos considerados en el contexto son meses, la función devolverá, tal y como cabría esperar, las fechas correspondientes al mes anterior. Por el contrario, si el intervalo especificado es "YEAR" pero el período considerado en el contexto es de meses, la función devolverá todo el año anterior, no solo las fechas del mes anterior al implicado en el contexto. Es decir, la función PARALLELPERIOD siempre va a devolver un conjunto de fechas equivalente al intervalo especificado (mes, trimestre o año). Véanse varios ejemplos más adelante.

En el caso de que el contexto actual no sea una fracción de un mes, trimestre o año, el resultado de esta función es de difícil interpretación. Así, si el contexto actual son los períodos correspondientes a la n-ésima semana del año (semanas que en ocasiones caen parte en un mes y parte en otro) y se esté considerando como intervalo el mes y el número de intervalos, por ejemplo, -1, solo las semanas que incluyen el final de mes reciben un valor no vacío como resultado de esta función (y no todas las semanas que incluyen el final de mes reciben un valor no vacío).

Ejemplos

Si, dada una tabla con ventas, definimos la medida:

Ventas = SUM(FactSales[SalesAmount])

...calculando el total de ventas, y la medida:

Ventas un mes anterior = CALCULATE(
    [Ventas],
    PARALLELPERIOD(DimDate[Datekey], -1, MONTH)
)

Podemos llevar a una matriz el listado de meses mostrando ambas medidas:

Función PARALLELPERIOD. Ejemplo de uso

Puede verse cómo la función PARALLELPERIOD devuelve el periodo de tiempo correspondiente al mes anterior, tal y como cabría esperar.

En el escenario anterior, si definimos la medida

Ventas un año atrás = CALCULATE(
    [Ventas],
    PARALLELPERIOD(DimDate[Datekey], -1, YEAR)
)

Y volvemos a llevar ambas medidas a una matriz, el resultado es el siguiente:

Función PARALLELPERIOD. Ejemplo de uso

Para confirmar las cifras devueltas por la última medida creada podemos llevar la medida [Ventas] a una matriz situando los años en la cabecera de cada fila:

Función PARALLELPERIOD. Ejemplo de uso

De esta forma queda confirmado que, en la primera matriz de este ejemplo, la función PARALLELPERIOD devuelve, efectivamente, todas las fechas correspondientes al año anterior al implicado en el contexto actual.

Por último, si una vez definida la medida comentada en el ejemplo anterior la llevamos a una matriz en la que tenemos los años encabezando las filas, el resultado es el siguiente:

Función PARALLELPERIOD. Ejemplo de uso

En este caso, como los períodos de tiempo implicados en el contexto (años) no es un subconjunto del intervalo especificado (meses), la función no completa el período con fechas adicionales y se limita a considerar el período del contexto (año) desplazado un mes hacia atrás. Así, la cifra 2.678.900.061.10 que se ve en la fila correspondiente al año 2008 se corresponde con las ventas entre diciembre de 2007 y noviembre de 2008 (es decir, el año 2008 desplazado un mes hacia atrás). Podemos confirmar esta cifra mostrando las ventas por mes y filtrando la matriz adecuadamente para mostrar solo el período entre diciembre de 2007 y noviembre de 2008:

Función PARALLELPERIOD. Ejemplo de uso

Efectivamente, el total de ventas para este período es la misma cifra que se ha comentado.

Funciones relacionadas
Categoría
Inteligencia de tiempo
Enviado por admin el Mar, 04/12/2018 - 11:31