En Oracle Analytics, los administradores definen la zona horaria por defecto que se utiliza para los cálculos de fecha y hora en Configuración del sistema. Esta configuración global se aplica a todos los cálculos. En este tema se explica cómo utilizar la función TIMESTAMPADD
para especificar otra zona horaria si desea utilizar un registro de hora diferente en un cálculo particular.
Definición de la zona horaria por defecto para los cálculos en la configuración del sistema
CURRENT_DATE
CURRENT_TIME()
CURRENT_TIMESTAMP()
NOW()
Como administrador, puede cambiar el registro de hora que se utiliza en los cálculos mediante la opción Zona horaria por defecto para cálculos de fecha en la consola, en Configuración avanzada del sistema. Seleccione la zona horaria deseada en la lista desplegable y aplique los cambios para que el nuevo valor surta efecto.
.png
Para obtener más información sobre la zona horaria global, consulte Configuración del sistema - Opciones de formato.
Uso de una zona horaria específica para los registros de hora en los cálculos
Para generar un registro de hora diferente de la configuración del sistema en los cálculos, utilice la función TIMESTAMPADD
junto con CURRENT_TIMESTAMP()
o NOW()
. El cálculo de TIMESTAMPADD
básico es:
TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)
Para los cálculos de registro de hora, HOUR
es el intervalo, y el desplazamiento de tiempo es la diferencia en horas entre UTC y la zona horaria en la que se va a generar el informe. Por ejemplo:
TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))
Este cálculo devuelve el registro de hora actual en el horario de las Montañas Rocosas, EE.UU. Puede crear la nueva columna de registro de hora como una columna derivada en el origen de tabla lógica o asignarla directamente a la base de datos. La diferencia es el lugar donde se realizará el cálculo; es decir, en Oracle Analytics o en la base de datos. En la siguiente figura se muestra un cálculo asignado directamente a la base de datos en el cuadro de diálogo Creador de expresiones - Expresión.
Si la zona horaria por defecto está definida en UTC, la función CURRENT_DATE
no devuelve la fecha correcta para determinadas horas del día con respecto a la zona horaria de un usuario. Por ejemplo, cuando es medianoche UTC, la fecha local no coincide con la fecha UTC durante el desplazamiento de tiempo.
La conversión del cálculo de registro de hora como una fecha resuelve esta incidencia. Por ejemplo:
cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)
En la siguiente figura se muestra un cálculo creado como una columna derivada en el cuadro de diálogo Creador de expresiones - Columna lógica derivada.
Para informes únicos o singulares, puede crear cálculos de registro de hora en el nivel de informe, ya sea en una visualización de datos o en un análisis clásico. Si desea reutilizar los cálculos, suele ser más sencillo definirlos como columnas en el modelo semántico (o un archivo RPD).
Para obtener más información sobre las funciones que se mencionan en este tema, consulte Funciones de fecha y hora y Funciones de serie de tiempo.