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

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

MonthsStart(n\_months, date[, period\_no [, first\_month\_of\_year]])

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

Схема функции `monthsstart()`.

Схема функции `monthsstart()`.

Схема функции `monthsstart()`monthsstart(). ![Example diagram showing how each of the elements of the function work together to return the timestamp result. The year is broken up into a number of segments and given a date input, the function returns a timestamp value.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-general.png)

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

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

Возможные аргументы `n_month`n\_month

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

Аргументы

| Аргумент | Описание |
| --- | --- |
| 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. |

## Когда это следует использовать

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

Примеры функции

| Пример | Результат |
| --- | --- |
| `monthsstart(4, '10/19/2013')` | Возвращает 09/01/2013. |
| `monthsstart(4, '10/19/2013, -1)` | Возвращает 05/01/2013. |
| `monthsstart(4, '10/19/2013', 0, 2<br>)` | Возвращает 10/01/2013, поскольку началом года становится месяц 2. |

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

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

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

## Пример 1. Без дополнительных аргументов

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, содержащий набор транзакций за 2022 год, который загружается в таблицу под именем `Transactions`.

* Поле даты было предоставлено в формате системной переменной `DateFormat` (ММ/ДД/ГГГГ).

* Создание поля `bi_monthly_start`, которое группирует транзакции по двухмесячным сегментам и возвращает метку времени начала сегмента для каждой транзакции.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsstart(2,date) as bi_monthly_start,
        timestamp(monthsstart(2,date)) as bi_monthly_start_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

Результирующая таблица

| date | bi\_monthly\_start | bi\_monthly\_start\_timestamp |
| --- | --- | --- |
| 19.02.2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 7.03.2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 3/30/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 4/5/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 4/16/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 01.05.2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 5/7/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 5/22/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 6/15/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 6/26/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 7/9/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 7/22/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 7/23/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 7/27/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 8/2/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 8/8/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 8/19/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 9/26/2022 | 01.09.2022 | 9/1/2022 12:00:00 AM |
| 10/14/2022 | 01.09.2022 | 9/1/2022 12:00:00 AM |
| 10/29/2022 | 01.09.2022 | 9/1/2022 12:00:00 AM |

Поле `bi_monthly_start` создано в предшествующем операторе load с помощью функции `monthsstart()`. Первый предоставленный аргумент имеет значение 2, что делит год на двухмесячные сегменты. Второй аргумент определяет, какое поле оценивается.

Диаграмма функции `monthsstart()`, пример без дополнительных аргументов

Диаграмма функции `monthsstart()`, пример без дополнительных аргументов

Диаграмма функции `monthsstart()`monthsstart(), пример без дополнительных аргументов ![Diagram showing the results of using the monthsstart function to determine the segment of the year in which a transaction took place. In this case, the year is broken up into segments and the input date is converted to a timestamp.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-no-add-arg.png)

Транзакция 8195 совершена 22 мая. Функция `monthsstart()` изначально делит год на двухмесячные сегменты. Транзакция 8195 попадает в сегмент с 1 мая по 30 июня. Таким образом, функция возвращает первую миллисекунду этого сегмента, то есть 00:00:00 (12:00:00 AM) 1 мая 2022 года.

## Пример 2. Скрипт period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Используется тот же набор данных и сценарий, что в первом примере.

* Создание поля `prev_bi_monthly_start`, которое возвращает первую миллисекунду двухмесячного сегмента, предшествующего совершению транзакции.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsstart(2,date,-1) as prev_bi_monthly_start,
	    timestamp(monthsstart(2,date,-1)) as prev_bi_monthly_start_timestamp
	    ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `prev_bi_monthly_start`

* `prev_bi_monthly_start_timestamp`

Результирующая таблица

| date | prev\_bi\_monthly\_start | prev\_bi\_monthly\_start\_timestamp |
| --- | --- | --- |
| 19.02.2022 | 11/01/2021 | 11/1/2021 12:00:00 AM |
| 7.03.2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 3/30/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 4/5/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 4/16/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 01.05.2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 5/7/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 5/22/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 6/15/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 6/26/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 7/9/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 7/22/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 7/23/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 7/27/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 8/2/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 8/8/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 8/19/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 9/26/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 10/14/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 10/29/2022 | 01.07.2022 | 01.07.2022 00:00:00 |

