Loading

Los cálculos de fecha, los filtros y las marcas de tiempo muestran resultados imprevistos después de la publicación

Fecha de publicación: May 9, 2023
Descripción
Después de publicar una fuente de datos o un libro de trabajo, los cálculos basados en NOW(), TODAY(), los filtros de fechas relativas y las marcas de tiempo (por ejemplo, la de última actualización) muestran resultados imprevistos. Aparentemente, los cálculos, los filtros y las marcas de tiempo se han calculado en otra zona horaria.

Cause

Después de publicar una fuente de datos o un libro de trabajo, NOW(), TODAY(), los filtros de fechas relativas y las marcas de tiempo se localizan a la zona horaria de Tableau Server o Tableau Cloud.

 
Solución

Para ajustar la zona horaria de los campos de fecha y fecha y hora que se muestran en la vista:

  1. Abra el libro de trabajo en Tableau Desktop.
  2. Seleccione Análisis > Crear campo calculado.
    • Para un campo de fecha y hora, cree un cálculo parecido al siguiente:
      DATEADD('hour',<number of hours>,[<datetime field>])
    • Para un campo de solo fecha, cree un cálculo parecido al siguiente:
      IF DATEPART('hour', NOW()) > <PST time of midnight> then DATEADD('day', 1, <datetime field>) else <datetime field> end
      • Por ejemplo: IF DATEPART('hour', NOW()) > 6 THEN DATEADD('day', 1, [Fecha]) else [Fecha] END. Esta expresión añade un día más en el campo de fecha llamado "Fecha" si la hora supera la medianoche en 6 horas; de lo contrario, la fecha sigue siendo la misma.
      • Para obtener más información acerca de las funciones de fecha DATEPART o DATEADD, consulte Funciones de fecha en la ayuda de Tableau. 
  3. Sustituya el campo de fecha y hora utilizado en la vista por el campo calculado nuevo.
  4. Vuelva a publicar el libro de trabajo o la fuente de datos.


Para sustituir un filtro de fecha relativa por un cálculo que filtre a la hora más reciente en el conjunto de datos:

  1. Cree un cálculo como el siguiente:
    [DateTimeField] >= {FIXED: MAX(DATETRUNC('hour',[DateTimeField]))} 
  2. Coloque el cálculo en el estante Filtro y seleccione la opción para que se muestre "True".


Para sustituir un filtro de fecha relativa por un cálculo que filtre a "esta hora" en la zona horaria deseada:

  1. Cree un cálculo como el siguiente. Tenga en cuenta que el siguiente cálculo convierte la hora del Pacífico (Tableau Cloud 10) a la hora del este de Norteamérica (usuario hipotético):
    [DateTimeField] >= DATEADD('hour', 3, NOW()) 
  2. Coloque el cálculo en el estante Filtro y seleccione la opción para que se muestre "True".
Recursos adicionales
El número de horas para el cambio de hora puede variar si su zona horaria aplica cambios estacionales. El siguiente cálculo convierte el formato UTC a la hora del Pacífico, teniendo en cuenta que los cambios estacionales de la hora se producen el segundo domingo de marzo y el primer domingo de noviembre:
DATEADD('hour',
IF [<datetime field>] <= IFNULL(
    { FIXED DATETRUNC('year', [<datetime field>]) : MIN(
    IF DATEPART('month', [<datetime field>]) = 3
    THEN
    DATEADD('minute', 119, DATEADD('day',    IF DATEPART('weekday', DATETRUNC('month', [<datetime field>])) >1
    THEN 7 - (DATEPART('weekday', DATETRUNC('month', [<datetime field>])) - 1)
    ELSE 0
    END
    + 7,    DATETRUNC('month', [<datetime field>])
    ))
    END
    )}
, TODAY()+1)
OR [<datetime field>] >=
    { FIXED DATETRUNC('year', [<datetime field>]) : MIN(IF DATEPART('month', [<datetime field>]) = 11
    THEN
    DATEADD('minute', 119, DATEADD('day',    IF DATEPART('weekday', DATETRUNC('month', [<datetime field>])) >1
    THEN 7 - (DATEPART('weekday', DATETRUNC('month', [<datetime field>])) - 1)
    ELSE 0
    END,    DATETRUNC('month', [<datetime field>])
    ))
    END
    )}
THEN -8
ELSE -7
END,
[<datetime field>])


Funciones de fecha
La función NOW() devuelve la hora en formato UTC 
 
Número del artículo de conocimiento

001473770

 
Cargando
Salesforce Help | Article