# 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/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-indaytotime-diagram-overview.png)

Quando usar indaytotime

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 carga 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. Para obter mais informações, consulte [Modificando configurações regionais para aplicativos e scripts](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

As configurações regionais padrão nos aplicativos são baseadas no perfil do usuário. Essas configurações de formato regional não estão relacionadas ao idioma exibido na interface do usuário do Qlik Cloud. O Qlik Cloud será exibido no mesmo idioma do navegador que você está usando.

Se você for um criador de aplicativos, poderá definir a região padrão para os aplicativos que criar. Para obter mais informações, consulte [Definir suas configurações regionais preferidas para criar aplicativos e scripts no Qlik Cloud Analytics](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/indaytotime.htm)

#### Script de carregamento e resultados

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:

* 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/cloud-services/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/cloud-services/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/cloud-services/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/cloud-services/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/cloud-services/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/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/indaytotime.htm)

#### Script de carregamento e expressão de

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/cloud-services/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.