# inquarter – função de script e gráfico

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

Sintaxe:

InQuarter (timestamp, base\_date, period\_no[, first\_month\_of\_year])

Tipo de dados de retorno: Booleano

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

Diagrama do intervalo da função `inquarter()`

Diagrama do intervalo da função `inquarter()`

Diagrama do intervalo da função `inquarter()`inquarter() ![Diagrama que mostra o intervalo de tempo que a função inquarter() avalia.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-diagram1.png)

Em outras palavras, a função `inquarter()` divide o ano em quatro trimestres iguais entre 1º de janeiro e 31 de dezembro. Você pode usar o argumento `first_month_of_year` para alterar qual mês é considerado o primeiro em seu aplicativo, e os trimestres mudarão com base nesse argumento. A função `base_date` identifica qual trimestre deve ser usado como comparador da função. Finalmente, a função retorna um resultado booleano ao comparar valores de data com esse segmento trimestral.

Quando usar

A função `inquarter()` 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 que depende se uma data ocorreu no trimestre selecionado.

Por exemplo, a função `inquarter()` pode ser usada para identificar todos os equipamentos fabricados em um segmento trimestral com base nas datas em que o equipamento foi fabricado.

Argumentos

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

Você pode usar os seguintes valores para definir o primeiro mês do ano no argumento `first_month_of_year`:

Valores first\_month\_of\_year

| Month | Valor |
| --- | --- |
| Fevereiro | 2 |
| Março | 3 |
| Abril | 4 |
| Maio | 5 |
| Junho | 6 |
| Julho | 7 |
| Agosto | 8 |
| Setembro | 9 |
| Outubro | 10 |
| Novembro | 11 |
| Dezembro | 12 |

## 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 |
| --- | --- |
| inquarter ('01/25/2013', '01/01/2013', 0) | Retorna TRUE |
| inquarter ('01/25/2013', '04/01/2013', 0) | Retorna FALSE |
| inquarter ('01/25/2013', '01/01/2013', -1) | Retorna FALSE |
| inquarter ('12/25/2012', '01/01/2013', -1) | Retorna TRUE |
| inquarter ('01/25/2013', '03/01/2013', 0, 3) | Retorna FALSE |
| inquarter ('03/25/2013', '03/01/2013', 0, 3) | Retorna TRUE |

## Exemplo 1: Nenhum argumento adicional

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

O script de carregamento contém:

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

* Um carregamento anterior que contém a função `inquarter()` definida como o `campo` “in\_quarter” e determina quais transações ocorreram no mesmo trimestre de 15 de maio de 2022.

Script de carregamento

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

Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', 0) as in_quarter 
       ; 
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_quarter`

Tabela de resultados

| date | in\_quarter |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/16/2022 | -1 |
| 6/15/2022 | -1 |
| 6/26/2022 | -1 |
| 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 |

O campo "`in_quarter`" é criado na instrução de carregamento anterior usando a função `inquarter()`. O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 15 de maio que identifica qual trimestre definir como o comparador. Um `period_no` de `0` é o argumento final e garante que a função `inquarter()` não compare trimestres anteriores ou posteriores ao trimestre segmentado.

Diagrama da função `inquarter()` com 15 de maio como data base

Diagrama da função `inquarter()` com 15 de maio como data base

Diagrama da função `inquarter()`inquarter() com 15 de maio como data base![Diagrama que mostra o intervalo de tempo avaliado pela função inquarter(), com 15 de maio como data base e o ano dividido em segmentos trimestrais.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example1-diagram.png)

Qualquer transação que ocorra entre 1º de abril e o final de 30 de junho retorna um resultado booleano de TRUE.

## Exemplo 2: period\_no

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

O script de carregamento contém:

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

* Um carregamento anterior que contém a função `inquarter()` definida como o campo “`previous_quarter`” e determina quais transações ocorreram no trimestre anterior ao trimestre de 15 de maio de 2022.

Script de carregamento

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

Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', -1) as previous_qtr 
       ; 
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`
* `previous_qtr`

Tabela de resultados

| date | previous\_qtr |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | -1 |
| 2/28/2022 | -1 |
| 3/16/2022 | -1 |
| 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 |

Usar `-1` como o argumento `period_no` na função `inquarter()` desloca os limites do trimestre comparador para trás em um trimestre inteiro. 15 de maio cai no segundo trimestre do ano e, portanto, o segmento inicialmente equivale ao trimestre de 1º de abril a 30 de junho. `period_no` desloca esse segmento em três meses negativos e faz com que os limites de data se tornem de 1º de janeiro a 30 de março.

Diagrama da função `inquarter()` com 15 de maio como data base

Diagrama da função `inquarter()` com 15 de maio como data base

Diagrama da função `inquarter()`inquarter() com 15 de maio como data base![Diagrama que mostra o intervalo de tempo que a função inquarter() avalia com 15 de maio como data base e period_no definido como -1, movendo os limites da data para trás em um trimestre.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example2-diagram.png)

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

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

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

