# weekday Função de script e de gráfico

Esta função retorna um valor dual com:

* 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).

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.

Diagrama da função `weekday()` que retorna o nome do dia em que uma data cai

Diagrama da função `weekday()` que retorna o nome do dia em que uma data cai

Diagrama da função `weekday()`weekday() que retorna o nome do dia em que uma data cai ![Diagram that shows the weekday() function returns the name of the day that a date falls on.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram1.png)

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 `FirstWeekDay`variável de sistema 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.

Diagrama da função `weekday()` com o valor numérico do dia sendo mostrado no lugar do nome do dia

Diagrama da função `weekday()` com o valor numérico do dia sendo mostrado no lugar do nome do dia

Diagrama da função `weekday()`weekday() com o valor numérico do dia sendo mostrado no lugar do nome do dia ![Diagram that shows the weekday() function can return a number value that corresponds to the day which is identified.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

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 criadas diretamente em um gráfico como uma medida calculada.

Tópicos relacionados

| Tópicos | Interação |
| --- | --- |
| [FirstWeekDay](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Define o dia de início de cada semana. |

Argumentos

| Argumento | Descrição |
| --- | --- |
| date | A data ou o carimbo de data/hora a ser avaliado. |
| first\_week\_day | Especifica o dia no qual inicia a semana. Se omitido, o valor da variável FirstWeekDay será usado.<br><br>[FirstWeekDay](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) |

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 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.

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.<br><br>Neste exemplo, domingo (`6`) é o primeiro dia da semana. |
| `SET FirstWeekDay=6;`<br><br>`...`<br><br>`weekday('10/12/1971')` | Retorna “True” e 2. |

## Exemplo 1 - String do dia da semana

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

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.

* 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 | Data | 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`.

Diagrama da função `weekday()` que retorna quarta-feira como o dia da semana para a transação 8192

Diagrama da função `weekday()` que retorna quarta-feira como o dia da semana para a transação 8192

Diagrama da função `weekday()`weekday() que retorna quarta-feira como o dia da semana para a transação 8192 ![Diagram that shows the weekday() function returns Wednesday as the weekday for transaction 8192. The first day of the week is set as Sunday.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

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

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

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.

* 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 | Data | 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 |

Diagrama da função `weekday()` que mostra que quarta-feira tem o valor de número duplo de 1

Diagrama da função `weekday()` que mostra que quarta-feira tem o valor de número duplo de 1

Diagrama da função `weekday()`weekday() que mostra que quarta-feira tem o valor de número duplo de 1 ![Diagram that shows that January 5, 2022 falls on a Wednesday and that Wednesday has teh number value of 1 because the first day of the week is set as Tuesday.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-example2-diagram.png)

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 `weekday()` função identifica que este é 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

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

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 | Data | =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`.

Diagrama da função `weekday()` que retorna quarta-feira como o dia da semana para a transação 8192

Diagrama da função `weekday()` que retorna quarta-feira como o dia da semana para a transação 8192

Diagrama da função `weekday()`weekday() que retorna quarta-feira como o dia da semana para a transação 8192 ![Diagram that shows the weekday() function returns Wednesday as the weekday for transaction 8192. The first day of the week is set as Sunday.](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-examples1_and3-diagram.png)

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

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

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 |