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

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

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

Синтаксис:  

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

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

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

Схема функции inmonths()

Диаграмма, которая показывает диапазон времени, в пределах которого функция inmonths() будет оценивать базовую дату как true или false.

Функция inmonths() делит год на сегменты на основе предоставленного аргумента n_months. Затем она определяет, относится ли каждая оцениваемая метка времени к тому же сегменту, что аргумент base_date. Однако если передан аргумент period_no, функция определяет, попадают ли метки времени в предыдущий или следующий период относительно base_date.

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

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

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

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

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

Аргументы
Аргумент Описание
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.

Можно использовать следующие значения, чтобы задать первый месяц года в аргументе first_month_of_year:

значения first_month_of_year
Месяц Значение
Февраль 2
Март 3
Апрель 4
May 5
Июнь 6
Июль 7
Август 8
Сентябрь 9
Октябрь 10
Ноябрь 11
Декабрь 12

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

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

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

Примеры функции
Пример Результат
inmonths(4, '01/25/2013', '04/25/2013', 0)Возвращает TRUE. Поскольку значение timestamp,  01/25/2013, находится в четырехмесячном периоде с 01/01/2013 по 04/30/2013, в котором находится значение  base_date, 04/25/2013.
inmonths(4, '05/25/2013', '04/25/2013', 0)Возвращает FALSE. Поскольку 05/25/2013 находится за пределами периода, указанного в предыдущем примере.
inmonths(4, '11/25/2012', '02/01/2013', -1 )Возвращает TRUE. Поскольку значение period_no, -1, сдвигает период поиска на один период из четырех месяцев назад (значение n-months), вследствие чего период поиска будет составлять промежуток с 09/01/2012 по 12/31/2012.
inmonths(4, '05/25/2006', '03/01/2006', 0, 3)Возвращает TRUE. Возвращает first_month_of_year, так как значение равно  3, в результате чего период поиска длится с 03/01/2006 по 07/30/2006, а не с 01/01/2006 по 04/30/2006.

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

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

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

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

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

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

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