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

Sintaxe:

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. ![Diagrama mostrando como a função monthsend pode ser usada para identificar o carimbo de data/hora mais recente do período escolhido.](https://help.qlik.com/pt-BR/sense/November2025/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`.

Argumentos `n_month`n\_month

| 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 em que 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 interface do usuário do Qlik Sense. O 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 da variável de sistema `DateFormat` `(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.![Diagrama mostrando como a função monthsend identifica o segmento bimestral selecionado.](https://help.qlik.com/pt-BR/sense/November2025/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.![Diagrama da função monthsend com menos um period_no, que retorna o segmento bimestral anterior.](https://help.qlik.com/pt-BR/sense/November2025/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 o argumento `first_month_of_year` na função `monthsend()`, a função começa o ano em 1º de abril. Em seguida, ela divide o ano em segmentos bimestrais: abr-maio, 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![Diagrama da função monthsend com segmentos bimestrais e abril definido como o primeiro mês do ano.](https://help.qlik.com/pt-BR/sense/November2025/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.![Diagrama mostrando como a função monthsend identifica o segmento bimestral selecionado usando um objeto de gráfico.](https://help.qlik.com/pt-BR/sense/November2025/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 Objetos personalizados.

2. Selecione o pacote Qlik Dashboard, crie um objeto de Entrada de variável.

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.