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

Esta função retornará True se timestamp estiver na parte do trimestre que contém a base\_date até e inclusive o último milissegundo de base\_date.

Sintaxe:

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

Tipo de dados de retorno: Booleano

Nota informativa

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

Diagrama da função inquartertodate

Diagrama da função inquartertodate

Diagrama da função inquartertodate ![Diagrama de exemplo do intervalo de datas dentro do qual a função inquartertodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-general.png)

A função `inquartertodate()` divide o ano em quatro trimestres iguais entre 1º de janeiro e 31 de dezembro (ou o início do ano definido pelo usuário e sua data final correspondente). Usando a `base_date`, a função segmentará um trimestre específico, com `base_date` identificando o trimestre e a data máxima permitida para esse segmento de trimestre. Por fim, a função retorna um resultado booleano ao comparar os valores de data prescritos com esse segmento.

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

## Quando usar

A função `inquartertodate()` retorna um resultado booleano. Normalmente, esse tipo de função será usado como uma condição em uma expressão `if`. A função `inquartertodate()` seria usada para retornar uma agregação ou um cálculo, dependendo de se uma data avaliada ocorreu no trimestre, até e incluindo a data em questão.

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

Exemplos de funções

| Exemplo | Resultado |
| --- | --- |
| `inquartertodate('01/25/2013', '03/25/2013', 0)` | Retorna `TRUE`, já que o valor de `timestamp`, 25/01/2013, está dentro do período de três meses de 01/01/2013 a 25/03/2013, no qual se encontra o valor de `base_date`, 25/03/2013. |
| `inquartertodate('04/26/2013', '03/25/2013', 0)` | Retorna `FALSE`, já que 26/04/2013 está fora do mesmo período do exemplo anterior. |
| `inquartertodate('02/25/2013', '06/09/2013', -1)` | Retorna `TRUE`, já que o valor de `period_no`, -1, desloca o período de pesquisa para um período de três meses (um quarto do ano). Isso torna o período de pesquisa de 01/01/2013 a 09/03/2013. |
| `inquartertodate('03/25/2006', '04/15/2006', 0, 2)` | Retorna `TRUE`, já que o valor de `first_month_of_year` está definido como 2, o que torna o período de pesquisa 01/02/2006 a 15/04/2006 em vez de 01/04/2006 a 15/04/2006. |

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

## Exemplo 1: Sem argumentos adicionais

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

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

* A criação de um campo, `  in_quarter_to_date `, que determina quais transações ocorreram no trimestre até 15 de maio de 2022.

Script de carregamento

```
SET DateFormat='MM/DD/YYYY';
						
Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', 0) as in_quarter_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_quarter_to_date`

Tabela de resultados

| data | in\_quarter\_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 | -1 |
| 5/7/2022 | -1 |
| 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 |

O campo `in_quarter_to_date` é criado na instrução de carregamento anterior usando a função `inquartertodate()`. O primeiro argumento fornecido identifica qual campo está sendo avaliado. O segundo argumento é uma data codificada para 15 de maio, que é a `base_date` que identifica qual trimestre segmentar e que define o limite final desse segmento. Um `period_no` de 0 é o argumento final, o que significa que a função não está comparando trimestres anteriores ou posteriores ao trimestre segmentado.

Diagrama da função inquartertodate, sem argumentos adicionais

Diagrama da função inquartertodate, sem argumentos adicionais

Diagrama da função inquartertodate, sem argumentos adicionais![Diagrama mostrando o intervalo de datas para o qual a função inquartertodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-no-additional-arguments.png)

Qualquer transação que ocorra entre 1º de abril e 15 de maio retorna um resultado booleano de `TRUE`. As transações com datas de 16 de maio e posteriores retornarão `FALSE`, assim como qualquer transação antes de 1º de abril.

## Exemplo 2: period\_no

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

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* A criação de um campo, `previous_qtr_to_date`, que determina quais transações ocorreram um trimestre inteiro antes do término do segmento de trimestre em 15 de maio de 2022.

Script de carregamento

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

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

* `previous_qtr_to_date`

Tabela de resultados

| data | previous\_qtr\_to\_date |
| --- | --- |
| 1/7/2022 | -1 |
| 1/19/2022 | -1 |
| 2/5/2022 | -1 |
| 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 |

Um valor de `period_no` -1 indica que a função `inquartertodate ()` compara o segmento de trimestre de entrada com o trimestre anterior. 15 de maio cai no segundo trimestre do ano e, portanto, o segmento inicialmente equivale a período entre 1º de abril e 15 de maio. `period_no` então desloca esse segmento para três meses antes, fazendo com que os limites de data se tornem de 1º de janeiro a 15 de fevereiro.

Diagrama da função inquartertodate, exemplo de period\_no

Diagrama da função inquartertodate, exemplo de period\_no

Diagrama da função inquartertodate, exemplo de period\_no![Diagrama mostrando o intervalo de datas para o qual a função inquartertodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-period-no.png)

Portanto, qualquer transação que ocorra entre 1º de janeiro e 15 de fevereiro 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/inquartertodate.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:

