Эта функция возвращает значение True, если поле timestamp находится в пределах месяца, включающего значение, указанное в поле base_date.
Синтаксис:
InMonth (timestamp, base_date, period_no)
Другими словами, функция inmonth() определяет, попадает ли набор дат в этот месяц, и возвращает булево значение на основе base_date, которое идентифицирует месяц.
Когда это следует использовать
Функция inmonth() возвращает результат в виде булева значения. Обычно этот тип функции используется в качестве условия в if expression. Она возвращает агрегирование или расчет в зависимости от того, выпадает ли дата на указанный месяц, включая рассматриваемую дату.
Например, функцию inmonth() можно использовать для идентификации всего оборудования, изготовленного в указанном месяце.
Возвращаемые типы данных: Булево значение
В Qlik Sense логическое значение «истина» представлено как -1, а «ложь» — как 0.
Аргументы
Аргумент
Описание
timestamp
Дата, которую необходимо сравнить со значением, указанным в поле base_date.
base_date
Дата, использующаяся для оценки месяца. Важно отметить, что base_date может быть любым днем в течение месяца.
period_no
Месяц можно сместить, задав значение в поле period_no. period_no — целое число, где 0 обозначает месяц, включающий значение, указанное в поле base_date. Отрицательные значения, заданные в поле period_no, означают предшествующие месяцы, положительные — последующие.
Региональные настройки
Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: ММ/ДД/ГГГГ. Формат даты указан в операторе SET DateFormat скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.
Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому обращается пользователь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Sense. Qlik Sense будет отображаться на языке, который используется в браузере.
Примеры функции
Пример
Результат
inmonth ('25/01/2013', '01/01/2013', 0)
Возвращает True
inmonth('25/01/2013', '23/04/2013', 0)
Возвращает False
inmonth ('25/01/2013', '01/01/2013', -1)
Возвращает False
inmonth ('25/12/2012', '17/01/2013', -1)
Возвращает True
Пример 1. Без дополнительных аргументов
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, содержащий набор транзакций за первую половину 2022 года.
Предыдущая загрузка с дополнительной переменной 'in_month', которая определяет, осуществлены ли транзакции в апреле.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
date
in_month
Примеры функции
date
in_month
1/10/2022
0
1/14/2022
0
1/20/2022
0
1/22/2022
0
2/1/2022
0
2/2/2022
0
2/20/2022
0
4/11/2022
-1
4/13/2022
-1
4/15/2022
-1
4/25/2022
-1
5/20/2022
0
5/22/2022
0
6/19/2022
0
6/22/2022
0
Поле in_month создано предшествующим оператором load с использованием функции inmonth(), где в качестве аргументов функции переданы поле даты, жестко запрограммированная метка времени «1 апреля» в качестве base_date и period_no = 0.
base_date определяет месяц, который вернет булев результат TRUE. Таким образом, все транзакции, совершенные в апреле, возвращают TRUE, что подтверждается таблицей результатов.
Пример 2. Скрипт period_no
Обзор
Используется тот же набор данных и сценарий, что в первом примере.
Однако в этом примере вы создадите поле 2_months_prior, которое определяет, были ли транзакции совершены за два месяца до апреля.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
date
2_months_prior
Примеры функции
date
2_months_prior
1/10/2022
0
1/14/2022
0
1/20/2022
0
1/22/2022
0
2/1/2022
-1
2/2/2022
-1
2/20/2022
-1
4/11/2022
0
4/13/2022
0
4/15/2022
0
4/25/2022
0
5/20/2022
0
5/22/2022
0
6/19/2022
0
6/22/2022
0
Использование -2 в качестве аргумента period_no в функции inmonth() сдвигает месяц, определенный аргументом base_date, на два месяца ранее. В этом примере он изменяет заданный месяц с апреля на февраль.
Таким образом, любая транзакция, совершенная в феврале, вернет булев результат TRUE.
Пример 3. Объект диаграммы
Обзор
Используется тот же набор данных и сценарий, что в предыдущих примерах.
Однако в этом примере в приложение загружается неизмененный набор данных. Расчет, который определяет, совершены ли транзакции в апреле, создается как мера в объекте диаграммы в приложении.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:
date
Чтобы рассчитать, совершена ли транзакция в апреле, создайте следующую меру:
=inmonth(date,'04/01/2022', 0)
Результаты
Примеры функции
date
=inmonth(date,'04/01/2022', 0)
1/10/2022
0
1/14/2022
0
1/20/2022
0
1/22/2022
0
2/1/2022
0
2/2/2022
0
2/20/2022
0
4/11/2022
-1
4/13/2022
-1
4/15/2022
-1
4/25/2022
-1
5/20/2022
0
5/22/2022
0
6/19/2022
0
6/22/2022
0
Пример 4. Сценарий
Обзор
В этом примере набор данных загружается в таблицу под именем Products. Данная таблица содержит следующие поля:
ИД продукта
Время изготовления
Себестоимость
Из-за ошибки оборудования продукты, произведенные в июле 2022 года, оказались бракованными. Проблема была решена 27 июля 2022 года.
Конечному пользователю требуется объект диаграммы, который отображает по месяцу, какие изготовленные продукты были дефектными, а какие бездефектными, а также стоимость продуктов, изготовленных в этом месяце.
Функция inmonth() возвращает логическое значение при проверки дат производства каждого продукта. Для любого изделия, изготовленного в июле 2022 года, функция inmonth() возвращает булево значение True и ставит отметку «Дефектный». Любое изделие, которое возвращает значение False, то есть изготовлено в другой день, отмечается как «Бездефектный».
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!