monthsend Функция скрипта и диаграммы | Qlik Sense для Windows Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

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

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

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

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

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

Diagram showing how monthsend function can be used to identify the latest timestamp of chosen period.
Аргументы
Аргумент Описание
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() может передавать входную переменную, чтобы пользователь мог вычислить общий процент, еще не начисленный за месяц, квартал или полугодие.

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

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: MM/DD/YYYY. Формат даты указан в операторе 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. Сценарий

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

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