Используя значение -1 для аргумента `period_no`, функция `monthsstart()` первоначально делит год на двухмесячные сегменты, а затем возвращает первую миллисекунду предыдущего двухмесячного сегмента для момента, когда происходит транзакция.

Диаграмма функции `monthsstart()`, пример с аргументом period\_no

Диаграмма функции `monthsstart()`, пример с аргументом period\_no

Диаграмма функции `monthsstart()`monthsstart(), пример с аргументом period\_no ![Diagram showing the results of using the monthsstart function to determine the segment of the year in which a transaction took place. In this case, the year is broken up into segments and the input date is converted to a timestamp.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-period-no.png)

Транзакция 8195 совершена в сегменте с мая по июнь. Таким образом, предшествующий двухмесячный сегмент был с 1 марта по 30 апреля, поэтому функция возвращает первую миллисекунду этого сегмента, то есть 00:00:00 (12:00:00 AM) 1 мая 2022.

## Пример 3. Аргумент first\_month\_of\_year

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Используется тот же набор данных и сценарий, что в первом примере.

* Создание поля `bi_monthly_start`, которое группирует транзакции по двухмесячным сегментам и возвращает метку времени начала сегмента для каждой транзакции.

Однако в этом примере нам также нужно задать апрель в качестве первого месяца финансового года.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsstart(2,date,0,4) as bi_monthly_start,
        timestamp(monthsstart(2,date,0,4)) as bi_monthly_start_timestamp
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

Результирующая таблица

| date | bi\_monthly\_start | bi\_monthly\_start\_timestamp |
| --- | --- | --- |
| 19.02.2022 | 02/01/2022 | 01.02.2022 00:00:00 |
| 7.03.2022 | 02/01/2022 | 01.02.2022 00:00:00 |
| 3/30/2022 | 02/01/2022 | 01.02.2022 00:00:00 |
| 4/5/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 4/16/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 01.05.2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 5/7/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 5/22/2022 | 04/01/2022 | 01.04.2022 00:00:00 |
| 6/15/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 6/26/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 7/9/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 7/22/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 7/23/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 7/27/2022 | 01.06.2022 | 01.06.2022 00:00:00 |
| 8/2/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 8/8/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 8/19/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 9/26/2022 | 08/01/2022 | 8/1/2022 12:00:00 AM |
| 10/14/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |
| 10/29/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |

Так как используется 4 в качестве аргумента `first_month_of_year` в функции `monthsstart()`, функция начинает год 1 апреля. Затем он делит год на двухмесячные сегменты: Апр-Май, Июн-Июл, Авг-Сен, Окт-Ноя, Дек-Янв, Фев-Мар.

Диаграмма функции `monthsstart()`, пример с аргументом first\_month\_of\_year

Диаграмма функции `monthsstart()`, пример с аргументом first\_month\_of\_year

Диаграмма функции `monthsstart()`monthsstart(), пример с аргументом first\_month\_of\_year ![Diagram showing the results of using the monthsstart function to determine the segment of the year in which a transaction took place. In this case, the year is broken up into segments and the input date is converted to a timestamp.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-first-mth-yr.png)

Транзакция 8195 состоялась 22 мая и попадает в сегмент с 1 апреля по 31 мая. Таким образом, функция возвращает первую миллисекунду этого сегмента, то есть в 00:00:00 (12:00:00 AM) 1 апреля 2022 года.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### Скрипт загрузки и выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.

Скрипт загрузки содержит тот же набор данных и сценарий, что в первом примере.

Однако в этом примере в приложение загружается неизмененный набор данных. Расчет, который группирует транзакции в двухмесячные сегменты и возвращает начальную метку времени сегмента для каждой транзакции, создается как мера в объекте диаграммы приложения.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение: date.

Создайте следующие меры:

=monthsstart(2,date)

=timestamp(monthsstart(2,date))

Эти вычисления возвращают начальную метку времени двухмесячного сегмента, в течение которого совершена каждая транзакция.

Результирующая таблица

