now¶
now
возвращает текущую дату и время с использованием часового пояса отчета GlarusBI.
Создание условной логики с использованием текущей даты или времени¶
Допустим у вас есть некоторые данные о проекте, и вы хотите добавить столбец статуса для каждой задачи. Мы предположим, что сегодняшняя дата и время - 22 ноября 2022 года, 12:00:00.
Задача | Старт | Дедлайн | Статус |
---|---|---|---|
Draft | November 1, 2022, 12:00:00 | November 30, 2022, 12:00:00 | In progress |
Review | November 15, 2022, 12:00:00 | November 19, 2022, 12:00:00 | Needs extension |
Edit | November 22, 2022, 12:00:00 | November 22, 2022, 12:00:00 | DUE RIGHT NOW! |
Чтобы отметить задачу в процессе выполнения, вы можете использовать выражение:
Чтобы проверить нужно ли вам попросить о продлении:
Если же вы ищете адреналин (и у вас есть данные в реальном времени), вы можете отметить задачи, которые должны быть выполнены прямо сейчас:
Чтобы настроить столбец Статус, который объединяет все три ситуации выше, вы обернете все в выражение case
:
case(now >= [Start] AND now < [Deadline], "In progress",
now >= [Start] AND now >= [Deadline], "Needs extension",
now = [Deadline], "DUE RIGHT NOW!")
Типы данных¶
[Типы данных] | Returned by now |
---|---|
String | ❌ |
Number | ❌ |
Timestamp | ✅ |
Boolean | ❌ |
JSON | ❌ |
now
возвращает timestamp with time zone
, если часовые пояса поддерживаются вашей базой данных, в противном случае now
возвращает timestamp without time zone
.
Информация о типах данных приведена в разделе обучения руководства Metabase (англ.).
Для дополнительной информации о том, как эти типы данных ведут себя в Glarus BI, см. Часовые пояса.
Ограничения¶
now
вообще может и не быть now (в вашем местном времени), если вы не живете в том же часовом поясе, что и часовой пояс отчета GlarusBI.
Если вам необходимо сравнить now
с колонкой в другом часовом поясе, используйте convertTimezone для сдвига обеих колонок в один часовой пояс. Например:
convertTimezone(now, 'UTC', <report timezone>) >= convertTimezone([Deadline], 'UTC', <source time zone>)
Связанные функции¶
Описывают различные способы сделать то же самое.
SQL¶
Когда вы запускаете запрос с помощью конструктора запросов, GlarusBI преобразует настройки конструктора запросов (фильтры, сводки и т.д.) в SQL-запрос и запускает этот запрос в вашей базе данных для получения результатов.
По умолчанию now
использует часовой пояс отчета GlarusBI. Если ваш администратор не установил часовой пояс отчета, now
будет использовать часовой пояс вашей базы данных.
Допустим вы используете базу данных Postgres. Если часовой пояс отчёта GlarusBI установлен на EST, вы получите now
в EST:
Если же вы не установили часовой пояс отчета, вы получите now
в часовом поясе вашей базы данных Postgres (обычно UTC):
Таблицы¶
Функция электронных таблиц NOW()
получает текущую дату и время в часовом поясе вашей операционной системы (время, которое находится на вашем компьютере или мобильном устройстве).
Python¶
Вы можете использовать pd.Timestamp.now()
с помощью модуля pandas
. Это даст вам объект Timestamp
с текущей датой и временем в часовом поясе вашей операционной системы.