* O mesmo conjunto de dados e cenário do primeiro exemplo.

* A criação de um campo, `in_quarter_to_date`, que determina quais transações ocorreram no mesmo trimestre até 15 de maio de 2022.

Neste exemplo, definimos março como o primeiro mês do ano fiscal.

Script de carregamento

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

Transactions:
    Load
        *,
        inquartertodate(date,'05/15/2022', 0,3) as in_quarter_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_quarter_to_date`

Tabela de resultados

| data | in\_quarter\_to\_date |
| --- | --- |
| 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 | 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 3 como argumento `first_month_of_year` na função `inquartertodate()`, a função começa o ano em 1º de março e, em seguida, divide o ano em trimestres. Portanto, os segmentos de trimestre são:

* Março a maio

* Junho a agosto

* Setembro a novembro

* Dezembro a fevereiro

A `base_date` de 15 de maio então segmenta o trimestre de março a maio, estabelecendo seu limite final como 15 de maio.

Diagrama da função inquartertodate, exemplo com first\_month\_of\_year

Diagrama da função inquartertodate, exemplo com first\_month\_of\_year

Diagrama da função inquartertodate, exemplo com first\_month\_of\_year![Diagrama mostrando o intervalo de datas para o qual a função inquartertodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-first-mth-yr.png)

Portanto, qualquer transação que ocorra entre 1º de março e 15 de maio retornará um resultado booleano de `TRUE`, enquanto as transações com datas fora desses limites retornarão um valor de `FALSE`.

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

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

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

Visão geral

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

O script de carregamento contém o mesmo conjunto de dados e cenário do primeiro exemplo. No entanto, neste exemplo, o conjunto de dados inalterado é carregado no aplicativo. O cálculo que determina quais transações ocorreram no mesmo trimestre de 15 de maio é criado como uma medida no objeto de gráfico.

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 seguinte medida:

=inquartertodate(date,'05/15/2022', 0)

Tabela de resultados

| data | =inquartertodate(date,'05/15/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 | -1 |
| 5/7/2022 | -1 |
| 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 |

A medida in\_quarter\_to\_date é criada em um objeto de gráfico usando a função inquartertodate(). O primeiro argumento é o campo de data que está sendo avaliado. O segundo argumento é uma data codificada para 15 de maio, que é a base\_date que identifica qual trimestre segmentar e que define o limite final desse segmento. Um period\_no de 0 é o argumento final, o que significa que a função não está comparando trimestres anteriores ou posteriores ao trimestre segmentado.

Diagrama da função inquartertodate, exemplo de objeto de gráfico

Diagrama da função inquartertodate, exemplo de objeto de gráfico

Diagrama da função inquartertodate, exemplo de objeto de gráfico![Diagrama mostrando o intervalo de datas para o qual a função inquartertodate retornará um valor de TRUE.](https://help.qlik.com/pt-BR/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inquartertodate-example-chart-object.png)

Qualquer transação que ocorra entre 1º de abril e 15 de maio retorna um resultado booleano de TRUE. As transações com datas de 16 de maio e posteriores retornarão FALSE, assim como qualquer transação antes de 1º de abril.

## Exemplo 5: Cenário

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

O script de carregamento contém:

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

* Informações sobre o ID do produto, data de fabricação e preço de custo.

Em 15 de maio de 2022, um erro de equipamento foi identificado no processo de fabricação e resolvido. Os produtos que foram fabricados naquele trimestre até essa data estão com defeito. O usuário final deseja um objeto de gráfico que mostre, por nome de trimestre, o status que indica se o produto está "com defeito" ou "sem defeito", bem como o custo dos produtos fabricados naquele trimestre até o momento.

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

Faça o seguinte:

1. Carregue os dados e abra uma pasta. Crie uma nova tabela. Crie uma dimensão para mostrar os nomes dos trimestres:

   =quartername(manufacture\_date)

2. Em seguida, crie uma dimensão para identificar quais dos produtos estão com defeito e quais estão sem defeito:

   =if(inquartertodate(manufacture\_date,makedate(2022,05,15),0),'Defective','Faultless')

3. Crie uma medida para somar o cost\_price dos produtos:

   =sum(cost\_price)

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

Tabela de resultados

| quartername(manufacture\_date) | if(inquartertodate(manufacture\_date,makedate(2022,05,15),0),'Defective','Faultless') | Sum(cost\_price) |
| --- | --- | --- |
| Jan-Mar 2022 | Sem falhas | $253.89 |
| Apr-Jun 2022 | Sem falhas | $229.03 |
| Apr-Jun 2022 | Com defeito | $122.45 |
| Jul-Sep 2022 | Sem falhas | $446.31 |
| Oct-Dec 2022 | Sem falhas | $163.91 |

A função inquartertodate() retorna um valor booleano ao avaliar as datas de fabricação de cada um dos produtos. Para os casos que retornam um valor booleano de TRUE, ela marca os produtos como ‘Defective’. Para qualquer produto que retorne um valor de FALSE e, portanto, não tenha sido fabricado no trimestre até e incluindo o dia 15 de maio, ela marca os produtos como ‘Faultless’.