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

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

Синтаксис:

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

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

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

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

Схема функции `monthsstart()`monthsstart() ![Диаграмма с примером комбинированного использования всех элементов функции для возвращения метки времени.](https://help.qlik.com/ru-RU/sense/May2025/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. |

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

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

* Создание поля `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 |
| --- | --- | --- |
| 2/19/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 3/7/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 3/30/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/5/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/16/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/1/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/7/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/22/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/15/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/26/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/9/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/22/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/23/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/27/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/2/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/8/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/19/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 9/26/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/14/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/29/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |

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

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

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

Диаграмма функции `monthsstart()`monthsstart(), пример без дополнительных аргументов![Диаграмма, демонстрирующая результаты использования функции monthsstart для определения сегмента года, в котором совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2025/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 |
| --- | --- | --- |
| 2/19/2022 | 11/01/2021 | 11/1/2021 12:00:00 AM |
| 3/7/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 |
| 5/1/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/7/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/22/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 6/15/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 6/26/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 7/9/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/22/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/23/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 7/27/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 8/2/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 8/8/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 8/19/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 9/26/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 10/14/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 10/29/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |

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

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

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

Диаграмма функции `monthsstart()`monthsstart(), пример с аргументом period\_no![Диаграмма, демонстрирующая результаты использования функции monthsstart для определения сегмента года, в котором совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2025/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 |
| --- | --- | --- |
| 2/19/2022 | 02/01/2022 | 2/1/2022 12:00:00 AM |
| 3/7/2022 | 02/01/2022 | 2/1/2022 12:00:00 AM |
| 3/30/2022 | 02/01/2022 | 2/1/2022 12:00:00 AM |
| 4/5/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 4/16/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/1/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/7/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/22/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 6/15/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 6/26/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/9/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/22/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/23/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/27/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 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 апреля, а затем делит год на двухмесячные сегменты: Apr-May,Jun-Jul,Aug-Sep,Oct-Nov,Dec-Jan,Feb-Mar.

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

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

Диаграмма функции `monthsstart()`monthsstart(), пример с аргументом first\_month\_of\_year![Диаграмма, демонстрирующая результаты использования функции monthsstart для определения сегмента года, в котором совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2025/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 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/14/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/29/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 7/9/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/22/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/23/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/27/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/2/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/8/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/19/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 5/1/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/7/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 5/22/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/15/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 6/26/2022 | 05/01/2022 | 5/1/2022 12:00:00 AM |
| 3/7/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 3/30/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/5/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/16/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 2/19/2022 | 01/01/2022 | 1/1/2021 12:00:00 AM |

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

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

Диаграмма функции monthsstart()monthsstart(), пример с объектом диаграммы![Диаграмма, демонстрирующая результаты использования функции monthsstart для определения сегмента года, в котором совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2025/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. Выберите Qlik Dashboard bundleи создайте объект Ввод переменной.

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 | =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, чтобы получить эффективную процентную ставку начисленную за этот период. После этого результат умножается на начальный остаток кредита, чтобы вернуть проценты, начисленные до сих пор в течение этого периода.