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

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

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

Tipo de dados de retorno: dual

Diagrama da função `monthsend`.

Diagrama da função `monthsend`.

Diagrama da função `monthsend`monthsend. ![Diagram showing how monthsend function can be used to identify the latest timestamp of chosen period.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-diagram1.png)

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

A função `monthsend()` divide o ano em segmentos com base no argumento `n_months` fornecido. Em seguida, ele avalia em qual segmento cada data fornecida se encaixa e retorna o último milissegundo, em formato de data, desse segmento. A função pode retornar o carimbo de data/hora final dos segmentos anteriores ou seguintes, bem como redefinir o primeiro mês do ano.

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

`n_month`n\_month argumentos

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

Quando usar

A função `monthsend()` é usada como parte de uma expressão quando o usuário deseja que o cálculo use a fração do mês decorrido até o momento. O usuário tem a oportunidade, usando uma variável, de selecionar o período de sua escolha. Por exemplo, `monthsend()` pode fornecer uma variável de entrada para permitir que o usuário calcule o total de juros ainda não acumulados durante o mês, trimestre ou semestre.

## 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 carregamento 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.

As configurações regionais padrão nos aplicativos são baseadas nas configurações regionais do sistema do computador ou servidor onde o Qlik Sense está instalado. Se o servidor Qlik Sense que você está acessando estiver definido como Suécia, o Editor de carregamento de dados usará as configurações regionais suecas para datas, horas e moedas. Essas configurações de formato regional não estão relacionadas ao idioma exibido na Qlik Sense interface do usuário. Qlik Sense será exibido no mesmo idioma do navegador que você está usando.

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `monthsend(4, '07/19/2013')` | Retorna 08/31/2013. |
| `monthsend(4, '10/19/2013', -1)` | Retorna 08/31/2013. |
| `monthsend(4, '10/19/2013', 0, 2)` | Retorna 01/31/2014.<br>Porque o início do ano passa a ser o mês 2. |

## Exemplo 1: Exemplo básico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthsend.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 é carregado em uma tabela denominada ‘`Transactions`’.

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

* Uma instrução de carregamento anterior contendo:

  * A função `monthsend` que é definida como o campo, “`bi_monthly_end`”. Isso agrupa as transações em segmentos bimestrais.

  * A função `timestamp` que retorna o carimbo de data/hora inicial do segmento para cada transação.

Script de carregamento

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

Transactions: 
    Load 
    *, 
    monthsend(2,date) as bi_monthly_end, 
    timestamp(monthsend(2,date)) as bi_monthly_end_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/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:

* `id`
* `date`
* `bi_monthly_end`
* `bi_monthly_end_timestamp`

Tabela de resultados

| id | data | bi\_monthly\_end | bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/22/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 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

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

Diagrama da função `monthsend` com segmentos bimestrais.

Diagrama da função `monthsend` com segmentos bimestrais.

Diagrama da função `monthsend`monthsend com segmentos bimestrais. ![Diagram showing how the monthsend function identifies the selected bi-monthly segment.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example1-diagram.png)

A transação 8195 ocorre em 22 de maio. A função `monthsend()` inicialmente divide o ano em segmentos bimestrais. A transação 8195 cai no segmento entre 1º de maio e 30 de junho. Como resultado, a função retorna o último milissegundo desse segmento, 06/30/2022 11:59:59 PM.

## Exemplo 2: period\_no

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

#### Script de carregamento e resultados

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo.

Neste exemplo, a tarefa é criar um campo, “`prev_bi_monthly_end`”, que retorna o primeiro milissegundo do segmento bimestral antes de a transação ocorrer.

Script de carregamento

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

Transactions: 
    Load 
    *, 
    monthsend(2,date,-1) as prev_bi_monthly_end, 
    timestamp(monthsend(2,date,-1)) as prev_bi_monthly_end_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/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:

