Эта функция возвращает значение, соответствующее метке времени, включающей последнюю миллисекунду квартала, содержащего значение, указанное в поле date. По умолчанию для вывода используется формат DateFormat, установленный в скрипте.
Функция quarterend() определяет, на какой квартал приходится дата. Затем она возвращает метку времени в формате даты для последней миллисекунды последнего месяца этого квартала. По умолчанию первым месяцем года является январь. Однако также можно изменить первый месяц, используя аргумент first_month_of_year в функции quarterend().
Примечание к информацииФункция quarterend() не учитывает системную переменнуюFirstMonthOfYear. Год начинается 1 января, если для его изменения не используется аргумент first_month_of_year.
Когда это следует использовать
Функция quarterend() широко используется в составе выражения, когда в расчетах требуется учитывать часть квартала, которая еще не прошла, например, если требуется рассчитать общую сумму процентов, еще не начисленных в течение квартала.
Аргументы
Аргумент
Описание
date
Дата или метка времени для вычисления.
period_no
period_no — целое число, где 0 обозначает квартал, включающий значение, указанное в поле 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 Cloud. Qlik Cloud будет отображаться на языке, который используется в браузере.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
id
date
end_of_quarter
end_of_quarter_timestamp
Результирующая таблица
id
date
end_of_quarter
end_of_quarter_timestamp
8188
1/7/2022
03/31/2022
3/31/2022 11:59:59 PM
8189
1/19/2022
03/31/2022
3/31/2022 11:59:59 PM
8190
2/5/2022
03/31/2022
3/31/2022 11:59:59 PM
8191
2/28/2022
03/31/2022
3/31/2022 11:59:59 PM
8192
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8193
4/1/2022
06/30/2022
6/30/2022 11:59:59 PM
8194
5/7/2022
06/30/2022
6/30/2022 11:59:59 PM
8195
5/16/2022
06/30/2022
6/30/2022 11:59:59 PM
8196
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8197
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8198
7/9/2022
09/30/2022
9/30/2022 11:59:59 PM
8199
7/22/2022
09/30/2022
9/30/2022 11:59:59 PM
8200
7/23/2022
09/30/2022
9/30/2022 11:59:59 PM
8201
7/27/2022
09/30/2022
9/30/2022 11:59:59 PM
8202
8/2/2022
09/30/2022
9/30/2022 11:59:59 PM
8203
8/8/2022
09/30/2022
9/30/2022 11:59:59 PM
8204
8/19/2022
09/30/2022
9/30/2022 11:59:59 PM
8205
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8206
10/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
10/29/2022
12/31/2022
12/31/2022 11:59:59 PM
Поле end_of_quarter создано предшествующим оператором load с использованием функции quarterend(), где в качестве аргумента функции передано поле даты.
Функция quarterend() первоначально определяет, к какому кварталу относится значение даты, и затем возвращает метку времени для последней миллисекунды этого квартала.
Транзакция 8203 совершена 8 августа. Функция quarterend() определяет, что транзакция совершена в третьем квартале, и возвращает последнюю миллисекунду этого квартала, то есть 23:59:59 (11:59:59 PM) 30 сентября.
Пример 2. Аргумент period_no
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, содержащий набор транзакций за 2022 год, который загружается в таблицу под именем Transactions.
Предыдущая загрузка, которая содержит следующее:
Функция quarterend(), заданная как поле previous_quarter_end, которая возвращает метку времени конца квартала, предшествующего совершению транзакции.
Функция timestamp(), заданная как поле previous_end_of_quarter_timestamp, которая возвращает точную метку времени конца квартала, предшествующего совершению транзакции.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
id
date
previous_quarter_end
previous_quarter_end_timestamp
Результирующая таблица
id
date
previous_quarter_end
previous_quarter_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
12/31/2021
12/31/2021 11:59:59 PM
8191
2/28/2022
12/31/2021
12/31/2021 11:59:59 PM
8192
3/16/2022
12/31/2021
12/31/2021 11:59:59 PM
8193
4/1/2022
03/31/2022
3/31/2022 11:59:59 PM
8194
5/7/2022
03/31/2022
3/31/2022 11:59:59 PM
8195
5/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8196
6/15/2022
03/31/2022
3/31/2022 11:59:59 PM
8197
6/26/2022
03/31/2022
3/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
06/30/2022
6/30/2022 11:59:59 PM
8203
8/8/2022
06/30/2022
6/30/2022 11:59:59 PM
8204
8/19/2022
06/30/2022
6/30/2022 11:59:59 PM
8205
9/26/2022
06/30/2022
6/30/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
Так как в качестве аргумента смещения используется period_no = -1, функция quarterend() сначала определяет квартал, в течение которого совершены транзакции. Затем она возвращается на квартал назад и определяет последнюю миллисекунду предыдущего квартала.
Транзакция 8203 совершена 8 августа. Функция quarterend() определяет, что квартал, предшествующий совершению транзакции, начинается 1 апреля и заканчивается 30 июня. Затем функция возвращает последнюю миллисекунду этого квартала, 23:59:59 (11:59:59 PM) 30 июля.
Пример 3. Аргумент first_month_of_year
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, содержащий набор транзакций за 2022 год, который загружается в таблицу под именем Transactions.
Предыдущая загрузка, которая содержит следующее:
Функция quarterend(), заданная как поле end_of_quarter, которая возвращает метку времени конца квартала, в течение которого совершены транзакции.
Функция timestamp(), заданная как поле end_of_quarter_timestamp, которая возвращает точную метку времени конца выбранного квартала.
Однако в этом примере согласно политике компании финансовый год начинается 1 марта.
Так как используется аргумент first_month_of_year = 3 в функции quarterend(), начало года переносится с 1 января на 1 марта.
Транзакция 8203 совершена 8 августа. Так как год начинается 1 марта, он делится на кварталы март-май, июнь-август, сентябрь-ноябрь и декабрь-февраль.
Транзакция 8203 совершена 8 августа. Функция quarterend() определяет, что транзакция совершена в квартале с июня по август и возвращает последнюю миллисекунду этого квартала, то есть 23:59:59 (11:59:59 PM) 31 августа.
Пример 4. Пример объекта диаграммы
Обзор
Используется тот же набор данных и сценарий, что в первом примере.
Однако в этом примере в приложение загружается неизмененный набор данных. Расчет, возвращающий метку времени окончания квартала, в котором совершены транзакции, создается как мера в диаграмме приложения.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
id
date
Чтобы рассчитать дату окончания квартала, в течение которого совершена транзакция, создайте следующие меры:
=quarterend(date)
=timestamp(quarterend(date))
Результирующая таблица
id
date
=quarterend(date)
=timestamp(quarterend(date))
8188
1/7/2022
03/31/2022
3/31/2022 11:59:59 PM
8189
1/19/2022
03/31/2022
3/31/2022 11:59:59 PM
8190
2/5/2022
03/31/2022
3/31/2022 11:59:59 PM
8191
2/28/2022
03/31/2022
3/31/2022 11:59:59 PM
8192
3/16/2022
03/31/2022
3/31/2022 11:59:59 PM
8193
4/1/2022
06/30/2022
6/30/2022 11:59:59 PM
8194
5/7/2022
06/30/2022
6/30/2022 11:59:59 PM
8195
5/16/2022
06/30/2022
6/30/2022 11:59:59 PM
8196
6/15/2022
06/30/2022
6/30/2022 11:59:59 PM
8197
6/26/2022
06/30/2022
6/30/2022 11:59:59 PM
8198
7/9/2022
09/30/2022
9/30/2022 11:59:59 PM
8199
7/22/2022
09/30/2022
9/30/2022 11:59:59 PM
8200
7/23/2022
09/30/2022
9/30/2022 11:59:59 PM
8201
7/27/2022
09/30/2022
9/30/2022 11:59:59 PM
8202
8/2/2022
09/30/2022
9/30/2022 11:59:59 PM
8203
8/8/2022
09/30/2022
9/30/2022 11:59:59 PM
8204
8/19/2022
09/30/2022
9/30/2022 11:59:59 PM
8205
9/26/2022
09/30/2022
9/30/2022 11:59:59 PM
8206
10/14/2022
12/31/2022
12/31/2022 11:59:59 PM
8207
10/29/2022
12/31/2022
12/31/2022 11:59:59 PM
Поле end_of_quarter создано предшествующим оператором load с использованием функции quarterend(), где в качестве аргумента функции передано поле даты.
Функция quarterend() первоначально определяет, к какому кварталу относится значение даты, и затем возвращает метку времени для последней миллисекунды этого квартала.
Транзакция 8203 совершена 8 августа. Функция quarterend() определяет, что транзакция совершена в третьем квартале, и возвращает последнюю миллисекунду этого квартала, то есть 23:59:59 (11:59:59 PM) 30 сентября.
Пример 5. Сценарий
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных загружается в таблицу под именем Employee_Expenses. Данная таблица содержит следующие поля:
Employee IDs (Идентификаторы сотрудников)
Employee names (Имена сотрудников)
Средние ежедневные заявки на возмещение расходов каждого сотрудника.
Конечному пользователю требуется получить объект диаграммы, отображающий по идентификатору и имени сотрудника расчетные расходы, которые еще предстоит понести в течение оставшейся части квартала. Финансовый год начинается в январе.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
employee_id
employee_name
Чтобы рассчитать накопленный процент, создайте следующую меру:
=(quarterend(today(1))-today(1))*avg_daily_claim
Задайте параметру Формат чисел меры значение Денежный.
Результирующая таблица
employee_id
employee_name
=(quarterend(today(1))-today(1))*avg_daily_claim
182
Mark
$480.00
183
Deryck
$400.00
184
Dexter
$400.00
185
Sydney
$864.00
186
Agatha
$576.00
Функция quarterend() возвращает дату окончания текущего месяца, используя сегодняшнюю дату в качестве единственного аргумента. Затем она вычитает сегодняшнюю дату из даты окончания, и выражение возвращает количество дней, оставшихся в этом месяце.
Затем это значение умножается на среднюю ежедневную заявку на возмещение расходов каждого сотрудника для расчета оценочной суммы заявок, которые каждый сотрудник должен подать до конца квартала.
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!