# monthsstart Função de script e de gráfico

Essa função retorna um valor correspondente ao carimbo de data/hora do primeiro milissegundo do mês, bimestre, trimestre, quadrimestre ou semestre contendo uma data base. Também é possível encontrar o carimbo de data/hora de um período de tempo anterior ou posterior. O formato de saída padrão é o DateFormat definido no script.

Sintaxe:

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

Tipo de dados de retorno: dual

Diagrama da função `monthsstart()`

Diagrama da função `monthsstart()`

Diagrama da função `monthsstart()`monthsstart() ![Diagrama de exemplo mostrando como cada um dos elementos da função trabalha em conjunto para retornar o resultado do carimbo de data/hora.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-general.png)

A função `monthsstart()` divide o ano em segmentos com base no argumento `n_months` fornecido. Em seguida, ela avalia em qual segmento cada data fornecida se encaixa e retorna o primeiro milissegundo desse segmento, em formato de data. A função também fornece a capacidade de retornar o carimbo de data/hora inicial dos segmentos anteriores ou seguintes, bem como de redefinir qual é o primeiro mês do ano.

Os seguintes segmentos do ano estão disponíveis na função como argumentos `n_month`:

Possíveis argumentos `n_month`n\_month

| Períodos | Número de meses |
| --- | --- |
| mês | 1 |
| bimestre | 2 |
| trimestre | 3 |
| quadrimestre | 4 |
| semestre | 6 |

Argumentos

| Argumento | Descrição |
| --- | --- |
| n\_months | O número de meses que define o período. Um inteiro ou uma expressão que se resolve como um inteiro que deve ser um dos seguintes: 1 (equivalente à função inmonth()), 2 (bimestre), 3 (equivalente à função inquarter()), 4 (quadrimestre) ou 6 (semestre). |
| date | A data ou o carimbo de data/hora a ser avaliado. |
| period\_no | O período pode ser deslocado por period\_no, um inteiro ou expressão que resolve um inteiro, no qual o valor 0 indica o período que contém base\_date. Valores negativos em period\_no indicam períodos precedentes e valores positivos indicam períodos sucessivos. |
| first\_month\_of\_year | Se desejar trabalhar com anos (fiscais) que não comecem em janeiro, indique um valor entre 2 e 12 em first\_month\_of\_year. |

## Quando usar monthsstart

A função `monthsstart()` é normalmente usada como parte de uma expressão quando o usuário deseja que o cálculo use a fração de um período que ainda não ocorreu. Isso pode ser usado, por exemplo, para fornecer uma variável de entrada para permitir que o usuário calcule o total de juros acumulados até o momento no mês, trimestre ou semestre.

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `monthsstart(4, '10/19/2013')` | Retorna 09/01/2013. |
| `monthsstart(4, '10/19/2013, -1)` | Retorna 05/01/2013. |
| `monthsstart(4, '10/19/2013', 0, 2<br>)` | Retorna 10/01/2013, porque o início do ano se torna o mês 2. |

## Configurações regionais

