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

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

Эта функция определяет, находится ли метка времени в части месяца, двухмесячного периода, квартала, трети года (четыре месяца) или полугодия до последней миллисекунды, указанной в поле base_date, включительно. Также можно проследить, находится ли метка времени в предыдущем или в последующем временном периоде.

Синтаксис:  

InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])

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

Схема функции inmonthstodate.

Диаграмма, демонстрирующая использование функции inmonthstodate для определения того, относится ли метка времени к заданному сегменту времени.
Аргументы
Аргумент Описание
n_months

Число месяцев, обозначающее период. Целое число или выражение, определяемое по целому числу, которое должно быть одним из следующих значений: 1 (эквивалентно функции inmonth()), 2 (двухмесячный период), 3 (эквивалентно функции inquarter()), 4 (четыре месяца) или 6 (полугодие).

timestamp Дата, которую необходимо сравнить со значением, указанным в поле base_date.
base_date Дата, использующаяся для оценки периода.
period_no

Период можно сместить, задав значение в поле period_no, целом числе или выражении, определяемом по целому числу, где 0 обозначает период, включающий значение, указанное в поле base_date. Отрицательные значения, заданные в поле period_no, означают предшествующие периоды, положительные — последующие.

first_month_of_year

Если необходимо работать с годами (финансовыми), которые начинаются не в январе, задайте значение от 2 до 12 в поле first_month_of_year.

В функции inmonthstodate() base_date играет роль конечной точки определенного сегмента года, к которому он относится.

Например, если год разбит на сегменты по четыре месяца (треть года) и в качестве base_date задано 15 мая, любая метка времени с начала января до конца апреля будет возвращать булев результат FALSE. Даты с 1 по 15 мая будут возвращать значение TRUE. Остальные метки времени будут возвращать FALSE.

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

Диаграмма, демонстрирующая диапазон булевых результатов функции inmonthstodate.

В качестве аргументов n_month в функции доступны следующие отрезки года.

Аргументы n_month
Период Количество месяцев
месяц 1
два месяца 2
квартал 3
треть года 4
полгода 6

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

Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: ММ/ДД/ГГГГ. Формат даты указан в операторе SET DateFormat скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.

Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому обращается пользователь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Sense. Qlik Sense будет отображаться на языке, который используется в браузере.

Примеры функции
Пример Результат
inmonthstodate(4, '01/25/2013', '04/25/2013', 0) Возвращает True, поскольку значение timestamp, 01/25/2013, находится в четырехмесячном периоде 01/01/2013 по 04/25/2013, в котором находится значение base_date, 04/25/2013.
inmonthstodate(4, '04/26/2013', '04/25/2006', 0) Возвращает False, поскольку 04/26/2013 находится за пределами периода, указанного в предыдущем примере.
inmonthstodate(4, '09/25/2005', '02/01/2006', -1) Возвращает True, поскольку значение period_no, -1, сдвигает период поиска на один период из четырех месяцев назад (значение n-months), вследствие чего период поиска будет составлять промежуток с 01/09/2005 по 02/01/2006.
inmonthstodate(4, '04/25/2006', '06/01/2006', 0, 3) Возвращает True, поскольку для значения first_month_of_year задано 3, вследствие чего период поиска будет составлять промежуток с 03/01/2006 по 06/01/2006 вместо промежутка с 05/01/2006 по 06/01/2006.

Пример 1. Без дополнительных аргументов

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

Пример 3. Аргумент first_month_of_year

Пример 4. Пример диаграммы

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

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!