Функции даты и времени
Функции даты и времени Qlik Sense используются для преобразования значений даты и времени. Все функции можно использовать как в скрипте загрузки данных, так и в выражениях диаграмм.
Функции основываются на серийном номере даты-времени, который равен количеству дней с 30 декабря 1899 г. Целое значение представляет день, а дробное — время дня.
Программа Qlik Sense использует числовое значение параметра, поэтому число может использоваться в качестве параметра также и в тех случаях, когда оно не отформатировано в виде даты или времени. Если параметр не соответствует числовому значению, потому что, например, является строкой, то программа Qlik Sense пытается интерпретировать строку в соответствии с переменными окружения для даты и времени.
Если используемый в параметре формат времени не соответствует установленному в переменных окружения, программа Qlik Sense не сможет правильно выполнить интерпретацию. Для разрешения этой проблемы измените настройки или воспользуйтесь функцией интерпретации.
В примерах для каждой функции допускается время по умолчанию и форматы дат hh:mm:ss и YYYY-MM-DD (ISO 8601).
В ходе обработки метки времени с функцией даты или времени Qlik Sense не учитывает параметры перехода на летнее время, за исключением случаев, когда функция даты или времени включает географическое положение.
Например, ConvertToLocalTime( filetime('Time.qvd'), 'Paris') использует параметры перехода на летнее время, тогда как ConvertToLocalTime(filetime('Time.qvd'), 'GMT-01:00') не использует параметры перехода на летнее время.
Пользуйтесь информацией из раскрывающегося списка по каждой функции, чтобы увидеть краткое описание и синтаксис каждой функции. Дополнительную информацию можно получить, если щелкнуть имя функции в описании синтаксиса.
Целочисленные выражения времени
Эта функция возвращает время в секундах в виде целого числа, а дробное выражение expression интерпретируется как время согласно стандартной интерпретации чисел.
second(expression)
Эта функция возвращает время в минутах в виде целого числа, а дробное выражение expression интерпретируется как время согласно стандартной интерпретации чисел.
minute(expression)
Эта функция возвращает время в часах в виде целого числа, а дробное выражение expression интерпретируется как время согласно стандартной интерпретации чисел.
hour(expression)
Эта функция возвращает день в виде целого числа, а дробное выражение expression интерпретируется как дата согласно стандартной интерпретации чисел.
day(expression)
Эта функция возвращает номер недели в виде целого числа согласно стандарту ISO 8601. Номер недели высчитывается на основе интерпретации данных выражения согласно стандартной интерпретации чисел.
week(expression)
Эта функция возвращает двойное значение с именем месяца, как определено переменной окружения MonthNames, и целое в диапазоне от 1 до 12. Месяц высчитывается на основе интерпретации данных выражения согласно стандартной интерпретации чисел.
month(expression)
Эта функция возвращает год в виде целого числа, а выражение expression интерпретируется как дата согласно стандартной интерпретации чисел.
year(expression)
Эта функция возвращает год, к которому относится номер недели в соответствии с переменными среды. Номер недели в году может быть установлен в пределах от 1 до 52.
weekyear(expression)
Эта функция возвращает двойное значение со следующим:
- Имя дня, как определено переменной окружения DayNames.
- Целое от 0 до 6, соответствующее номинальному дню недели (0–6).
weekday(date)
Функции меток времени
Эта функция возвращает метку текущего времени. Эта функция возвращает значения в формате системной переменной TimeStamp. Значение timer_mode по умолчанию — 1.
now([ timer_mode])
Эта функция возвращает текущую дату. Эта функция возвращает значения в формате системной переменной DateFormat.
today([timer_mode])
Эта функция возвращает метку текущего времени для указанного часового пояса.
localtime([timezone [, ignoreDST ]])
Функции формирования
Эта функция возвращает дату, рассчитанную в формате год YYYY, месяц MM и день DD.
makedate(YYYY [ , MM [ , DD ] ])
Эта функция возвращает дату, рассчитанную на основе года, номера недели и дня недели.
makeweekdate(YYYY [ , WW [ , D ] ])
Эта функция возвращает время, рассчитанное в формате часы hh, минуты mm и секунды ss.
maketime(hh [ , mm [ , ss [ .fff ] ] ])
Другие функции даты
Эта функция возвращает дату через n месяцев после даты начала startdate или, если n является отрицательным числом, — дату за n месяцев до даты начала startdate.
addmonths(startdate, n , [ , mode])
Эта функция возвращает дату через n лет после даты начала startdate или, если n является отрицательным числом, — дату за n лет до даты начала startdate.
addyears(startdate, n)
Эта функция определяет, находится ли введенная метка времени в том году, в котором находится дата последней загрузки скрипта, и возвращает значение True, если это так, и False если это не так.
yeartodate(date [ , yearoffset [ , firstmonth [ , todaydate] ] ])
Функции часовых поясов
Эта функция возвращает часовой пояс, определенный на компьютере, на котором работает подсистема Qlik.
timezone( )
Эта функция возвращает текущее значение Greenwich Mean Time согласно региональным настройкам.
GMT( )
Возвращает текущее время Coordinated Universal Time.
UTC( )
Возвращает текущие настройки перехода на летнее время согласно установкам Windows.
Преобразует формат метки времени UTC или GMT в местное время и выводит в виде двойного значения. Местоположение может задаваться для любого числа городов, мест и часовых поясов Земли.
converttolocaltime(timestamp [, place [, ignore_dst=false]])
Функции установки времени
Данная функция берет в качестве входных значений timestamp и year и обновляет значение timestamp с учетом указанного входного значения year .
setdateyear (timestamp, year)
Данная функция берет в качестве входных значений timestamp, month и year и обновляет значение timestamp с учетом указанных входных значений year и month .
setdateyearmonth (timestamp, year, month)
Функции вхождения
Эта функция возвращает значение True, если поле timestamp находится в пределах года, включающего значение, указанное в поле base_date.
inyear(date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если значение timestamp находится в пределах части года, включающей значение, заданное в поле base_date до последней миллисекунды, указанной в поле base_date, включительно.
inyeartodate (date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если поле timestamp находится в пределах квартала, включающего значение, указанное в поле base_date.
inquarter (date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если значение timestamp находится в пределах части квартала, включающей значение, заданное в поле base_date до последней миллисекунды, указанной в поле base_date, включительно.
inquartertodate (date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если поле timestamp находится в пределах месяца, включающего значение, указанное в поле base_date.
inmonth(date, basedate , shift)
Возвращает значение True, если значение date находится в пределах части месяца, включающей значение, заданное в поле basedate до последней миллисекунды, указанной в поле basedate, включительно.
inmonthtodate (date, basedate , shift)
Эта функция определяет, находится ли метка времени базовой даты в части месяца, двухмесячного периода, квартала, трети года (четыре месяца) или полугодия. Также можно проследить, находится ли метка времени в предыдущем или в последующем временном периоде.
inmonths(n, date, basedate , shift [, first_month_of_year = 1])
Эта функция определяет, находится ли метка времени в части месяца, двухмесячного периода, квартала, трети года (четыре месяца) или полугодия до последней миллисекунды, указанной в поле base_date, включительно. Также можно проследить, находится ли метка времени в предыдущем или в последующем временном периоде.
inmonthstodate (n, date, basedate , shift [, first_month_of_year = 1])
Эта функция возвращает значение True, если поле timestamp находится в пределах недели, включающей значение, указанное в поле base_date.
inweek(date, basedate , shift [, weekstart])
Эта функция возвращает значение True, если значение timestamp находится в пределах части недели, включающей значение, заданное в поле base_date до последней миллисекунды, указанной в поле base_date, включительно.
inweektodate (date, basedate , shift [, weekstart])
Эта функция определяет, находится ли значение timestamp в пределах лунной недели, включающей значение, указанное в поле base_date. При определении лунных недель в Qlik Sense первым днем первой недели считается 1 января. Все недели, кроме последней, будут содержать ровно 7 дней.
inlunarweek (date, basedate , shift [, weekstart])
Эта функция определяет, находится ли значение timestamp в пределах части лунной недели до последней миллисекунды, указанной в поле base_date, включительно. При определении лунных недель в Qlik Sense первым днем первой недели считается 1 января. Все недели, кроме последней будут содержать ровно 7 дней.
inlunarweektodate (date, basedate , shift [, weekstart])
Эта функция возвращает значение True, если поле timestamp находится в пределах дня, включающего значение, указанное в поле base_timestamp.
inday(timestamp, basetimestamp , shift [, daystart])
Эта функция возвращает значение True, если значение timestamp находится в пределах части дня, включающей значение, заданное в поле base_timestamp до определенной миллисекунды, указанной в поле base_timestamp, включительно.
indaytotime(timestamp, basetimestamp , shift [, daystart])
Функции начала и конца
Эта функция возвращает метку времени, соответствующую началу первого дня года, содержащего значение date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
yearstart( date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду последнего дня года, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
yearend( date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает 4-значное значение года с базовым числовым значением, соответствующим метке времени с первой миллисекундой первого дня года, содержащего значение, указанное в поле date.
yearname(date [, shift = 0 [, first_month_of_year = 1]] )
Эта функция возвращает значение, соответствующее метке времени, включающей первую миллисекунду квартала, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
quarterstart(date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду квартала, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
quarterend(date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, отображающее месяцы квартала (в формате переменной MonthNames скрипта) и год с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду первого дня квартала.
quartername(date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени, включающей первую миллисекунду первого дня месяца, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
monthstart(date [, shift = 0])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду последнего дня месяца, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
monthend(date [, shift = 0])
Эта функция возвращает значение, отображающее месяц (в формате переменной MonthNames скрипта) и год с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду первого дня указанного месяца.
monthname(date [, shift = 0])
Эта функция возвращает значение, соответствующее метке времени первой миллисекунды месяца, двухмесячного периода, квартала, трети года (четыре месяца) или полугодия, содержащих базовую дату. Также можно найти метку времени для предыдущего или последующего временного периода.По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
monthsstart(n, date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, соответствующее метке времени последней миллисекунды месяца, двухмесячного периода, квартала, трети года (четыре месяца) или полугодия, содержащих базовую дату. Также можно найти метку времени для предыдущего или последующего временного периода.
monthsend(n, date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, представляющее диапазон месяцев периода (форматированного согласно переменным скрипта MonthNames), а также года. Базовое числовое значение соответствует метке времени первой миллисекунды месяца, двухмесячного периода, квартала, трети года (четыре месяца) или полугодия, содержащих базовую дату.
monthsname(n, date [, shift = 0 [, first_month_of_year = 1]])
Эта функция возвращает значение, которое соответствует метке времени, равной первой миллисекунде первого дня календарной недели, и содержит date. По умолчанию для вывода используется формат DateFormat, заданный в скрипте.
weekstart(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение, которое соответствует метке времени, равной последней миллисекунде последнего дня календарной недели, и содержит date. По умолчанию для вывода используется формат DateFormat, заданный в скрипте.
weekend(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение года и номер недели с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду первого дня недели, содержащего значение, указанное в поле date.
weekname(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени первой миллисекунды первого дня лунной недели, содержащей значение, указанное в поле date. При определении лунных недель в Qlik Sense первым днем первой недели считается 1 января. Все недели, кроме последней будут содержать ровно 7 дней.
lunarweekstart(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени последней миллисекунды последнего дня лунной недели, содержащей значение, указанное в поле date. При определении лунных недель в Qlik Sense первым днем первой недели считается 1 января. Все недели, кроме последней будут содержать ровно 7 дней.
lunarweekend(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение года и номер лунной недели, соответствующие метке времени первой миллисекунды первого дня лунной недели, содержащего значение, указанное в поле date. При определении лунных недель в Qlik Sense первым днем первой недели считается 1 января. Все недели, кроме последней, будут содержать ровно 7 дней.
lunarweekname(date [, shift = 0 [,weekoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени, включающей первую миллисекунду дня, содержащуюся в аргументе time. По умолчанию для вывода используется формат TimestampFormat, установленный в скрипте.
daystart(timestamp [, shift = 0 [, dayoffset = 0]])
Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду дня, содержащуюся в поле time. По умолчанию для вывода используется формат TimestampFormat, установленный в скрипте.
dayend(timestamp [, shift = 0 [, dayoffset = 0]])
Эта функция возвращает значение даты с базовым числовым значением, соответствующим метке времени, включающей первую миллисекунду дня, содержащего значение, указанное в поле time.
dayname(timestamp [, shift = 0 [, dayoffset = 0]])
Функции нумерации дней
Функция age возвращает значение возраста в момент времени, заданный в поле timestamp (полных лет), человека, дата рождения которого указана в поле date_of_birth.
age(timestamp, date_of_birth)
Функция networkdays возвращает число рабочих дней (понедельник-пятница) между и включая значения, указанные в поле start_date и end_date, учитывая выходные, которые можно дополнительно задать в поле holiday.
networkdays (start:date, end_date {, holiday})
Функция firstworkdate возвращает самую позднюю дату начала, при которой период, заданный в поле no_of_workdays (понедельник-пятница), окончится не позднее даты, заданной в поле end_date, с учетом возможных выходных. end_date и holiday должны быть действительными датами или метками времени.
firstworkdate(end_date, no_of_workdays {, holiday} )
Функция lastworkdate возвращает самую раннюю дату окончания для достижения указанного числа рабочих дней no_of_workdays (понедельник-пятница) с начальной датой start_date и с учетом выходных, которые можно дополнительно задать в поле holiday. Поля start_date и holiday должны быть действительными датами или метками времени.
lastworkdate(start_date, no_of_workdays {, holiday})
Эта функция вычисляет номер дня года, на который приходится метка времени. Вычисление выполняется с первой миллисекунды первого дня года, но первый месяц может быть смещен.
daynumberofyear(date[,firstmonth])
Эта функция вычисляет номер дня квартала, на который приходится метка времени. Эта функция используется при создании основного календаря.
daynumberofquarter(date[,firstmonth])