Um nome do dia conforme definido na variável de ambiente DayNames.
Um inteiro entre 0 e 6 correspondendo ao dia nominal da semana (0-6).
Sintaxe:
weekday(date [,first_week_day=0])
Tipo de dados de retorno: dual
A função weekday() determina em qual dia da semana uma data ocorre. Em seguida, ela retorna um valor de string representando esse dia.
O resultado retorna o valor numérico correspondente a esse dia da semana (0-6), com base no dia de início da semana. Por exemplo, se o primeiro dia da semana for definido como domingo, uma quarta-feira retornará um valor numérico de 3. Esse dia de início é determinado pela variável de sistema FirstWeekDay ou pelo parâmetro da função first_week_day.
Você pode usar esse valor numérico como parte de uma expressão aritmética. Por exemplo, multiplique-o por 1 para retornar o valor propriamente dito.
Quando usar
A função weekday() é útil quando você deseja comparar agregações por dia da semana. Por exemplo, se você quiser comparar a média de vendas de produtos por dia da semana.
Essas dimensões podem ser criadas no script de carregamento usando a função para criar um campo em uma tabela de Calendário mestre ou podem ser criadas diretamente em um gráfico como uma medida calculada.
Você pode usar os seguintes valores para definir o dia em que a semana começa no argumento first_week_day:
Valores de first_week_day
Dia
Valor
Segunda-feira
0
Terça-feira
1
Quarta-feira
2
Quinta-feira
3
Sexta-feira
4
Sábado
5
Domingo
6
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.
Nota informativaSalvo indicação em contrário, FirstWeekDay é definido como 0 nesses exemplos.
Exemplos de funções
Exemplo
Resultado
weekday('10/12/1971')
Retorna “True” e 1.
weekday('10/12/1971' , 6)
Retorna “True” e 2.
Neste exemplo, domingo (6) é o primeiro dia da semana.
SET FirstWeekDay=6;
...
weekday('10/12/1971')
Retorna “True” e 2.
Exemplo 1: sequência de caracteres para dias da semana
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 chamada Transactions.
A variável de sistema FirstWeekDay que é definida como 6 (domingo).
A variável DayNames que está configurada para usar os nomes de dias padrão.
Uma carga anterior que contém a função weekday(), que é definida como o campo "week_day" e retorna o dia da semana em que as transações ocorreram.
Script de carregamento
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
id
date
week_day
Tabela de resultados
id
date
week_day
8188
01/01/2022
Sáb
8189
01/02/2022
Dom
8190
01/03/2022
Seg
8191
01/04/2022
Ter
8192
01/05/2022
Qua
8193
01/06/2022
Qui
8194
01/07/2022
Sex
O campo "week_day" é criado na instrução de carregamento anterior usando a função weekday() e transmitindo o campo de data como o argumento da função.
A função weekday() retorna o valor da cadeia de caracteres do dia da semana; ou seja, ela retorna o nome do dia da semana que é definido pela variável de sistema DayNames.
A transação 8192 ocorreu em 5 de janeiro. A variável de sistema FirstWeekDay define o primeiro dia da semana como domingo. A transação da função weekday() ocorreu em uma quarta-feira e retorna esse valor, na forma abreviada da variável de sistema DayNames, no campo week_day.
Os valores no campo "week_day" estão alinhados à direita na coluna porque há um resultado duplo de número e texto para o campo (quarta-feira, 3). Para converter o valor do campo em seu equivalente numérico, o campo pode ser encapsulado dentro da função num(). Por exemplo, na Transação 8192, o valor de quarta-feira seria convertido no número 3.
Exemplo 2: first_week_day
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 chamada Transactions.
A variável de sistema FirstWeekDay que é definida como 6 (domingo).
A variável DayNames que está configurada para usar os nomes de dias padrão.
Uma carga anterior que contém a função weekday(), que é definida como o campo "week_day" e retorna o dia da semana em que as transações ocorreram.
Script de carregamento
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*,
WeekDay(date,1) as week_day
;
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
id
date
week_day
Tabela de resultados
id
date
week_day
8188
01/01/2022
Sáb
8189
01/02/2022
Dom
8190
01/03/2022
Seg
8191
01/04/2022
Ter
8192
01/05/2022
Qua
8193
01/06/2022
Qui
8194
01/07/2022
Sex
Como o argumento first_week_day está definido como 1 na função weekday(), o primeiro dia da semana é terça-feira. Portanto, todas as transações que ocorrerem em uma terça-feira terão um valor numérico duplo de 0.
A transação 8192 ocorreu em 5 de janeiro. A função weekday() identifica que esta é uma quarta-feira e, portanto, a expressão retornaria o valor de número duplo de 1.
Exemplo 3: 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:
Um conjunto de dados contendo um conjunto de transações para 2022, que é carregado em uma tabela denominada "Transactions".
A variável de sistema FirstWeekDay que é definida como 6 (domingo).
A variável DayNames que está configurada para usar os nomes de dias padrão.
No entanto, neste exemplo, o conjunto de dados permanece inalterado e é carregado no aplicativo. O cálculo que identifica o valor do dia da semana é criado como uma medida em um gráfico no aplicativo.
Script de carregamento
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
Load
*
Inline
[
id,date,amount
8188,01/01/2022,37.23
8189,01/02/2022,17.17
8190,01/03/2022,88.27
8191,01/04/2022,57.42
8192,01/05/2022,53.80
8193,01/06/2022,82.06
8194,01/07/2022,40.39
];
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
id
date
Para calcular o valor do dia da semana, crie a seguinte medida:
=weekday(date)
Tabela de resultados
id
date
=weekday(date)
8188
01/01/2022
Sáb
8189
01/02/2022
Dom
8190
01/03/2022
Seg
8191
01/04/2022
Ter
8192
01/05/2022
Qua
8193
01/06/2022
Qui
8194
01/07/2022
Sex
O campo “=weekday(date)” é criado no gráfico usando a função weekday() e transmitindo o campo de data como o argumento da função.
A função weekday() retorna o valor da cadeia de caracteres do dia da semana; ou seja, ela retorna o nome do dia da semana que é definido pela variável de sistema DayNames.
A transação 8192 ocorreu em 5 de janeiro. A variável de sistema FirstWeekDay define o primeiro dia da semana como domingo. A transação da função weekday() ocorreu em uma quarta-feira e retorna esse valor, na forma abreviada da variável de sistema DayNames, no campo =weekday(date).
Exemplo 4: 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 contendo um conjunto de transações para 2022, que é carregado em uma tabela denominada "Transactions".
A variável de sistema FirstWeekDay que é definida como 6 (domingo).
A variável DayNames que está configurada para usar os nomes de dias padrão.
O usuário final gostaria de um gráfico que apresentasse a média de vendas por dia da semana para as transações.
Script de carregamento
SET DateFormat='MM/DD/YYYY';
SET DayNames='Mon;Tue;Wed;Thu;Fri;Sat;Sun';
SET FirstWeekDay=6;
Transactions:
LOAD
RecNo() AS id,
MakeDate(2022, 1, Ceil(Rand() * 31)) as date,
Rand() * 1000 AS amount
Autogenerate(1000);
Resultados
Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:
=weekday(date)
=avg(amount)
Defina o Formato numérico da medida como Dinheiro.
Tabela de resultados
weekday(date)
Avg(amount)
Dom
$536.96
Seg
$500.80
Ter
$515.63
Qua
$509.21
Qui
$482.70
Sex
$441.33
Sáb
$505.22
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!