* `id`
* `date`
* `prev_bi_monthly_end`
* `prev_bi_monthly_end_timestamp`

Tabela de resultados

| id | data | prev\_bi\_monthly\_end | prev\_bi\_monthly\_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 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 04/30/2022 | 4/30/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 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |

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

Diagrama da função `monthsend` que retorna o segmento bimestral anterior.

Diagrama da função `monthsend` que retorna o segmento bimestral anterior.

Diagrama da função `monthsend`monthsend que retorna o segmento bimestral anterior. ![Diagram of monthsend function with a negative one period_no which returns the previous bi-monthly segment.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example2-diagram.png)

A transação 8195 ocorre no segmento entre maio e junho. Como resultado, o segmento bimestral anterior estava entre 1º de março e 30 de abril e, portanto, a função retorna o último milissegundo desse segmento, 04/30/2022 11:59:59 PM.

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

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

#### Script de carregamento e resultados

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo.

Neste exemplo, a política organizacional é que abril seja o primeiro mês do exercício financeiro.

Crie um campo, "`bi_monthly_end`", que agrupa as transações em segmentos bimestrais e retorna o carimbo de data/hora do último milissegundo do segmento para cada transação.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    monthsend(2,date,0,4) as bi_monthly_end, 
    timestamp(monthsend(2,date,0,4)) as bi_monthly_end_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/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:

* `id`
* `date`
* `bi_monthly_end`
* `bi_monthly_end_timestamp`

Tabela de resultados

| id | data | bi\_monthly\_end | bi\_monthly\_end\_timestamp |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 01/31/2022 | 1/31/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 01/31/2022 | 1/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 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8195 | 5/22/2022 | 05/31/2022 | 5/31/2022 11:59:59 PM |
| 8196 | 6/15/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8197 | 6/26/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8198 | 7/9/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 07/31/2022 | 7/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 07/31/2022 | 7/31/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 | 11/30/2022 | 11/30/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 11/30/2022 | 11/30/2022 11:59:59 PM |

Usando `4` como argumento `first_month_of_year` na função `monthsend()`, a função começa o ano em 1º de abril. Em seguida, divide o ano em segmentos bimestrais: Abr-Mai, Jun-Jul, Ago-Set, Out-Nov, Dez-Jan, Fev-Mar.

Diagrama da função `monthsend` com o primeiro mês do ano definido como abril

Diagrama da função `monthsend` com o primeiro mês do ano definido como abril

Diagrama da função `monthsend`monthsend com o primeiro mês do ano definido como abril ![Diagram of monthsend function with bi-monthly segments and April set as the first month of the year.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example3-diagram.png)

A transação 8195 ocorreu em 22 de maio e cai no segmento entre 1º de abril e 31 de maio. Como resultado, a função retorna o último milissegundo desse segmento, 05/31/2022 11:59:59 PM.

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

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

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

Visão geral

São usados o mesmo conjunto de dados e cenário do primeiro exemplo. No entanto, neste exemplo, o conjunto de dados permanece inalterado e é carregado no aplicativo.

