BASE DE CONOCIMIENTO

Las funciones NOW() y TODAY() indican valores de fecha y hora en una zona horaria inesperada


Publicado: 04 Mar 2013
Fecha de la última modificación: 23 Oct 2023

Problema

Con la función NOW() o TODAY() en un campo calculado, Tableau Desktop indica la hora y fecha en una zona horaria diferente o, al usar un filtro de fecha relativa, la fecha anclada tiene una zona horaria diferente.

Entorno

  • Tableau Desktop
  • PostgreSQL
  • Repositorio de Tableau Server (base de datos PostgreSQL)
  • Amazon Redshift
  • Conexión en tiempo real a fuentes de datos alojadas en un equipo ubicado en una zona horaria diferente

Solución

Opción 1:

Utilice una extracción. Para obtener más información, consulte Extraer los datos.


Opción 2:

Utilice un cálculo con la función DATEADD() para tener en cuenta la diferencia de zona horaria.
Ejemplo 1:
  • Para convertir UTC a PST (hora estándar del Pacífico), la fórmula: NOW()
  • Podría convertirse en: DATEADD('hour', -8, NOW())

Nota: durante el horario de verano, la diferencia de hora entre UTC y PDT será de -7 horas.

Ejemplo 2:

Para convertir UTC a PST (hora estándar del Pacífico) para un filtro de fecha relativa:

  1. Elimine el filtro de fecha del estante Filtros.
  2. Seleccione Análisis > Crear campo calculado.
  3. En el cuadro de diálogo Campo calculado que se abre, siga estos pasos y después haga clic en Aceptar:
    • Asigne un nombre al campo calculado. En este ejemplo, el campo calculado se llama "Filtro de los últimos 3 días".
    • En el campo de fórmula, cree un cálculo parecido al siguiente:

      [Date Field] >= DATEADD('day', -3, DATEADD( 'hour', -8, TODAY() ) )

  4. Arrastre [Filtro de los últimos 3 días] al estante Filtro.
  5. En el cuadro de diálogo Filtro, seleccione Verdadero y haga clic en Aceptar.

 

Causa

En las conexiones en tiempo real, Tableau Desktop consulta la fuente de datos de NOW() o TODAY(). Si la fuente de datos se aloja en un equipo con una zona horaria diferente, puede indicar la fecha y hora de esa zona horaria.

Las conexiones en tiempo real a Redshift y PostgreSQL están diseñadas para indicar la hora UTC debido a incoherencias en la forma en que administran estas fuentes de datos las diferencias de fecha y hora y de zona horaria.

 

Información adicional

Para darnos su apoyo para incluir esta mejora en una próxima versión del producto, añada su voto a la siguiente idea de la comunidad: Timezone conversion support (Posibilidad de conversión de zona horaria).

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