A menos que especificado de outra forma, os exemplos neste tópico usam o seguinte formato de data: MM/DD/AAAA. O formato de data é especificado na instrução `SET DateFormat` no seu script de carga de dados. A formatação de data padrão pode ser diferente no seu sistema devido às suas configurações regionais e outros fatores. Você pode alterar os formatos nos exemplos abaixo para atender às suas necessidades. Ou pode alterar os formatos no seu script de carregamento para corresponder a esses exemplos. Para obter mais informações, consulte [Modificando configurações regionais para aplicativos e scripts](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

As configurações regionais padrão nos aplicativos são baseadas no perfil do usuário. Essas configurações de formato regional não estão relacionadas ao idioma exibido na interface do usuário do Qlik Cloud. O Qlik Cloud será exibido no mesmo idioma do navegador que você está usando.

Se você for um criador de aplicativos, poderá definir a região padrão para os aplicativos que criar. Para obter mais informações, consulte [Definir suas configurações regionais preferidas para criar aplicativos e scripts no Qlik Cloud Analytics](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Exemplo 1: Sem argumentos adicionais

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados contendo um conjunto de transações para 2022, que é carregado em uma tabela denominada `Transactions`.

* O campo de data fornecido no formato da variável de sistema `DateFormat`(MM/DD/AAAA).

* A criação de um campo, `bi_monthly_start`, que agrupa as transações em segmentos bimestrais e retorna o carimbo de data/hora inicial do segmento para cada transação.

Script de carregamento

```
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
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `date`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

Tabela de resultados

| data | 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 |

O campo `bi_monthly_start` é criado na instrução de carregamento anterior usando a função `monthsstart()`. O primeiro argumento fornecido é 2, dividindo o ano em segmentos bimestrais. O segundo argumento identifica qual campo está sendo avaliado.

Diagrama da função `monthsstart()`, exemplo sem argumentos adicionais

Diagrama da função `monthsstart()`, exemplo sem argumentos adicionais

Diagrama da função `monthsstart()`monthsstart(), exemplo sem argumentos adicionais ![Diagrama mostrando os resultados do uso da função monthsstart para determinar o segmento do ano em que uma transação ocorreu.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-no-add-arg.png)

A transação 8195 ocorre em 22 de maio. A função `monthsstart()` inicialmente divide o ano em segmentos bimestrais. A transação 8195 cai no segmento entre 1º de maio e 30 de junho. Portanto, a função retorna o primeiro milissegundo desse segmento, 1º de maio de 2022 às 12:00:00.

## Exemplo 2 – period\_no

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* A criação de um campo, `prev_bi_monthly_start`, que retorna o primeiro milissegundo do segmento bimestral antes da transação.

Script de carregamento

```
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
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `date`

* `prev_bi_monthly_start`

* `prev_bi_monthly_start_timestamp`

Tabela de resultados

| data | 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 |

Usando -1 como o argumento `period_no` na função `monthsstart()`, depois de dividir inicialmente um ano em segmentos bimestrais, a função retorna o primeiro milissegundo do segmento bimestral anterior até quando uma transação ocorre.

Diagrama da função `monthsstart()`, exemplo de period\_no

Diagrama da função `monthsstart()`, exemplo de period\_no

Diagrama da função `monthsstart()`monthsstart(), exemplo de period\_no ![Diagrama mostrando os resultados do uso da função monthsstart para determinar o segmento do ano em que uma transação ocorreu.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-period-no.png)

A transação 8195 ocorre no segmento entre maio e junho. Portanto, o segmento bimestral anterior estava entre 1º de março e 30 de abril, então a função retorna o primeiro milissegundo desse segmento, 1º de março de 2022, às 12:00:00 AM.

## Exemplo 3: first\_month\_of\_year

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

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* A criação de um campo, `bi_monthly_start`, que agrupa as transações em segmentos bimestrais e retorna o carimbo de data/hora inicial do conjunto para cada transação.

No entanto, neste exemplo, também precisamos definir abril como o primeiro mês do exercício financeiro.

Script de carregamento

```
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
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `date`

* `bi_monthly_start`

* `bi_monthly_start_timestamp`

Tabela de resultados

| data | 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 |

Usando 4 como o argumento `first_month_of_year` na função `monthsstart()`, a função começa o ano em 1º de abril. Em seguida, ela divide o ano em segmentos bimestrais: Abr-mai, Jun-jul, Ago-set, Out-nov, Dez-jan, Fev-mar.

Diagrama da função `monthsstart()`, exemplo de first\_month\_of\_year

Diagrama da função `monthsstart()`, exemplo de first\_month\_of\_year

Diagrama da função `monthsstart()`monthsstart(), exemplo de first\_month\_of\_year ![Diagrama mostrando os resultados do uso da função monthsstart para determinar o segmento do ano em que uma transação ocorreu.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-first-mth-yr.png)

A transação 8195 ocorreu em 22 de maio e cai no segmento entre 1º de abril e 31 de maio. Portanto, a função retorna o primeiro milissegundo desse segmento, 1º de abril de 2022 às 12:00:00.

## Exemplo 4: Exemplo de objeto de gráfico

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

#### Script de carregamento e expressão de gráfico

Visão geral

Abra o editor de carregamento de dados e adicione o script de carregamento abaixo em uma nova guia.

O script de carregamento contém o mesmo conjunto de dados e cenário do primeiro exemplo.

No entanto, neste exemplo, o conjunto de dados inalterado é carregado no aplicativo. O cálculo que agrupa as transações em segmentos bimestrais e retorna o carimbo de data/hora inicial do conjunto para cada transação é criado como uma medida em um objeto de gráfico do aplicativo.

Script de carregamento

```
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
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão: date.

Crie as seguintes medidas:

=monthsstart(2,date)

=timestamp(monthsstart(2,date))

Esses cálculos recuperarão o carimbo de data/hora inicial do segmento bimestral em que cada transação ocorreu.

Tabela de resultados

| data | =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 |

Diagrama da função monthsstart(), exemplo de objeto de gráfico

Diagrama da função monthsstart(), exemplo de objeto de gráfico

Diagrama da função monthsstart()monthsstart(), exemplo de objeto de gráfico ![Diagrama mostrando os resultados do uso da função monthsstart para determinar o segmento do ano em que uma transação ocorreu.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsstart-example-chart-object.png)

A transação 8195 ocorreu em 22 de maio. A função monthsstart() inicialmente divide o ano em segmentos bimestrais. A transação 8195 cai no segmento entre 1º de maio e 30 de junho. Portanto, a função retorna o primeiro milissegundo desse segmento, 05/01/2022 12:00:00 AM.

## Exemplo 5: Cenário

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

#### Script de carregamento e expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados contendo um conjunto de saldos de empréstimos, que é carregado em uma tabela denominada Loans.

* Dados que consistem em IDs de empréstimos, saldo no início do mês e taxa de juros simples cobrada em cada empréstimo por ano.

O usuário final gostaria de um objeto de gráfico que mostre, por ID de empréstimo, os juros atuais acumulados em cada empréstimo no período de sua escolha. O exercício financeiro começa em janeiro.

Script de carregamento

```
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
];
```

Resultados

Carregue os dados e abra uma pasta.

No início do script de carregamento, foi criada uma variável (vPeriod) que será vinculada ao controle de entrada de variável. Em seguida, configure a variável como um objeto personalizado na pasta.

Faça o seguinte:

1. No painel de ativos, clique em Gráficos.

2. Em Objetos de painel, arraste uma Entrada de variável para a pasta.

3. Insira um título para o objeto de gráfico.

4. Em Variável, selecione vPeriod como o Nome e defina o objeto para ser exibido como um Menu suspenso.

5. Em Valores, configure o objeto para usar valores dinâmicos. Insira o seguinte:  
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

Em seguida, crie a tabela de resultados.

Faça o seguinte:

1. Crie uma nova tabela. Adicione os seguintes campos como dimensões.

   * employee\_id

   * employee\_name

2. Crie uma medida para calcular os juros acumulados:

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

3. Defina o Formato numérico da medida como Dinheiro.Clique em Editar pasta para concluir a edição. Agora, você pode modificar os dados mostrados na tabela ajustando o segmento de tempo no objeto de variável.

É assim que a tabela de resultados ficará quando a opção de período month for selecionada:

Tabela de resultados

| 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 |

A função monthsstart(), usando a entrada do usuário como primeiro argumento e a data de hoje como segundo argumento, retorna a data de início do período escolhido pelo usuário. Ao subtrair esse resultado da data atual, a expressão retorna o número de dias decorridos até o momento nesse período.

Esse valor é então multiplicado pela taxa de juros e dividido por 365 para retornar a taxa de juros efetiva acumulada do período. O resultado é então multiplicado pelo saldo inicial do empréstimo para retornar os juros acumulados até o momento nesse período.