# 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 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 |
| --- | --- |
| 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 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 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 da carga 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 da carga 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 da carga 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/May2026/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. |