# dayend - Função de script e de gráfico

Esta função retorna um valor correspondente a uma data/hora com o milissegundo final do dia contido em time. O formato de saída padrão será o TimestampFormat definido no script.

Sintaxe:

DayEnd(time[, [period\_no[, day\_start]])

Quando usar

A função `  dayend() ` é comumente usada como parte de uma expressão quando o usuário deseja que o cálculo use a fração do dia que ainda não ocorreu. Por exemplo, para calcular as despesas totais que ainda serão acumuladas ao longo do dia.

Tipo de dados de retorno: dual

Argumentos

| Argumento | Descrição |
| --- | --- |
| time | A data/hora para avaliar. |
| period\_no | period\_no é um inteiro, ou uma expressão que resolve um inteiro, em que o valor 0 indica o dia que contém o time. Valores negativos em period\_no indicam dias precedentes e valores positivos indicam dias sucessivos. |
| day\_start | Para especificar que os dias não comecem à meia-noite, indique uma diferença como uma fração de um dia em day\_start. Por exemplo, 0,125 para representar 3:00 a.m.<br><br>Em outras palavras, para criar o deslocamento, divida a hora de início por 24 horas. Por exemplo, para um dia começar às 7:00 a.m., use a fração 7/24. |

## 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 |
| --- | --- |
| dayend('01/25/2013 16:45:00') | Retorna 01/25/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', -1) | Retorna 24/01/2013 23:59:59. PM |
| dayend('01/25/2013 16:45:00', 0, 0.5) | Retorna 01/26/2013 11:59:59. PM |

## Exemplo 1 – Script básico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.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 uma lista de datas é carregado em uma tabela chamada "Calendar".

* A variável de sistema `DateFormat` padrão `(MM/DD/YYYY)`.

* Um carregamento anterior para criar um campo adicional, '`EOD_timestamp`', usando a função `dayend()`.

Script de carregamento

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

Calendar: 
    Load 
      date, 
      dayend(date) as EOD_timestamp 
      ; 
Load 
date 
Inline  
[ 
date 
03/11/2022 1:47:15 AM 
03/12/2022 4:34:58 AM 
03/13/2022 5:15:55 AM 
03/14/2022 9:25:14 AM 
03/15/2022 10:06:54 AM 
03/16/2022 10:44:42 AM 
03/17/2022 11:33:30 AM 
03/18/2022 12:58:14 PM 
03/19/2022 4:23:12 PM 
03/20/2022 6:42:15 PM 
03/21/2022 7:41:16 PM 
]; 
```

Resultados

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

* `date`

* `EOD_timestamp`

Tabela de resultados

| data | EOD\_timestamp |
| --- | --- |
| 03/11/2022 1:47:15 AM | 3/11/2022 11:59:59 PM |
| 03/12/2022 4:34:58 AM | 3/12/2022 11:59:59 PM |
| 03/13/2022 5:15:55 AM | 3/13/2022 11:59:59 PM |
| 03/14/2022 9:25:14 AM | 3/14/2022 11:59:59 PM |
| 03/15/2022 10:06:54 AM | 3/15/2022 11:59:59 PM |
| 03/16/2022 10:44:42 AM | 3/16/2022 11:59:59 PM |
| 03/17/2022 11:33:30 AM | 3/17/2022 11:59:59 PM |
| 03/18/2022 12:58:14 PM | 3/18/2022 11:59:59 PM |
| 03/19/2022 4:23:12 PM | 3/19/2022 11:59:59 PM |
| 03/20/2022 6:42:15 PM | 3/20/2022 11:59:59 PM |
| 03/21/2022 7:41:16 PM | 3/21/2022 11:59:59 PM |

Como você pode ver na tabela acima, o carimbo de data/hora do fim do dia é gerado para cada data em nosso conjunto de dados. O carimbo de data/hora está no formato da variável do sistema `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`.

## Exemplo 2 – period\_no

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

Você carregará um conjunto de dados contendo reservas de serviço em uma tabela chamada "Services".

O conjunto de dados inclui os seguintes campos:

* `service_id`

* `service_date`

* `amount`

Você criará dois novos campos na tabela:

* `deposit_due_date`: a data em que o depósito deve ser recebido. Este é o final do dia, três dias antes de `service_date`.

* `final_payment_due_date`: a data em que o pagamento final deve ser recebido. Este é o final do dia, sete dias após `service_date`.

Os dois campos acima são criados em uma carga anterior usando a função `dayend()` e fornecem os dois primeiros parâmetros: `time` e `period_no`.

Script de carregamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff] TT'; 
						
Services: 
   Load 
     *, 
     dayend(service_date,-3) as deposit_due_date, 
     dayend(service_date,7) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Resultados

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tabela de resultados

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 11:59:59 PM | 3/18/2022 11:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 11:59:59 PM | 3/19/2022 11:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 11:59:59 PM | 3/20/2022 11:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 11:59:59 PM | 3/21/2022 11:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 11:59:59 PM | 3/22/2022 11:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 11:59:59 PM | 3/23/2022 11:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 11:59:59 PM | 3/24/2022 11:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 11:59:59 PM | 3/25/2022 11:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 11:59:59 PM | 3/26/2022 11:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 11:59:59 PM | 3/27/2022 11:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 11:59:59 PM | 3/28/2022 11:59:59 PM |

Os valores dos novos campos estão em `TimestampFormat M/D/YYYY h:mm:ss[.fff] TT`. Como a função `dayend()` foi usada, os valores de carimbo de data/hora são todos os últimos milissegundos do dia.

Os valores da data de vencimento do depósito são três dias antes da data do serviço, pois o segundo argumento transmitido na função `dayend()` é negativo.

Os valores da data de vencimento do pagamento final são sete dias após a data do serviço, pois o segundo argumento transmitido na função `dayend()` é positivo.

## Exemplo 3 – script day\_start

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

#### Script de carregamento e resultados

Visão geral

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

O conjunto de dados e o cenário usados neste exemplo são os mesmos do exemplo anterior.

Como no exemplo anterior, você criará dois novos campos:

* `deposit_due_date`: a data em que o depósito deve ser recebido. Este é o final do dia, três dias antes de `service_date`.

* `final_payment_due_date`: a data em que o pagamento final deve ser recebido. Este é o final do dia, sete dias após `service_date`.

No entanto, sua empresa gostaria de operar de acordo com uma política em que o dia útil começa às 17h e termina às 17h do dia seguinte. Ela pode então monitorar as transações que ocorrem nessas horas de trabalho.

Para atender a esses requisitos, os dois campos acima são criados em um carregamento anterior usando a função `dayend()` e utilizam todos os três argumentos: `time`, `period_no` e `day_start`.

Script de carregamento

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

Services: 
   Load 
     *, 
     dayend(service_date,-3,17/24) as deposit_due_date, 
     dayend(service_date,7,17/24) as final_payment_due_date 
     ; 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Resultados

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

* `service_date`

* `deposit_due_date`

* `final_payment_due_date`

Tabela de resultados

| service\_date | deposit\_due\_date | final\_payment\_due\_date |
| --- | --- | --- |
| 03/11/2022 9:25:14 AM | 3/8/2022 4:59:59 PM | 3/18/2022 4:59:59 PM |
| 03/12/2022 10:06:54 AM | 3/9/2022 4:59:59 PM | 3/19/2022 4:59:59 PM |
| 03/13/2022 10:44:42 AM | 3/10/2022 4:59:59 PM | 3/20/2022 4:59:59 PM |
| 03/14/2022 11:33:30 AM | 3/11/2022 4:59:59 PM | 3/21/2022 4:59:59 PM |
| 03/15/2022 12:58:14 PM | 3/12/2022 4:59:59 PM | 3/22/2022 4:59:59 PM |
| 03/16/2022 4:23:12 PM | 3/13/2022 4:59:59 PM | 3/23/2022 4:59:59 PM |
| 03/17/2022 6:42:15 PM | 3/14/2022 4:59:59 PM | 3/24/2022 4:59:59 PM |
| 03/18/2022 7:41:16 PM | 3/15/2022 4:59:59 PM | 3/25/2022 4:59:59 PM |
| 03/19/2022 8:14:15 PM | 3/16/2022 4:59:59 PM | 3/26/2022 4:59:59 PM |
| 03/20/2022 9:23:51 PM | 3/17/2022 4:59:59 PM | 3/27/2022 4:59:59 PM |
| 03/21/2022 10:04:41 PM | 3/18/2022 4:59:59 PM | 3/28/2022 4:59:59 PM |

Embora as datas permaneçam as mesmas do Exemplo 2, elas agora têm um carimbo de data/hora do último milissegundo antes das 17h, pois o valor do terceiro argumento, `day_start`, passado para a função `dayend()` é 17/24.

## Exemplo 4 – Exemplo de gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/dayend.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 conjunto de dados e o cenário usados neste exemplo são os mesmos dos dois exemplos anteriores. Sua empresa gostaria de operar de acordo com uma política em que o dia útil começa às 17h e termina às 17h do dia seguinte.

Como no exemplo anterior, você criará dois novos campos:

* deposit\_due\_date: a data em que o depósito deve ser recebido. Este é o final do dia, três dias antes de service\_date.

* final\_payment\_due\_date: a data em que o pagamento final deve ser recebido. Este é o final do dia, sete dias após service\_date.

Script de carregamento

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

Services: 
Load 
service_id, 
service_date, 
amount 
Inline  
[ 
service_id, service_date,amount 
1,03/11/2022 9:25:14 AM,231.24 
2,03/12/2022 10:06:54 AM,567.28 
3,03/13/2022 10:44:42 AM,364.28 
4,03/14/2022 11:33:30 AM,575.76 
5,03/15/2022 12:58:14 PM,638.68 
6,03/16/2022 4:23:12 PM,785.38 
7,03/17/2022 6:42:15 PM,967.46 
8,03/18/2022 7:41:16 PM,287.67 
9,03/19/2022 8:14:15 PM,764.45 
10,03/20/2022 9:23:51 PM,875.43 
11,03/21/2022 10:04:41 PM,957.35 
]; 
```

Resultados

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

service\_date.

Para criar o campo deposit\_due\_date, crie esta medida.

=dayend(service\_date,-3,17/24).

Em seguida, para criar o campo final\_payment\_due\_date, crie esta medida:

=dayend(service\_date,7,17/24).

Tabela de resultados

| service\_date | =dayend(service\_date,-3,17/24) | =dayend(service\_date,7,17/24 |
| --- | --- | --- |
| 03/11/2022 | 3/8/2022 16:59:59 PM | 3/18/2022 16:59:59 PM |
| 03/12/2022 | 3/9/2022 16:59:59 PM | 3/19/2022 16:59:59 PM |
| 03/13/2022 | 3/10/2022 16:59:59 PM | 3/20/2022 16:59:59 PM |
| 03/14/2022 | 3/11/2022 16:59:59 PM | 3/21/2022 16:59:59 PM |
| 03/15/2022 | 3/12/2022 16:59:59 PM | 3/22/2022 16:59:59 PM |
| 03/16/2022 | 3/13/2022 16:59:59 PM | 3/23/2022 16:59:59 PM |
| 03/17/2022 | 3/14/2022 16:59:59 PM | 3/24/2022 16:59:59 PM |
| 03/18/2022 | 3/15/2022 16:59:59 PM | 3/25/2022 16:59:59 PM |
| 03/19/2022 | 3/16/2022 16:59:59 PM | 3/26/2022 16:59:59 PM |
| 03/20/2022 | 3/17/2022 16:59:59 PM | 3/27/2022 16:59:59 PM |
| 03/21/2022 | 3/18/2022 16:59:59 PM | 3/28/2022 16:59:59 PM |

Os valores dos novos campos estão em TimestampFormat M/D/YYYY h:mm:ss[.fff] TT. Como a função dayend() foi usada, os valores de carimbo de data/hora são todos os últimos milissegundos do dia.

Os valores da data de vencimento do pagamento são três dias antes da data do serviço, pois o segundo argumento transmitido na função dayend() é negativo.

Os valores da data de vencimento do pagamento final são sete dias após a data do serviço, pois o segundo argumento transmitido na função dayend() é positivo.

As datas têm um carimbo de data/hora do último milissegundo antes das 17h, pois o valor do terceiro argumento, day\_start, transmitido para a função dayend() é 17/24.

## Saiba mais

* [Carregando dados de uma tabela carregada anteriormente](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/load-data-from-previously-loaded-table.htm)

Argumentos

| Argumento | Descrição |
| --- | --- |
| time | A data/hora para avaliar. |
| period\_no | period\_no é um inteiro, ou uma expressão que resolve um inteiro, em que o valor 0 indica o dia que contém o time. Valores negativos em period\_no indicam dias precedentes e valores positivos indicam dias sucessivos. |
| day\_start | Para especificar que os dias não comecem à meia-noite, indique uma diferença como uma fração de um dia em day\_start. Por exemplo, 0,125 para representar 3:00 a.m. |