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

Retornará True se date estiver na parte do mês que contém a basedate até e inclusive o último milissegundo da basedate.

InMonthToDate (timestamp, base\_date, period\_no)

Tipo de dados de retorno: Booleano

Diagrama da função `inmonthtodate`.

Diagrama da função `inmonthtodate`.

Diagrama da função `inmonthtodate`inmonthtodate. ![Diagram showing how inmonthtodate function can be used to identify if a timstamp falls within or outside of a set month.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-diagram1.png)

A função `inmonthtodate()` identifica um mês selecionado como um segmento. O limite inicial é o início do mês. O limite final pode ser definido como uma data posterior no mês. Em seguida, ela determina se um conjunto de datas cai nesse segmento ou não, retornando um valor booleano de TRUE ou FALSE.

Argumentos

| Argumento | Descrição |
| --- | --- |
| timestamp | A data que você deseja comparar com base\_date. |
| base\_date | Data que é usada para avaliar o mês. |
| period\_no | O mês pode ser deslocado por period\_no. period\_no é um inteiro, em que o valor 0 indica o mês que contém base\_date. Valores negativos em period\_no indicam meses precedentes e valores positivos indicam meses sucessivos. |

Quando usar

A função `inmonthtodate()` retorna um resultado booleano. Normalmente, esse tipo de função é utilizada como uma condição em uma `if expression`. A `inmonthtodate()` função retorna uma agregação ou cálculo que depende se uma data ocorreu no mês até e incluindo a data em questão.

Por exemplo, a função `inmonthtodate()` pode ser usada para identificar todos os equipamentos fabricados em um mês até uma data específica.

## 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 |
| --- | --- |
| `inmonthtodate ('01/25/2013', '25/01/2013',<br>0)` | Retorna True |
| `inmonthtodate ('01/25/2013', '24/01/2013',<br>0)` | Retorna False |
| `inmonthtodate ('01/25/2013', '28/02/2013',<br>-1)` | Retorna True |

## Exemplo 1: Sem argumentos adicionais

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonthtodate.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 `DateFormat` variável de sistema (`MM/DD/YYYY`).

* Uma instrução de carregamento anterior contendo:

  * A `inmonthtodate()` função que é definida como o campo, “`in_month_to_date`”. Isso determina quais transações ocorreram entre 1º de julho e 26 de julho de 2022.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', 0) as in_month_to_date 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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`
* `in_month_to_date`

Tabela de resultados

| data | in\_month\_to\_date |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

O campo ‘`in_month_to_date`’ é criado na instrução de carregamento anterior usando a função `inmonthtodate()`.

O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada, 26 de julho, que é a `base_date`. Esse argumento `base_date` identifica qual mês é segmentado e o limite final desse segmento.

Um `period_no` de `0` é o argumento final que significa que a função não está comparando meses anteriores ou posteriores ao mês segmentado.

Diagrama da função `inmonthtodate` sem argumentos adicionais.

Diagrama da função `inmonthtodate` sem argumentos adicionais.

Diagrama da função `inmonthtodate`inmonthtodate sem argumentos adicionais. ![Diagram showing the range of transactions that are identified as TRUE by the inmonthtodate function.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example1-diagram.png)

Como resultado, qualquer transação que ocorra entre 1º de julho e 26 de julho retorna um resultado booleano de TRUE. Qualquer transação que ocorra em julho após 26 de julho retorna um resultado booleano de FALSE, assim como qualquer transação em qualquer outro mês do ano.

