Перейти к основному содержимому

inday — функция скриптa и диаграммы

Эта функция возвращает значение True, если поле timestamp находится в пределах дня, включающего значение, указанное в поле base_timestamp.

Синтаксис:  

InDay (timestamp, base_timestamp, period_no[, day_start])

Схема функции inday

На схеме показано применение функции inday для идентификации сегмента времени и возвращения логических результатов на основе такого сегмента.

Функция inday() использует аргумент base_timestamp для идентификации дня, на который выпадает метка времени. Временем начала дня по умолчанию является полночь, но его можно изменить с помощью аргумента day_start функции inday(). Когда этот день определен, функция будет возвращать логические результаты при сравнении предварительно заданных значений метки времени с этим днем.

Функция inday() возвращает результат в виде логического значения. Обычно этот тип функции используется в качестве условия в if expression. Она возвращает агрегирование или расчет в зависимости от того, совпадает ли проверяемая дата с днем рассматриваемой метки времени.

Например, функцию inday() можно использовать для идентификации всего оборудования, изготовленного в указанный день.

Возвращаемые типы данных: Булево значение

В Qlik Sense логическое значение «истина» представлено как -1, а «ложь» — как 0.

Аргументы
Аргумент Описание
timestamp Дата и время, которые требуется сравнить с base_timestamp.
base_timestamp Дата и время, использующиеся для оценки метки времени.
period_no День можно сместить, задав значение в поле period_no. period_no — целое число, где 0 обозначает день, включающий значение, указанное в поле base_timestamp. Отрицательные значения, заданные в поле period_no, означают предшествующие дни, положительные — последующие.
day_start Если необходимо работать с днями, которые начинаются не в полночь, задайте смещение в виде десятичного значения в поле day_start, например, 0,125, чтобы день начинался в 3 часа (3 am).

В этих примерах используется формат метки времени «M/D/YYYY h:mm:ss[.fff] TT». Формат метки времени указан в операторе SET TimestampFormat в верхней части скрипта загрузки данных. Измените формат в примерах согласно своим пожеланиям.

Примеры функции
Темы Взаимодействие
inday ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) Возвращает True
inday ('01/12/2006 12:23:00 PM', '01/13/2006 12:00:00 AM', 0) Возвращает False
inday ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', -1) Возвращает False
inday ('01/11/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', -1) Возвращает True
inday ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0, 0.5) Возвращает False
inday ('01/12/2006 11:23:00 AM', '01/12/2006 12:00:00 AM', 0, 0.5) Возвращает True

Пример 1. Оператор Load (скрипт)

Пример 2. Скрипт period_no

Пример 3. Скрипт day_start

Пример 4. Объект диаграммы

Пример 5. Сценарий