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

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.

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 ![O diagrama que mostra a função weekday() retorna o nome do dia em que a data cai.](https://help.qlik.com/pt-BR/cloud-services/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 `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 por `1` para retornar o valor em si.

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 ![O diagrama que mostra a função weekday() pode retornar um valor numérico que corresponde ao dia identificado.](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Resources/Images/scripting-functions-weekday-diagram2.png)

Quando usar weekday

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.

Tópicos relacionados

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

| <ul> </ul> |
| --- |

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 é usado.<br><br>[FirstWeekDay](https://help.qlik.com/pt-BR/cloud-services/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 carga 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 configurações regionais para aplicativos e scripts](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

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 você for um criador de aplicativos, poderá definir a região padrão para os aplicativos que criar. Para obter mais informações, consulte [Definir suas configurações regionais preferidas para criar aplicativos e scripts no Qlik Cloud Analytics](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

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: sequência de caracteres para dias da semana

[](https://help.qlik.com/en-US/cloud-services/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.

* Um carregamento 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 ![O diagrama que mostra a função weekday() retorna quarta-feira como o dia da semana para a transação 8192.](https://help.qlik.com/pt-BR/cloud-services/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/cloud-services/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 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 | 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 ![Diagrama que mostra que 5 de janeiro de 2022 cai em uma quarta-feira, e essa quarta-feira tem o valor numérico de 1 porque o primeiro dia da semana está definido como terça-feira.](https://help.qlik.com/pt-BR/cloud-services/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 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

[](https://help.qlik.com/en-US/cloud-services/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 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.

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 ![O diagrama que mostra a função weekday() retorna quarta-feira como o dia da semana para a transação 8192.](https://help.qlik.com/pt-BR/cloud-services/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/cloud-services/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 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.

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 |