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

Esta função retorna True se timestamp estiver na parte do dia que contém a base\_timestamp até e inclusive o exato milissegundo da base\_timestamp.

Sintaxe:

InDayToTime (timestamp, base\_timestamp, period\_no[, day\_start])

A função `indaytotime()` retorna um resultado booleano dependendo de quando um valor de carimbo de data/hora ocorre durante o segmento do dia. O limite inicial desse segmento é o início do dia, que é definido como meia-noite por padrão. O início do dia pode ser modificado pelo argumento `day_start` da função `indaytotime()`. O limite final do segmento do dia é determinado por um argumento `base_timestamp` da função.

Diagrama da função `indaytotime`.

Diagrama da função `indaytotime`.

Diagrama da função `indaytotime`indaytotime. ![Diagrama mostrando as relações entre as variáveis da função indaytotime.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

Quando usar

A função `indaytotime()` retorna um resultado booleano. Normalmente, esse tipo de função será usado como uma condição em um `if expression`. A função `indaytotime()` retorna uma agregação ou cálculo dependendo de um carimbo de data/hora ter ocorrido no segmento do dia até e incluindo a hora do carimbo de data/hora base.

Por exemplo, a função `indaytotime()` pode ser usada para mostrar a soma das vendas de ingressos para shows que ocorreram até hoje.

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 |
| --- | --- |
| ` timestamp  ` | A data e hora que você deseja comparar com `base_timestamp`. |
| ` base_timestamp  ` | Data e hora que são usadas para avaliar o carimbo de data/hora. |
| ` period_no  ` | O dia pode ser deslocado por `period_no`. `period_no` é um inteiro, em que o valor 0 indica o dia que contém `base_timestamp`. Valores negativos em `period_no` indicam dias precedentes, e valores positivos indicam dias sucessivos. |
| ` day_start  ` | (opcional) Se quiser trabalhar com dias que não começam à meia-noite, indique um deslocamento como uma fração de um dia em `day_start`. Por exemplo, use 0,125 para representar 3h. |

## 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 |
| --- | --- |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', 0) | Retorna True |
| `indaytotime` ('01/12/2006 12:23:00 PM', '01/12/2006 12:00:00 AM', 0) | Retorna False |
| `indaytotime` '01/11/2006 12:23:00 PM', '01/12/2006 11:59:00 PM', -1) | Retorna True |

## Exemplo 1: sem argumentos adicionais

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/indaytotime.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 para o período entre 4 e 5 de janeiro é carregado em uma tabela chamada "Transactions".

* Um campo de data que é fornecido na variável do sistema `TimeStamp`, no formato `(M/D/YYYY h:mm:ss[.fff] TT)`.

* Um carregamento anterior que contém a função `indaytotime()` definida como o campo `'in_day_to_time'`, que determina se cada uma das transações ocorrerá antes das 9h.

Script de carregamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM',0) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultados

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

* `date`

* `in_day_to_time`

Tabela de resultados

| data | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Exemplo 1 – Diagrama da função `indaytotime` com limite de 9h.

Exemplo 1 – Diagrama da função `indaytotime` com limite de 9h.

Exemplo 1 – Diagrama da função `indaytotime`indaytotime com limite de 9h. ![Diagrama mostrando a função indaytotime() com um limite de 9h.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example1-diagram.png)

O campo `in_day_to_time field` é criado na instrução de carregamento anterior usando a função `indaytotime()` e transmitindo o campo de data, um carimbo de data/hora codificado para 9h de 5 de janeiro e um deslocamento de 0 como argumentos da função. Todas as transações que ocorrerem entre a meia-noite e as 9h do dia 5 de janeiro retornarão TRUE.

## Exemplo 2 – period\_no

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

#### Script de carregamento e resultados

Visão geral

O script de carregamento usa o mesmo conjunto de dados e cenário que foram usados no primeiro exemplo.

No entanto, neste exemplo, você calculará se a data da transação ocorreu um dia antes das 9h do dia 5 de janeiro.

Script de carregamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', -1) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultados

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

* `date`

* `in_day_to_time`

Tabela de resultados

| data | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | -1 |
| 01/04/2022 4:19:43 AM | -1 |
| 01/04/2022 04:53:47 AM | -1 |
| 01/04/2022 8:38:53 AM | -1 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | 0 |
| 01/05/2022 8:44:36 AM | 0 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Exemplo 2 – Diagrama de função `indaytotime` com transações de 4 de janeiro.

Exemplo 2 – Diagrama de função `indaytotime` com transações de 4 de janeiro.

Exemplo 2 – Diagrama de função `indaytotime`indaytotime com transações de 4 de janeiro. ![Diagrama mostrando a função indaytotime(), que usa um period_no de -1 para retornar transações a partir de 4 de janeiro.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example2-diagram.png)

Neste exemplo, como um deslocamento de -1 foi usado como argumento de deslocamento na função `indaytotime()`, ela determina se cada data de transação ocorreu antes das 9h de 4 de janeiro. Isso pode ser verificado na tabela de saída em que uma transação retorna um resultado booleano TRUE.

## Exemplo 3 – day\_start

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/indaytotime.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, a política da empresa é que a jornada de trabalho comece e termine às 8h.

Script de carregamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Transactions:
    Load
        *,
        indaytotime(date,'01/05/2022 9:00:00 AM', 0,8/24) as in_day_to_time
        ;
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultados

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

* `date`

* `in_day_to_time`

Tabela de resultados

| data | in\_day\_to\_time |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | 0 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

Exemplo 3 – Diagrama da função `indaytotime` com transações das 8h às 9h.

Exemplo 3 – Diagrama da função `indaytotime` com transações das 8h às 9h.

