BASE DE CONOCIMIENTO

Creando cálculos de fechas para intervalos de fechas específicos


Publicado: 31 Jan 2013
Fecha de la última modificación: 25 Aug 2023

Pregunta

Cómo crear campos calculados que se puedan usar para filtrar intervalos de fechas específicos, como los últimos n días, la última semana o un intervalo de fechas específico.

Entorno

Tableau Desktop

Respuesta

Use las fórmulas siguientes como plantillas para crear campos calculados. En las fórmulas siguientes, Fecha corresponde al nombre de la dimensión de fecha.
 
HAGA CLIC PARA EXPANDIR LA SOLUCIÓN

Filtrar por intervalo de días

Use la fórmula siguiente para crear un campo calculado que filtre para los últimos n días:

IF [Date] < (today() - <n> + 1) OR [Date] > today() THEN NULL ELSE [Date] END
Por ejemplo, un campo calculado que filtre datos de los últimos 90 días tendría la fórmula siguiente:
IF [Date] < (today() - 90 + 1) OR [Date] > today() THEN NULL ELSE [Date] END
Fórmula para los últimos 7 días:
IF [Date] < (today() - 7 + 1) OR [Date] > today() THEN NULL ELSE [Date] END
 
HAGA CLIC PARA EXPANDIR LA SOLUCIÓN

Filtrar por semanas

Use la siguiente fórmula para filtrar los datos de la penúltima semana:
IF [Date] > (today() - 8 + 1) OR [Date] <= (today() - 15 + 1)
THEN NULL ELSE [Date] END
Use la fórmula siguiente para filtrar las últimas ocho semanas:
IF 
DATEPART('week', [Date]) <DATEPART('week', TODAY()) - 8 
OR 
DATEPART('week', [Date]) > DATEPART('week', TODAY()) -1 
THEN NULL 
ELSE [Date]
END

Información adicional

  • Puede usar un parámetro de fecha, otro campo o una fecha fija en lugar de TODAY() para que el cálculo se base en una fecha fijada distinta.
  • Los cálculos se pueden modificar con cualquiera de los valores de "período" que se muestran en Funciones de fecha para filtrar diferentes niveles de fecha.

Vea los ejemplos anteriores en acción en el vídeo siguiente.

Nota: la fecha máxima de la fuente de datos Sample - Superstore es el 6 de enero de 2016 para la dimensión de fecha de envío. Esto quiere decir que no podremos usar TODAY(), pero usaremos un sustituto. 


¿Fue de ayuda este artículo para resolver el problema?