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

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

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

Синтаксис:  

MonthsEnd(n_months, date[, period_no [, first_month_of_year]])

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

Диаграмма функции monthsend.

Диаграмма, демонстрирующая использование функции monthsend для идентификации последней метки времени выбранного периода.
Аргументы
Аргумент Описание
n_months Число месяцев, обозначающее период. Целое число или выражение, определяемое по целому числу, которое должно быть одним из следующих значений: 1 (эквивалентно функции inmonth()), 2 (двухмесячный период), 3 (эквивалентно функции inquarter()), 4 (четыре месяца) или 6 (полугодие).
date Дата или метка времени для вычисления.
period_no Период можно сместить, задав значение в поле period_no, целом числе или выражении, определяемом по целому числу, где 0 обозначает период, включающий значение, указанное в поле base_date. Отрицательные значения, заданные в поле period_no, означают предшествующие периоды, положительные — последующие.
first_month_of_year

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

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

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

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

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

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

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

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

Примеры функции
ПримерРезультат
monthsend(4, '07/19/2013')Возвращает 08/31/2013.
monthsend(4, '10/19/2013', -1)Возвращает 08/31/2013.
monthsend(4, '10/19/2013', 0, 2)Возвращает 01/31/2014.
Поскольку началом года становится месяц 2.

Пример 1. Базовый пример

Пример 2. Аргумент period_no

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

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

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

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

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