Neste exemplo, a tarefa é criar um cálculo que agrupe as transações em segmentos bimestrais e retorne o carimbo de data/hora do último milissegundo do segmento para cada transação como uma medida em um objeto de gráfico de um 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`

Para obter o carimbo de data/hora do último milissegundo do segmento bimestral quando a transação ocorreu, crie as seguintes medidas:

* `=monthsEnd(2,date)`
* `=timestamp(monthsend(2,date))`

Tabela de resultados

| id | data | =monthsend(2,date) | =timestamp(monthsend(2,date)) |
| --- | --- | --- | --- |
| 8188 | 1/7/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8189 | 1/19/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8190 | 2/5/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8191 | 2/28/2022 | 02/28/2022 | 2/28/2022 11:59:59 PM |
| 8192 | 3/16/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8193 | 4/1/2022 | 04/30/2022 | 4/30/2022 11:59:59 PM |
| 8194 | 5/7/2022 | 06/30/2022 | 6/30/2022 11:59:59 PM |
| 8195 | 5/22/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 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8199 | 7/22/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8200 | 7/23/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8201 | 7/27/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8202 | 8/2/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8203 | 8/8/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8204 | 8/19/2022 | 08/31/2022 | 8/31/2022 11:59:59 PM |
| 8205 | 9/26/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8206 | 10/14/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |
| 8207 | 10/29/2022 | 10/31/2022 | 10/31/2022 11:59:59 PM |

O campo “`bi_monthly_end`” é criado como uma medida no objeto de gráfico usando a função `monthsend()`. O primeiro argumento fornecido é `2`, que divide o ano em segmentos bimestrais. O segundo argumento identifica qual campo está sendo avaliado.

Diagrama da função `monthsend` com segmentos bimestrais.

Diagrama da função `monthsend` com segmentos bimestrais.

Diagrama da função `monthsend`monthsend com segmentos bimestrais. ![Diagram showing how the monthsend function identifies the selected bi-monthly segment using a chart object.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-MonthsEnd-example4-diagram.png)

A transação 8195 ocorre em 22 de maio. A função `monthsend()` inicialmente divide o ano em segmentos bimestrais. A transação 8195 cai no segmento entre 1º de maio e 30 de junho. Como resultado, a função retorna o primeiro milissegundo desse segmento, 06/30/2022 11:59:59 PM.

## Exemplo 5: Cenário

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

#### Script de carregamento e resultados

Visão geral

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

Neste exemplo, um conjunto de dados é carregado em uma tabela chamada "Employee\_Expenses". A tabela contém os seguintes campos:

* IDs de funcionários

* Nomes de funcionários

* As reivindicações de despesas médias diárias de cada funcionário.

O usuário final deseja um gráfico que mostre, por ID do funcionário e nome do funcionário, a declaração de despesas estimada para o restante de um período de sua escolha. O exercício financeiro começa em janeiro.

Script de carregamento

```
SET vPeriod = 1; 

Employee_Expenses: 
Load 
* 
Inline  
[ 
employee_id,employee_name,avg_daily_claim 
182,Mark, $15 
183,Deryck, $12.5  
184,Dexter, $12.5 
185,Sydney,$27 
186,Agatha,$18 
]; 
```

Resultados

Carregue os dados e abra uma nova pasta.

No início do script de carregamento, é criada uma variável vPeriod que é vinculada ao controle de entrada da variável.

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, clique em valores Dinâmicos. Insira o seguinte:

   ```
   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'.
   ```

Crie uma nova tabela e esses campos como dimensões:

* employee\_id

* employee\_name

Para calcular os juros acumulados, crie esta medida:

```
=floor(monthsend($(vPeriod),today(1))-today(1))*avg_daily_claim 
```

Nota informativaEssa medida é dinâmica e produzirá resultados de tabela diferentes, dependendo da data em que você carrega os dados.

Defina o Formato numérico da medida como Dinheiro.

Tabela de resultados

| employee\_id | employee\_name | =floor(monthsend($(vPeriod),today(1))-today(1))\*avg\_daily\_claim |
| --- | --- | --- |
| 182 | Mark | $1410.00 |
| 183 | Deryck | $1175.00 |
| 184 | Dexter | $1175.00 |
| 185 | Sydney | $2538.00 |
| 186 | Agatha | $1692.00 |

A função monthsend() usa a entrada do usuário como primeiro argumento e a data de hoje como segundo argumento. Isso retorna a data de término do período selecionado pelo usuário. Em seguida, a expressão retorna o número de dias que permanecem no período selecionado, subtraindo a data de hoje dessa data de término.

Esse valor é então multiplicado pela média de solicitações de despesas diárias por cada funcionário para calcular o valor estimado das solicitações que cada funcionário deve fazer nos dias restantes desse período.