Essa função retorna um valor correspondente a um carimbo de data/hora do último milissegundo do último dia da semana do calendário contendo date. O formato de saída padrão será o DateFormat definido no script.
A função weekend() determina em qual semana a data cai. Em seguida, ela retorna um carimbo de data/hora, em formato de data, para o último milissegundo daquela semana. O primeiro dia da semana é determinado pela variável de ambiente FirstWeekDay. No entanto, isso pode ser substituído pelo argumento first_week_day na função weekend().
Argumentos
Argumento
Descrição
timestamp
A data ou o carimbo de data/hora a ser avaliado.
period_no
shift é um inteiro, em que o valor 0 indica a semana que contém a date. Os valores negativos no deslocamento indicam semanas precedentes e os valores positivos indicam semanas subsequentes.
first_week_day
Especifica o dia no qual inicia a semana. Se omitido, o valor da variável FirstWeekDay é usado.
Os valores possíveis para first_week_day são 0 para segunda-feira, 1 para terça, 2 para quarta-feira, 3 para quinta-feira, 4 para sexta-feira, 5 para sábado e 6 para domingo.
Para obter mais informações sobre a variável de sistema, consulte FirstWeekDay
Quando usar
A função weekend() é normalmente usada como parte de uma expressão quando o usuário deseja que o cálculo use os dias restantes da semana para a data especificada. Por exemplo, ela pode ser usada se um usuário deseja calcular o total de juros ainda não acumulados durante a semana.
Os exemplos a seguir pressupõem que:
SET FirstWeekDay=0;
Exemplo
Resultado
weekend('01/10/2013')
Retorna 01/12/2013 23:59:59.
weekend('01/10/2013', -1)
Retorna 01/05/2013 23:59:59..
weekend('01/10/2013', 0, 1)
Retorna 01/14/2013 23:59:59.
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. Para obter mais informações, consulte Modificando as configurações regionais do aplicativo.
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 quiser configurações ISO para semanas e números de semanas, certifique-se de ter o seguinte no script:
Set DateFormat ='YYYY-MM-DD';
Set FirstWeekDay =0; // Monday as first week day
Set BrokenWeeks =0; //(use unbroken weeks)
Set ReferenceDay =4; // Jan 4th is always in week 1
Se quiser configurações dos EUA, certifique-se de ter o seguinte no script:
Set DateFormat ='M/D/YYYY';
Set FirstWeekDay =6; // Sunday as first week day
Set BrokenWeeks =1; //(use broken weeks)
Set ReferenceDay =1; // Jan 1st is always in week 1
Os exemplos acima resultam no seguinte resultado da função weekend():
Exemplo de função de fim de semana
Date
ISO week end
US week end
Sat 2020 Dec 26
2020-12-27
12/26/2020
Sun 2020 Dec 27
2020-12-27
1/2/2021
Mon 2020 Dec 28
2021-01-03
1/2/2021
Tue 2020 Dec 29
2021-01-03
1/2/2021
Wed 2020 Dec 30
2021-01-03
1/2/2021
Thu 2020 Dec 31
2021-01-03
1/2/2021
Fri 2021 Jan 1
2021-01-03
1/2/2021
Sat 2021 Jan 2
2021-01-03
1/2/2021
Sun 2021 Jan 3
2021-01-03
1/9/2021
Mon 2021 Jan 4
2021-01-10
1/9/2021
Ter 2021, 5 de janeiro
2021-01-10
1/9/2021
Nota informativaOs fins de semana são aos domingos na coluna ISO e aos sábados na coluna US.
Exemplo 1: Exemplo básico
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 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, end_of_week, que retorna um carimbo de data/hora para o final da semana em que as transações ocorreram.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
date
end_of_week
end_of_week_timestamp
Tabela de resultados
date
end_of_week
end_of_week_timestamp
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
O campo end_of_week é criado na instrução de carregamento anterior usando a função weekend() e transmitindo o campo de data como o argumento da função.
A função weekend() identifica em qual semana o valor da data cai e retorna um carimbo de data/hora para o último milissegundo dessa semana.
Diagrama da função weekend(), exemplo básico
A transação 8191 ocorreu em 5 de fevereiro. A variável de sistema FirstWeekDay define o primeiro dia da semana como domingo. A função weekend() identifica que o primeiro sábado após 5 de fevereiro (e, portanto, o final da semana) foi em 5 de fevereiro. Portanto, o valor end_of_week dessa transação retorna o último milissegundo desse dia, que é 5 de fevereiro às 11:59:59 PM.
Exemplo 2: period_no
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:
O mesmo conjunto de dados e cenário do primeiro exemplo.
A criação de um campo previous_week_end, que retorna o carimbo de data/hora do início da semana antes da transação.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
date
previous_week_end
previous_week_end_timestamp
Tabela de resultados
date
end_of_week
end_of_week_timestamp
1/7/2022
01/01/2022
1/1/2022 11:59:59 PM
1/19/2022
01/15/2022
1/15/2022 11:59:59 PM
2/5/2022
01/29/2022
1/29/2022 11:59:59 PM
2/28/2022
02/26/2022
2/26/2022 11:59:59 PM
3/16/2022
03/12/2022
3/12/2022 11:59:59 PM
4/1/2022
03/26/2022
3/26/2022 11:59:59 PM
5/7/2022
04/30/2022
4/30/2022 11:59:59 PM
5/16/2022
05/14/2022
5/14/2022 11:59:59 PM
6/15/2022
06/11/2022
6/11/2022 11:59:59 PM
6/26/2022
06/25/2022
6/25/2022 11:59:59 PM
7/9/2022
07/02/2022
7/2/2022 11:59:59 PM
7/22/2022
07/16/2022
7/16/2022 11:59:59 PM
7/23/2022
07/16/2022
7/16/2022 11:59:59 PM
7/27/2022
07/23/2022
7/23/2022 11:59:59 PM
8/2/2022
07/30/2022
7/30/2022 11:59:59 PM
8/8/2022
08/06/2022
8/6/2022 11:59:59 PM
8/19/2022
08/13/2022
8/13/2022 11:59:59 PM
9/26/2022
09/24/2022
9/24/2022 11:59:59 PM
10/14/2022
10/08/2022
10/8/2022 11:59:59 PM
10/29/2022
10/22/2022
10/22/2022 11:59:59 PM
Nesse caso, como um period_no de -1 foi usado como argumento de compensação na função weekend(), a função primeiro identifica a semana em que as transações ocorrem. Em seguida, ela procura uma semana antes e identifica o último milissegundo daquela semana.
Diagrama da função weekend(), exemplo de period_no
A transação 8196 ocorreu em 15 de junho. A função weekend() identifica que a semana começa em 12 de junho. Portanto, a semana anterior termina em 11 de junho às 11:59:59 PM; esse é o valor retornado para o campo previous_week_end.
Exemplo 3: first_week_day
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, precisamos definir terça-feira como o primeiro dia da semana de trabalho.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
date
end_of_week
end_of_week_timestamp
Tabela de resultados
date
end_of_week
end_of_week_timestamp
1/7/2022
01/10/2022
1/10/2022 11:59:59 PM
1/19/2022
01/24/2022
1/24/2022 11:59:59 PM
2/5/2022
02/07/2022
2/7/2022 11:59:59 PM
2/28/2022
02/28/2022
2/28/2022 11:59:59 PM
3/16/2022
03/21/2022
3/21/2022 11:59:59 PM
4/1/2022
04/04/2022
4/4/2022 11:59:59 PM
5/7/2022
05/09/2022
5/9/2022 11:59:59 PM
5/16/2022
05/16/2022
5/16/2022 11:59:59 PM
6/15/2022
06/20/2022
6/20/2022 11:59:59 PM
6/26/2022
06/27/2022
6/27/2022 11:59:59 PM
7/9/2022
07/11/2022
7/11/2022 11:59:59 PM
7/22/2022
07/25/2022
7/25/2022 11:59:59 PM
7/23/2022
07/25/2022
7/25/2022 11:59:59 PM
7/27/2022
08/01/2022
8/1/2022 11:59:59 PM
8/2/2022
08/08/2022
8/8/2022 11:59:59 PM
8/8/2022
08/08/2022
8/8/2022 11:59:59 PM
8/19/2022
08/22/2022
8/22/2022 11:59:59 PM
9/26/2022
09/26/2022
9/26/2022 11:59:59 PM
10/14/2022
10/17/2022
10/17/2022 11:59:59 PM
10/29/2022
10/31/2022
10/31/2022 11:59:59 PM
Nesse caso, como o argumento first_week_date de 1 é usado na função weekend(), ele define o primeiro dia da semana como terça-feira.
Diagrama da função weekend(), exemplo de first_week_day
A transação 8191 ocorreu em 5 de fevereiro. A função weekend() identifica que a primeira segunda-feira após essa data (e, portanto, o final da semana e o valor retornado) foi em 6 de fevereiro às 11:59:59 PM.
Exemplo 4: Exemplo de objeto 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 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 retorna um carimbo de data/hora para o final da semana em que as transações ocorreram é criado como uma medida em um objeto de gráfico do aplicativo.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão: date.
Para calcular o início da semana em que uma transação ocorre, adicione as seguintes medidas:
=weekend(date)
=timestamp(weekend(date))
Tabela de resultados
date
=weekend(date)
=timestamp(weekend(date))
1/7/2022
01/08/2022
1/8/2022 11:59:59 PM
1/19/2022
01/22/2022
1/22/2022 11:59:59 PM
2/5/2022
02/05/2022
2/5/2022 11:59:59 PM
2/28/2022
03/05/2022
3/5/2022 11:59:59 PM
3/16/2022
03/19/2022
3/19/2022 11:59:59 PM
4/1/2022
04/02/2022
4/2/2022 11:59:59 PM
5/7/2022
05/07/2022
5/7/2022 11:59:59 PM
5/16/2022
05/21/2022
5/21/2022 11:59:59 PM
6/15/2022
06/18/2022
6/18/2022 11:59:59 PM
6/26/2022
07/02/2022
7/2/2022 11:59:59 PM
7/9/2022
07/09/2022
7/9/2022 11:59:59 PM
7/22/2022
07/23/2022
7/23/2022 11:59:59 PM
7/23/2022
07/23/2022
7/23/2022 11:59:59 PM
7/27/2022
07/30/2022
7/30/2022 11:59:59 PM
8/2/2022
08/06/2022
8/6/2022 11:59:59 PM
8/8/2022
08/13/2022
8/13/2022 11:59:59 PM
8/19/2022
08/20/2022
8/20/2022 11:59:59 PM
9/26/2022
10/01/2022
10/1/2022 11:59:59 PM
10/14/2022
10/15/2022
10/15/2022 11:59:59 PM
10/29/2022
10/29/2022
10/29/2022 11:59:59 PM
A medida end_of_week é criada no objeto de gráfico usando a função weekend() e transmitindo o campo de data como o argumento da função. A função weekend() identifica em qual semana o valor da data cai, retornando um carimbo de data/hora para o último milissegundo dessa semana.
Diagrama da função weekend(), exemplo de objeto de gráfico
A transação 8191 ocorreu em 5 de fevereiro. A variável de sistema FirstWeekDay define o primeiro dia da semana como domingo. A função weekend() identifica que o primeiro sábado após 5 de fevereiro (e, portanto, o final da semana) foi em 5 de fevereiro. Portanto, o valor end_of_week dessa transação retorna o último milissegundo desse dia, que é 5 de fevereiro às 11:59:59 PM.
Exemplo 5: Cenário
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 que é carregado em uma tabela denominada Employee_Expenses.
Dados que consistem em IDs de funcionários, nomes de funcionários e a média diária de reivindicações de despesas de cada funcionário.
O usuário final deseja um objeto de gráfico que mostre, por ID de funcionário e nome de funcionário, as reivindicações de despesas estimadas ainda a serem acumuladas para o restante da semana.
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
employee_id
employee_name
Em seguida, crie uma medida para calcular os juros acumulados:
=(weekend(today(1))-today(1))*avg_daily_claim
Defina o Formato numérico da medida como Dinheiro.
Tabela de resultados
employee_id
employee_name
=(weekend(today(1))-today(1))*avg_daily_claim
182
Mark
$90.00
183
Deryck
$75.00
184
Dexter
$75.00
185
Sydney
$162.00
186
Agatha
$108.00
A função weekend(), usando a data de hoje como seu único argumento, retorna a data de término da semana atual. Em seguida, subtraindo a data de hoje da data de término da semana, a expressão retorna o número de dias que restam nessa semana.
Esse valor é então multiplicado pela média de solicitações de despesas diárias por cada funcionário para calcular o valor estimado das solicitações que cada funcionário deve fazer na semana restante.
Esta página ajudou?
Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!