Exemplo 3 – Diagrama da função `indaytotime`indaytotime com transações das 8h às 9h. ![Diagrama mostrando a função indaytotime() que mostra transações das 8h às 9h.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-example3-diagram.png)

Como o argumento `start_day` de 8/24, que equivale a 8h, é usado na função `indaytotime()`, cada dia começa e termina às 8h. Portanto, a função `indaytotime()` retornará um resultado booleano TRUE para qualquer transação que tenha ocorrido entre 8h e 9h em 5 de janeiro.

## Exemplo 4 – Objeto de gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/indaytotime.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. Você calculará para determinar se uma transação ocorrerá em 5 de janeiro antes das 9h, criando uma medida em um objeto de gráfico.

Script de carregamento

```

Transactions:
Load
*
Inline 
[
id,date,amount
8188,'01/04/2022 3:41:54 AM',25.66
8189,'01/04/2022 4:19:43 AM',87.21
8190,'01/04/2022 4:53:47 AM',53.80
8191,'01/04/2022 8:38:53 AM',69.98
8192,'01/04/2022 10:37:52 AM',57.42
8193,'01/04/2022 1:54:10 PM',45.89
8194,'01/04/2022 5:53:23 PM',82.77
8195,'01/04/2022 8:13:26 PM',36.23
8196,'01/04/2022 10:00:49 PM',76.11
8197,'01/05/2022 7:45:37 AM',82.06
8198,'01/05/2022 8:44:36 AM',17.17
8199,'01/05/2022 11:26:08 AM',40.39
8200,'01/05/2022 6:43:08 PM',37.23
8201,'01/05/2022 10:54:10 PM',88.27
8202,'01/05/2022 11:09:09 PM',95.93
];
```

Resultados

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

`date`.

Para determinar se uma transação ocorre em 5 de janeiro antes das 9h, crie a seguinte medida:

`=indaytotime(date,'01/05/2022 9:00:00 AM',0)`

Tabela de resultados

| data | =indaytotime(date,'01/05/2022 9:00:00 AM',0) |
| --- | --- |
| 01/04/2022 3:41:54 AM | 0 |
| 01/04/2022 4:19:43 AM | 0 |
| 01/04/2022 04:53:47 AM | 0 |
| 01/04/2022 8:38:53 AM | 0 |
| 01/04/2022 10:37:52 AM | 0 |
| 01/04/2022 1:54:10 PM | 0 |
| 01/04/2022 5:53:23 PM | 0 |
| 01/04/2022 8:13:26 PM | 0 |
| 01/04/2022 10:00:49 PM | 0 |
| 01/05/2022 7:45:37 AM | -1 |
| 01/05/2022 8:44:36 AM | -1 |
| 01/05/2022 11:26:08 AM | 0 |
| 01/05/2022 6:43:08 PM | 0 |
| 01/05/2022 10:54:10 PM | 0 |
| 01/05/2022 11:09:09 PM | 0 |

A medida `in_day_to_time` é criada no objeto de gráfico usando a função `indaytotime()` e transmitindo o campo de data, um carimbo de data/hora codificado para 9h em 5 de janeiro e um deslocamento de `0` como argumentos da função. Todas as transações que ocorrerem entre a meia-noite e as 9h do dia 5 de janeiro retornarão TRUE. Isso é validado na tabela de resultados.

## Exemplo 5: Cenário

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

#### Script de carregamento e resultados

Visão geral

Neste exemplo, um conjunto de dados contendo vendas de ingressos para um cinema local é carregado em uma tabela chamada Ticket\_Sales. Hoje é 3 de maio de 2022 e são 11:00 da manhã.

O usuário gostaria que um objeto de gráfico de KPI mostrasse a receita obtida de todos os programas que ocorreram até agora.

Script de carregamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT';

Ticket_Sales:
Load
*
Inline 
[
sale ID, show time, ticket price
1,05/01/2022 09:30:00 AM,10.50
2,05/03/2022 05:30:00 PM,21.00
3,05/03/2022 09:30:00 AM,10.50
4,05/03/2022 09:30:00 AM,31.50
5,05/03/2022 09:30:00 AM,10.50
6,05/03/2022 12:00:00 PM,42.00
7,05/03/2022 12:00:00 PM,10.50
8,05/03/2022 05:30:00 PM,42.00
9,05/03/2022 08:00:00 PM,31.50
10,05/04/2022 10:30:00 AM,31.50
11,05/04/2022 12:00:00 PM,10.50
12,05/04/2022 05:30:00 PM,10.50
13,05/05/2022 05:30:00 PM,21.00
14,05/06/2022 12:00:00 PM,21.00
15,05/07/2022 09:30:00 AM,42.00
16,05/07/2022 10:30:00 AM,42.00
17,05/07/2022 10:30:00 AM,10.50
18,05/07/2022 05:30:00 PM,10.50
19,05/08/2022 05:30:00 PM,21.00
20,05/11/2022 09:30:00 AM,10.50
];
```

Resultados

Faça o seguinte:

1. Crie um objeto de KPI.

2. Crie uma medida que mostre a soma de todas as vendas de ingressos para exibições que ocorreram hoje até agora usando a função indaytotime():

=sum(if(indaytotime([show time],'05/03/2022 11:00:00 AM',0),[ticket price],0))

1. Crie um rótulo para o objeto de KPI, "Current Revenue".

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

A soma total das vendas de ingressos até 11h em 3 de maio de 2022 é de $52,50.

A função indaytotime () retorna um valor booleano ao comparar os horários de exibição de cada uma das vendas de ingressos com a hora atual ('05/03/2022 11:00:00 AM’). Para qualquer exibição em 3 de maio antes das 11h, a função indaytotime () retorna um valor booleano de TRUE, e o preço do ingresso será incluído na soma total.