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

Esta função retornará True se timestamp estiver dentro do mês que contém base\_date.

Sintaxe:

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

Diagrama da função `indaytotime`.

Diagrama da função `indaytotime`.

Diagrama da função `indaytotime`indaytotime. ![Diagrama mostrando as condições da função inmonth.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/dr_Diagram_InMonth.png)

Em outras palavras, a função `inmonth()` determina se um conjunto de datas cai neste mês e retorna um valor booleano com base em uma `base_date` que identifica o mês.

Quando usar

A função `inmonth()` retorna um resultado booleano. Normalmente, esse tipo de função será usado como uma condição em um `if expression`. Isso retorna uma agregação ou cálculo dependendo de se uma data ocorreu no mês, incluindo a data em questão.

Por exemplo, a função `inmonth()` pode ser usada para identificar todos os equipamentos fabricados em um mês específico.

Tipo de dados de retorno: Booleano

No Qlik Sense, o valor booleano “true” é representado por -1, e o valor falso é representado por 0.

Argumentos

| Argumento | Descrição |
| --- | --- |
| carimbo de data/hora | A data que você deseja comparar com `base_date`. |
| base\_date | Data que é usada para avaliar o mês. É importante notar que `base_date` pode ser qualquer dia dentro de um 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. |

## 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 |
| --- | --- |
| ` inmonth ('25/01/2013', '01/01/2013', 0)  ` | Retorna True |
| `inmonth('25/01/2013', '23/04/2013', 0)` | Retorna False |
| ` inmonth ('25/01/2013', '01/01/2013', -1)  ` | Retorna False |
| ` inmonth ('25/12/2012', '17/01/2013', -1)  ` | Retorna True |

## Exemplo 1: Sem argumentos adicionais

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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 o primeiro semestre de 2022.

* Um carregamento anterior com uma variável adicional "`in_month`", que determina se as transações ocorreram em abril.

Script de carregamento

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

Transactions: 
  Load 
    *, 
    inmonth(date,'04/01/2022', 0) as in_month 
    ; 
Load 
* 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Resultados

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

* `date`
* `in_month`

Exemplos de funções

| data | in\_month |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

O `campo` "in\_month" é criado na instrução de carregamento anterior usando a função `inmonth()` e transmitindo o campo de data, uma data codificada de 1º de abril, como nossa `base_date` e um `period_no` de `0` como argumentos da função.

A `base_date` identifica o mês que retornará um resultado booleano de TRUE. Portanto, todas as transações que ocorreram em abril retornam TRUE, que é validado na tabela de resultados.

## Exemplo 2 – period\_no

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

#### Script de carregamento e resultados

Visão geral

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

No entanto, neste exemplo, você criará um campo, "`2_months_prior`", que determina se as transações ocorreram dois meses antes de abril.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY'; 
 
Transactions: 
Load 
   *, 
   inmonth(date,'04/01/2022', -2) as [2_months_prior] 
Inline  
[ 
id,date,amount 
8188,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Resultados

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

* `date`
* `2_months_prior`

Exemplos de funções

| data | 2\_months\_prior |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | -1 |
| 2/2/2022 | -1 |
| 2/20/2022 | -1 |
| 4/11/2022 | 0 |
| 4/13/2022 | 0 |
| 4/15/2022 | 0 |
| 4/25/2022 | 0 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

Usar -2 como argumento `period_no` na função `inmonth()` muda o mês definido pelo argumento `base_date` dois meses antes. Neste exemplo, ele altera o mês definido de abril para fevereiro.

Portanto, qualquer transação que ocorra em fevereiro retornará um resultado booleano de TRUE.

## Exemplo 3: Objeto de gráfico

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

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

Visão geral

São usados o mesmo conjunto de dados e cenário dos exemplos anteriores.

No entanto, neste exemplo, o conjunto de dados permanece inalterado e é carregado no aplicativo. O cálculo que determina se as transações ocorreram em abril é 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,'1/10/2022',37.23 
8189,'1/14/2022',17.17 
8190,'1/20/2022',88.27 
8191,'1/22/2022',57.42 
8192,'2/1/2022',53.80 
8193,'2/2/2022',82.06 
8194,'2/20/2022',40.39 
8195,'4/11/2022',87.21 
8196,'4/13/2022',95.93 
8197,'4/15/2022',45.89 
8198,'4/25/2022',36.23 
8199,'5/20/2022',25.66 
8200,'5/22/2022',82.77 
8201,'6/19/2022',69.98 
8202,'6/22/2022',76.11 
]; 
```

Objeto de gráfico

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

`date`

Para calcular se uma transação ocorre em abril, crie a seguinte medida:

`=inmonth(date,'04/01/2022', 0)`

Resultados

Exemplos de funções

| data | =inmonth(date,'04/01/2022', 0) |
| --- | --- |
| 1/10/2022 | 0 |
| 1/14/2022 | 0 |
| 1/20/2022 | 0 |
| 1/22/2022 | 0 |
| 2/1/2022 | 0 |
| 2/2/2022 | 0 |
| 2/20/2022 | 0 |
| 4/11/2022 | -1 |
| 4/13/2022 | -1 |
| 4/15/2022 | -1 |
| 4/25/2022 | -1 |
| 5/20/2022 | 0 |
| 5/22/2022 | 0 |
| 6/19/2022 | 0 |
| 6/22/2022 | 0 |

## Exemplo 4: Cenário

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/inmonth.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 esse campo como uma dimensão:

`=monthname(manufacture_date)`

Crie as seguintes medidas

* `=sum(cost_price)`

* `=if(only(inmonth(manufacture_date,makedate(2022,07,01),0)),'Defective','Faultless')`

1. Defina o Formato numérico da medida como Dinheiro.

2. Em Aparência, desative Totais.

Tabela de resultados

| monthname(manufacture\_date) | =if(only(inmonth(manufacture\_date,makedate(2022,07,01),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 |
| May 2022 | Sem falhas | $127.60 |
| Jun 2022 | Sem falhas | $141.82 |
| Jul 2022 | Com defeito | $214.64 |
| Aug 2022 | Sem falhas | $147.46 |
| Sep 2022 | Sem falhas | $84.21 |
| Oct 2022 | Sem falhas | $163.91 |

A função `inmonth()` retorna um valor booleano ao avaliar as datas de fabricação de cada um dos produtos. Para qualquer produto fabricado em julho de 2022, a função `inmonth()` retorna um valor booleano True e marca os produtos como "Defective". Para qualquer produto que retorne um valor de False e, portanto, não tenha sido fabricado em julho, ele marca os produtos como "Faultless".