Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду последнего дня месяца, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
Синтаксис:
MonthEnd(date[, period_no])
Другими словами, функция monthend() определяет, на какой месяц приходится дата. Затем она возвращает метку времени в формате даты для последней миллисекунды этого месяца.
Диаграмма функции monthend.
Когда использовать monthend
Функция monthend() используется в составе выражения, когда в расчетах требуется учитывать часть месяца, которая еще не прошла, например, если требуется рассчитать общую сумму процентов, еще не начисленных в течение месяца.
Возвращаемые типы данных: двойное значение
Аргументы
Аргумент
Описание
date
Дата или метка времени для вычисления.
period_no
period_no является целым числом, значение 0 которого или отсутствие значения означает месяц, содержащий значение, указанное в поле date. Отрицательные значения, заданные в поле period_no, означают предшествующие месяцы, положительные — последующие.
Региональные настройки
Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: ММ/ДД/ГГГГ. Формат даты указан в операторе SET DateFormat скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами. Для получения дополнительной информации см. Изменение региональных настроек для создания приложений и скриптов.
Региональные настройки по умолчанию в приложениях основаны на профиле пользователя. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Cloud. Qlik Cloud будет отображаться на языке, который используется в браузере.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
id
date
previous_month_end
previous_month_end_timestamp
Результирующая таблица
id
date
previous_month_end
previous_month_end_timestamp
8188
1/7/2022
12/31/2021
12/31/2021 11:59:59 PM
8189
1/19/2022
12/31/2021
12/31/2021 11:59:59 PM
8190
2/5/2022
01/31/2022
1/31/2022 11:59:59 PM
8191
2/28/2022
01/31/2022
1/31/2022 11:59:59 PM
8192
3/16/2022
02/28/2022
2/28/2022 11:59:59 PM
8193
4/1/2022
03/31/2022
3/31/2022 11:59:59 PM
8194
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
8195
5/16/2022
04/30/2022
4/30/2022 11:59:59 PM
8196
6/15/2022
05/31/2022
5/31/2022 11:59:59 PM
8197
6/26/2022
05/31/2022
5/31/2022 11:59:59 PM
8198
7/9/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
7/22/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
7/23/2022
06/30/2022
6/30/2022 11:59:59 PM
8201
7/27/2022
06/30/2022
6/30/2022 11:59:59 PM
8202
8/2/2022
07/31/2022
7/31/2022 11:59:59 PM
8203
8/8/2022
07/31/2022
7/31/2022 11:59:59 PM
8204
8/19/2022
07/31/2022
7/31/2022 11:59:59 PM
8205
9/26/2022
08/31/2022
8/31/2022 11:59:59 PM
8206
10/14/2022
09/30/2022
9/30/2022 11:59:59 PM
8207
10/29/2022
09/30/2022
9/30/2022 11:59:59 PM
Функция monthend() сначала определяет месяц, в течение которого совершены транзакции, так как используется аргумент сдвига period_no = -1. Затем она возвращается на месяц назад и определяет последнюю миллисекунду предыдущего месяца.
Диаграмма функции monthend с переменной period_no.
Транзакция 8192 совершена 16 марта. Функция monthend() определяет, что месяцем, предшествующим транзакции, является февраль. Затем она возвращает последнюю миллисекунду этого месяца, 23:59:59 (11:59:59 PM) 28 февраля.
Пример 3. Пример диаграммы
Обзор
Используется тот же набор данных и сценарий, что в первом примере.
В этом примере в приложение загружается неизмененный набор данных. Задача заключается в том, чтобы создать расчет, который возвращает метку времени окончания месяца, в котором совершены транзакции, как меру в диаграмме в приложении.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
date
id
Чтобы вычислить дату окончания месяца, в течение которого была совершена транзакция, создайте следующие меры:
=monthend(date)
=timestamp(monthend(date))
Результирующая таблица
id
date
=monthend(date)
=timestamp(monthend(date))
8188
10/14/2022
10/31/2022
10/31/2022 11:59:59 PM
8189
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
8190
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8191
8/2/2022
08/31/2022
8/31/2022 11:59:59 PM
8192
8/8/2022
08/31/2022
8/31/2022 11:59:59 PM
8193
8/19/2022
08/31/2022
8/31/2022 11:59:59 PM
8194
7/9/2022
07/31/2022
7/31/2022 11:59:59 PM
8195
7/22/2022
07/31/2022
7/31/2022 11:59:59 PM
8196
7/23/2022
07/31/2022
7/31/2022 11:59:59 PM
8197
7/27/2022
07/31/2022
7/31/2022 11:59:59 PM
8198
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8199
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8200
5/7/2022
05/31/2022
5/31/2022 11:59:59 PM
8201
5/16/2022
05/31/2022
5/31/2022 11:59:59 PM
8202
4/1/2022
04/30/2022
4/30/2022 11:59:59 PM
8203
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8204
2/5/2022
02/28/2022
2/28/2022 11:59:59 PM
8205
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
8206
1/7/2022
01/31/2022
1/31/2022 11:59:59 PM
8207
1/19/2022
01/31/2022
1/31/2022 11:59:59 PM
Мера end_of_month создана в диаграмме с использованием функции monthend(), где в качестве аргумента функции передано поле даты.
Функция monthend() определяет, к какому месяцу относится значение даты, и возвращает метку времени для последней миллисекунды этого месяца.
Диаграмма функции monthend с переменной period_no.
Транзакция 8192 совершена 16 марта. Функция monthend() возвращает последнюю миллисекунду этого месяца, то есть 23:59:59 (11:59:59 PM) 31 марта.
Пример 4. Сценарий
Обзор
В этом примере набор данных загружается в таблицу под именем Employee_Expenses. Данная таблица содержит следующие поля:
Employee IDs (Идентификаторы сотрудников)
Employee names (Имена сотрудников)
Средние ежедневные заявки на возмещение расходов каждого сотрудника.
Конечному пользователю требуется получить диаграмму, которая по идентификатору и имени сотрудника отображает ожидаемые расходы в течение оставшейся части месяца.
Функция monthend() возвращает дату окончания текущего месяца, используя сегодняшнюю дату в качестве единственного аргумента. Выражение возвращает количество дней, оставшихся в этом месяце, вычитая сегодняшнюю дату из даты окончания месяца.
Затем это значение умножается на среднюю ежедневную заявку на возмещение расходов каждого сотрудника для расчета оценочной суммы заявок, которые каждый сотрудник должен подать до конца месяца.
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!