## Exemplo 2 – period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonthtodate.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, “`six_months_prior`”, que determina quais transações ocorreram seis meses antes de 1º de julho e 26 de julho.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
    Load 
    *, 
    inmonthtodate(date,'07/26/2022', -6) as six_months_prior 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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`

* `six_months_prior`

Tabela de resultados

| data | six\_months\_prior |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | 0 |
| 7/22/2022 | 0 |
| 7/23/2022 | 0 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

Usando `-6` como o argumento `period_no` na função `inmonthtodate()`, os limites do segmento do mês comparador mudam em seis meses. Inicialmente, o segmento do mês equivale a um período entre 1º de julho e 26 de julho. Em seguida, `period_no` desloca esse segmento em menos seis meses, e os limites de data são alterados e caem entre 1º de janeiro e 26 de janeiro.

Diagrama da função `inmonthtodate` com period\_no definido como -6.

Diagrama da função `inmonthtodate` com period\_no definido como -6.

Diagrama da função `inmonthtodate`inmonthtodate com period\_no definido como -6. ![Diagram showing the range of transactions with the period_no argument set to -6.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example2-diagram.png)

Como resultado, qualquer transação que ocorra entre 1º de janeiro e 26 de janeiro retornará um resultado booleano de TRUE.

## Exemplo 3: Exemplo de gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonthtodate.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.

Neste exemplo, o conjunto de dados permanece inalterado e é carregado no aplicativo. A tarefa é criar um cálculo que determine se as transações ocorreram entre 1º e 26 de julho como uma medida em um gráfico do aplicativo.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
						
Transactions: 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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 esse campo como uma dimensão:

`date`

Para calcular se as transações ocorreram entre 1º de julho e 26 de julho, crie a seguinte medida:

`=inmonthtodate(date,'07/26/2022', 0)`

Tabela de resultados

| data | =inmonthtodate(date,'07/26/2022', 0) |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | 0 |
| 5/7/2022 | 0 |
| 5/16/2022 | 0 |
| 6/15/2022 | 0 |
| 6/26/2022 | 0 |
| 7/9/2022 | -1 |
| 7/22/2022 | -1 |
| 7/23/2022 | -1 |
| 7/27/2022 | 0 |
| 8/2/2022 | 0 |
| 8/8/2022 | 0 |
| 8/19/2022 | 0 |
| 9/26/2022 | 0 |
| 10/14/2022 | 0 |
| 10/29/2022 | 0 |

A medida do campo “`in_month_to_date`” é criada no gráfico usando a função `inmonthtodate()`.

O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada, 26 de julho, que é a `base_date`. Esse argumento base\_date identifica qual mês é segmentado e o limite final desse segmento. Um `period_no` de 0 é o argumento final. Isso significa que a função não está comparando os meses anteriores ou posteriores ao mês segmentado.

Diagrama da função `inmonthtodate` sem argumentos adicionais.

Diagrama da função `inmonthtodate` sem argumentos adicionais.

Diagrama da função `inmonthtodate`inmonthtodate sem argumentos adicionais. ![Diagram showing the range of transactions with between July 1 and July 26.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-inmonthtodate-example3-diagram.png)

Como resultado, qualquer transação que ocorra entre 1º de julho e 26 de julho retorna um resultado booleano de TRUE. Qualquer transação que ocorra em julho após 26 de julho retorna um resultado booleano de FALSE, assim como qualquer transação em qualquer outro mês do ano.

## Exemplo 4: Cenário

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

#### Script de carregamento e resultados

Visão geral

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

* ID do produto

* Data de fabricação

* Preço de custo

Devido a erros de equipamentos, os produtos fabricados no mês de julho de 2022 estavam com defeito. O problema foi resolvido em 27 de julho de 2022.

O usuário final deseja um gráfico que mostre, por mês, o status dos produtos que foram fabricados como "com defeito" (booleano TRUE) ou "sem defeito" (booleano FALSE) e também o custo dos produtos fabricados naquele mês.

Script de carregamento

```
Products: 
Load 
* 
Inline  
[ 
product_id,manufacture_date,cost_price 
8188,'1/19/2022',37.23 
8189,'1/7/2022',17.17 
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:

* `=monthname(manufacture_date)`
* `=if(Inmonthtodate(manufacture_date,makedate(2022,07,26),0),'Defective','Faultless')`

Para calcular o custo da soma dos produtos, crie esta medida:

`=sum(cost_price)`

Defina o Formato numérico da medida como Dinheiro.

Tabela de resultados

| monthname(manufacture\_date) | if(Inmonthtodate(manufacture\_date,makedate(2022,07,26),0),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| Jan 2022 | Sem falhas | $54.40 |
| Feb 2022 | Sem falhas | $145.69 |
| Mar 2022 | Sem falhas | $53.80 |
| Apr 2022 | Sem falhas | $82.06 |
| Maio 2022 | Sem falhas | $127.60 |
| Jun 2022 | Sem falhas | $141.82 |
| Jul 2022 | Com defeito | $144.66 |
| Jul 2022 | Sem falhas | $69.98 |
| Aug 2022 | Sem falhas | $147.46 |
| Sep 2022 | Sem falhas | $84.21 |
| Oct 2022 | Sem falhas | $163.91 |

A função `inmonthtodate()` retorna um valor booleano ao avaliar as datas de fabricação de cada um dos produtos.

Para as datas que retornam um valor booleano de TRUE, o produto é marcado como “Defective”. Para qualquer produto que retorne um valor de FALSE e, portanto, não seja fabricado no mês até 26 de julho, inclusive, ela marca os produtos como “Faultless”.