| date | =monthsstart(2,date) | =timestamp(monthsstart(2,date)) |
| --- | --- | --- |
| 9/26/2022 | 01.09.2022 | 9/1/2022 12:00:00 AM |
| 10/14/2022 | 01.09.2022 | 9/1/2022 12:00:00 AM |
| 10/29/2022 | 01.09.2022 | 9/1/2022 12:00:00 AM |
| 7/9/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 7/22/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 7/23/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 7/27/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 8/2/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 8/8/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 8/19/2022 | 01.07.2022 | 01.07.2022 00:00:00 |
| 01.05.2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 5/7/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 5/22/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 6/15/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 6/26/2022 | 05/01/2022 | 01.05.2022 00:00:00 |
| 7.03.2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 3/30/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 4/5/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 4/16/2022 | 01.03.2022 | 3/1/2022 12:00:00 AM |
| 19.02.2022 | 01/01/2022 | 1/1/2021 12:00:00 AM |

Диаграмма функции monthsstart(), пример с объектом диаграммы

Диаграмма функции monthsstart(), пример с объектом диаграммы

Диаграмма функции monthsstart()monthsstart(), пример с объектом диаграммы ![Diagram showing the results of using the monthsstart function to determine the segment of the year in which a transaction took place. In this case, the year is broken up into segments and the input date is converted to a timestamp.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-chart-object.png)

Транзакция 8195 совершена 22 мая. Функция monthsstart() изначально делит год на двухмесячные сегменты. Транзакция 8195 попадает в сегмент с 1 мая по 30 июня. Таким образом, функция возвращает первую миллисекунду этого сегмента, то есть 05/01/2022 12:00:00 AM.

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

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsstart.htm)

#### Скрипт загрузки и выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, содержащий набор остатков по кредитам, загруженный в таблицу под именем Loans.

* Данные, включая идентификаторы кредитов, остаток на начало месяца и простая процентная ставка, взимаемая по каждому кредиту за год.

Конечному пользователю требуется объект диаграммы, который будет отображать по идентификатору кредита текущий процент, начисленный по каждому кредиту за выбранный период. Финансовый год начинается в январе.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';

Loans:
Load
*
Inline
[
loan_id,start_balance,rate
8188,$10000.00,0.024
8189,$15000.00,0.057
8190,$17500.00,0.024
8191,$21000.00,0.034
8192,$90000.00,0.084
];
```

Результаты

Загрузите данные и откройте лист.

В начале скрипта загрузки создана переменная (vPeriod), которая будет привязана к элементу управления вводом переменной. Затем настройте переменную как настраиваемый объект на листе.

Выполните следующие действия.

1. На панели ресурсов щелкните Диаграммы.

2. В разделе Объекты панели мониторинга перетащите Ввод переменной на лист.

3. Введите заголовок для объекта диаграммы.

4. В разделе Переменная выберите vPeriod в качестве имени и задайте для отображения объект Раскрывающийся список.

5. В разделе Значения настройте для объекта использование динамических значений. Введите следующее:  
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

Затем создайте таблицу результатов.

Выполните следующие действия.

1. Создайте новую таблицу. Добавьте следующие поля как измерения:

   * employee\_id

   * employee\_name

2. Чтобы рассчитать накопленный процент, создайте меру:

   =start\_balance\*(rate\*(today(1)-monthsstart($(vPeriod),today(1)))/365)

3. Задайте параметру меры Формат чисел значение Денежный. Щелкните the Изменение завершено icon. Теперь можно модифицировать данные, показанные в таблице, изменив сегмент времени в объекте переменной.

Вот как будет выглядеть таблица результатов при выборе периода month:

Результирующая таблица

| loan\_id | начальный\_баланс | =start\_balance\*(rate\*(today(1)-monthsstart($(vPeriod),today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000.00 | $7.95 |
| 8189 | $15000.00 | $67.93 |
| 8190 | $17500.00 | $33.37 |
| 8191 | $21000.00 | $56.73 |
| 8192 | $90000.00 | $600.66 |

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

Затем это значение умножается на процентную ставку и делится на 365, чтобы получить эффективную процентную ставку начисленную за этот период. После этого результат умножается на начальный остаток кредита, чтобы вернуть проценты, начисленные до сих пор в течение этого периода.