Настройка меток времени

В Oracle Analytics администраторы устанавливают в разделе Настройки системы часовой пояс по умолчанию, который используется для расчетов. Эта глобальная настройка применяется ко всем расчетам. В этом разделе объясняется, как применять функцию TIMESTAMPADD для указания другого часового пояса, чтобы использовать другую метку времени для определенного расчета.

Установка часового пояса по умолчанию, используемого в расчетах

По умолчанию в Oracle Analytics Cloud используется часовой пояс UTC. Следующие функции возвращают значения, используя время и дату UTC:
  • CURRENT_DATE
  • CURRENT_TIME()
  • CURRENT_TIMESTAMP()
  • NOW()

Администраторы могут менять метки времени, используемые в расчетах, с помощью параметра Часовой пояс по умолчанию для расчета даты в разделе Расширенные системные настройки консоли. Выберите в раскрывающемся списке нужный часовой пояс и примените изменения, чтобы новое значение вступило в силу.

Описание GUID-8DB3356D-CD0C-471F-ACA2-9151598FAB51-default.png ниже
.png

Подробнее о глобальных настройках часового пояса см. в разделе Системные настройки — параметры форматирования.

Использование в расчетах другого часового пояса для меток времени

Для создания в расчетах метки времени, отличной от системных настроек, используются функции TIMESTAMPADD и CURRENT_TIMESTAMP() или NOW(). Базовый расчет для TIMESTAMPADD :

TIMESTAMPADD(SQL_TSI_<<interval>>, <<integer expression>>, <<timestamp expression>>)

Для расчетов меток времени в качестве интервала принимается HOUR, а временное смещение равно разнице во времени в часах между UTC и требуемым часовым поясом. Пример:

TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP(5))

Этот расчет возвращает метку текущего времени в часовом поясе US Mountain. Можно создать новый столбец метки времени: либо как производный в источнике логической таблицы, либо как сопоставленный непосредственно с базой данных. Разница заключается в том, где выполняется расчет: в Oracle Analytics или в базе данных. На следующей иллюстрации показан расчет, сопоставленный непосредственно с базой данных в диалоговом окне "Выражение" в построителе выражений.

Описание GUID-27A25D1D-56A1-4C02-9FC2-106F9BAFBE71-default.jpg ниже
.jpg

Если по умолчанию используется часовой пояс UTC, функция CURRENT_DATE не возвращает правильную дату для некоторых значений времени применительно к часовому поясу пользователя. Например, если по времени UTC сейчас полночь, местная дата не соответствует дате UTC до наступления полуночи в соответствующем часовом поясе.

Чтобы решить эту проблему, используйте расчет метки времени как даты. Пример:

cast(TIMESTAMPADD(SQL_TSI_HOUR, -6,CURRENT_TIMESTAMP) as date)

На следующей иллюстрации показан расчет, созданный как вычисляемый столбец в диалоговом окне "Вычисляемый логический столбец" в построителе выражений.

Описание GUID-49CFA011-ED91-477F-AE42-7CEE3D090E34-default.jpg ниже
.jpg

Для уникальных или единичных отчетов можно создать расчет метки времени на уровне отчета либо в визуализации данных, либо в классическом анализе. Если вы планируете использовать расчеты повторно, часто бывает проще определить их как столбцы в семантической модели (или файле RPD).

Подробнее об упомянутых здесь функциях см. в разделах "Функции даты и времени" и "Функции временного ряда."