O script de carregamento contém:

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

* Um carregamento anterior que contém a função `inquarter()` definida como o campo “`in_quarter`” e determina quais transações ocorreram no mesmo trimestre de 15 de maio de 2022.

No entanto, neste exemplo, a política organizacional é que março seja o primeiro mês do exercício financeiro.

Script de carregamento

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

Transactions: 
    Load 
       *, 
       inquarter (date,'05/15/2022', 0, 3) as in_quarter 
       ; 
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`
* `previous_qtr`

Tabela de resultados

| date | previous\_qtr |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | -1 |
| 4/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/16/2022 | -1 |
| 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 |

Usar `3` como argumento `first_month_of_year` na função `inquarter()` define 1º de março como o início do ano e depois divide o ano em trimestres. Portanto, os segmentos trimestrais são de março a maio, junho a agosto, setembro a novembro, dezembro a fevereiro. A `base_date` de 15 de maio define o trimestre de março a maio como o trimestre comparador da função.

Diagrama da função `inquarter()` com março definido como o primeiro mês do ano

Diagrama da função `inquarter()` com março definido como o primeiro mês do ano

Diagrama da função `inquarter()`inquarter() com março definido como o primeiro mês do ano![Diagrama que mostra o intervalo de tempo avaliado pela função inquarter(), com 15 de maio como data base e março definido como o primeiro mês do ano.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example3-diagram.png)

Portanto, qualquer transação que ocorra entre 1º de março e 31 de maio retornará um resultado booleano de TRUE.

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

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

O script de carregamento contém:

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

* Um carregamento anterior que contém a função `inquarter()` definida como o campo “`in_quarter`” e determina quais transações ocorreram no mesmo trimestre de 15 de maio de 2022.

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`

Crie a medida a seguir para calcular se as transações ocorreram no mesmo trimestre de 15 de maio:

`=inquarter(date,'05/15/2022', 0)`

Tabela de resultados

| date | in\_quarter |
| --- | --- |
| 1/7/2022 | 0 |
| 1/19/2022 | 0 |
| 2/5/2022 | 0 |
| 2/28/2022 | 0 |
| 3/16/2022 | 0 |
| 4/1/2022 | -1 |
| 5/7/2022 | -1 |
| 5/16/2022 | -1 |
| 6/15/2022 | -1 |
| 6/26/2022 | -1 |
| 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 |

A medida “`in_quarter`” é criada no gráfico usando a função `inquarter()`. O primeiro argumento identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 15 de maio que identifica qual trimestre definir como o comparador. Um `period_no` de `0` é o argumento final e garante que a função `inquarter()` não compare trimestres anteriores ou posteriores ao trimestre segmentado.

Diagrama da função `inquarter()` com 15 de maio como data base

Diagrama da função `inquarter()` com 15 de maio como data base

Diagrama da função `inquarter()`inquarter() com 15 de maio como data base![Diagrama que mostra o intervalo de tempo avaliado pela função inquarter(), com 15 de maio como data base e o ano dividido em segmentos trimestrais.](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquarter-example1-diagram.png)

Qualquer transação que ocorra entre 1º de abril e o final de 30 de junho retorna um resultado booleano de TRUE.

## Exemplo 5: Cenário

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

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela denominada “Products”.

* A tabela contém os seguintes campos:

  * product ID

  * product type

  * manufacture date

  * cost price

Foi identificado que, devido a um erro no equipamento, os produtos que foram fabricados no trimestre de 15 de maio de 2022 estavam com defeito. O usuário final deseja um gráfico que mostre, por nome do trimestre, o status de quais produtos fabricados estavam “com defeito” ou “sem defeito”, bem como o custo dos produtos fabricados naquele trimestre.

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:

=quartername(manufacture\_date)

Crie as seguintes medidas:

* =if(only(InQuarter(manufacture\_date,makedate(2022,05,15),0)),'Defective','Faultless'), para identificar quais produtos estão com defeito e quais estão sem defeito usando a função inquarter().

* =sum(cost\_price), para mostrar a soma do custo de cada produto.

Faça o seguinte:

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

2. Em Aparência, desative Totais.

Tabela de resultados

| quartername(manufacture\_date) | =if(only(InQuarter(manufacture\_date,makedate(2022,05,15),0)),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| Jan-Mar 2022 | Faultless | 253.89 |
| Apr-Jun 2022 | Defective | 351.48 |
| Jul-Sep 2022 | Faultless | 446.31 |
| Oct-Dec 2022 | Faultless | 163.91 |

A função inquarter() retorna um valor booleano ao avaliar as datas de fabricação de cada um dos produtos. Para qualquer produto fabricado no trimestre que contenha 15 de maio, a função retorna inquarter() um valor booleano de TRUE e marca os produtos como “Defective”. Para qualquer produto que retorne um valor de FALSE e, portanto, não fabricado naquele trimestre, ela marca os produtos como “Faultless”.