# ReferenceDay

Параметр определяет, какой день в январе необходимо задать в качестве исходного дня для определения недели 1. Другими словами, этот параметр определяет, сколько дней в неделе 1 должны быть датами в январе.

Синтаксис:

ReferenceDay

`ReferenceDay` устанавливает, сколько дней включается в первую неделю года. Для `ReferenceDay` можно задать любое значение между `1` и `7`. Любое значение за пределами диапазона `1-7` интерпретируется как середина недели (`4`), что эквивалентно установке `ReferenceDay` = `4`.

Если не задано значение для параметра `ReferenceDay`, то значение по умолчанию будет отображать `ReferenceDay=0`, что будет интерпретироваться как середина недели (`4`), как показано в таблице значений `ReferenceDay` ниже.

Функция `ReferenceDay` часто используется в сочетании со следующими функциями:

Связанные функции

| Переменная | Взаимодействие |
| --- | --- |
| [BrokenWeeks](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/BrokenWeeks.htm) | Если приложение Qlik Sense работает с полными неделями, будет принудительно применен параметр переменной `ReferenceDay`. Однако если используются неполные недели, неделя 1 начнется 1 января и завершится в сочетании со значением переменной `FirstWeekDay`, флаг `ReferenceDay` игнорируется. |
| [FirstWeekDay](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | Целое число, которое определяет, какой день использовать в качестве первого дня недели. |

Qlik Sense позволяет задать следующие значения для `ReferenceDay`:

Значения ReferenceDay

| Значение | Начальный день |
| --- | --- |
| 0 (по умолчанию) | 4 января |
| 1 | 1 января |
| 2 | 2 января |
| 3 | 3 января |
| 4 | 4 января |
| 5 | 5 января |
| 6 | 6 января |
| 7 | 7 января |

В следующем примере `ReferenceDay = 3` определяет 3 января как исходный день (ReferenceDay):

`SET ReferenceDay=3; //(set January 3 as the reference day)`

Для получения дополнительной информации об использовании встроенных загрузок см. [Использование встроенных загрузок для загрузки данных](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

## Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: MM/DD/YYYY. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами. Для получения дополнительной информации см. раздел [Изменение региональных настроек для приложений и скриптов](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Региональные настройки по умолчанию в приложениях основаны на профиле пользователя. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Cloud. Qlik Cloud будет отображаться на языке, который используется в браузере.

Если вы — разработчик приложений, то можете задать регион по умолчанию для создаваемых приложений. Для получения дополнительной информации см. раздел [Установка предпочтительных региональных настроек для создания приложений и скриптов в Аналитика Qlik Cloud](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

Примеры:

Если требуется использовать параметры ISO для недель и номеров недель, убедитесь, что в скрипте содержится следующее:

```
Set FirstWeekDay=0;  
Set BrokenWeeks=0;   
Set ReferenceDay=4;    // Jan 4th is always in week 1
```

Если требуется использовать параметры US, убедитесь, что в скрипте содержится следующее:

```
Set FirstWeekDay=6;
Set BrokenWeeks=1;
Set ReferenceDay=1;     // Jan 1st is always in week 1
```

## Пример 1. Скрипт загрузки с использованием значения по умолчанию, ReferenceDay=0

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Переменная `ReferenceDay`, для которой задано значение `0`.

* Переменная `BrokenWeeks` со значением `0`, которая заставляет приложение использовать полные недели.

* Набор данных, содержащий даты с конца 2019 по начало 2020 года.

Скрипт загрузки

```
SET BrokenWeeks = 0; 
SET ReferenceDay = 0; 

Sales: 
LOAD 
date, 
sales, 
week(date) as week, 
weekday(date) as weekday 
Inline [ 
date,sales 
12/27/2019,5000 
12/28/2019,6000 
12/29/2019,7000 
12/30/2019,4000 
12/31/2019,3000 
01/01/2020,6000 
01/02/2020,3000 
01/03/2020,6000 
01/04/2020,8000 
01/05/2020,5000 
01/06/2020,7000 
01/07/2020,3000 
01/08/2020,5000 
01/09/2020,9000 
01/10/2020,5000 
01/11/2020,7000 
]; 
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

` 
                                    
                                        date
                                    
                                    
                                        week
                                    
                                    
                                        weekday
                                    
                                 `

Результирующая таблица

| дата | неделя | будний день |
| --- | --- | --- |
| 12/27/2019 | 52 | Fri |
| 12/28/2019 | 52 | Sat |
| 12/29/2019 | 1 | Sun |
| 12/30/2019 | 1 | Mon |
| 12/31/2019 | 1 | Tue |
| 01/01/2020 | 1 | Wed |
| 01/02/2020 | 1 | Thu |
| 01/03/2020 | 1 | Fri |
| 01/04/2020 | 1 | Sat |
| 01/05/2020 | 2 | Sun |
| 01/06/2020 | 2 | Mon |
| 01/07/2020 | 2 | Tue |
| 01/08/2020 | 2 | Wed |
| 01/09/2020 | 2 | Thu |
| 01/10/2020 | 2 | Fri |
| 01/11/2020 | 2 | Sat |

Неделя 52 заканчивается в субботу, 28 декабря. Поскольку `ReferenceDay` требует, чтобы 4 января было включено в неделю 1, неделя 1 начинается 29 декабря и заканчивается в субботу, 4 января.

## Пример. Переменная ReferenceDay со значением 5

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ReferenceDay.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Переменная `ReferenceDay`, для которой задано значение `5`.

* Переменная `BrokenWeeks` со значением `0`, которая заставляет приложение использовать полные недели.

* Набор данных, содержащий даты с конца 2019 по начало 2020 года.

Скрипт загрузки

```
SET BrokenWeeks = 0; 
SET ReferenceDay = 5; 
 
Sales: 
LOAD 
date, 
sales, 
week(date) as week, 
weekday(date) as weekday 
Inline [ 
date,sales 
12/27/2019,5000 
12/28/2019,6000 
12/29/2019,7000 
12/30/2019,4000 
12/31/2019,3000 
01/01/2020,6000 
01/02/2020,3000 
01/03/2020,6000 
01/04/2020,8000 
01/05/2020,5000 
01/06/2020,7000 
01/07/2020,3000 
01/08/2020,5000 
01/09/2020,9000 
01/10/2020,5000 
01/11/2020,7000 
]; 
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

` 
                                    
                                        date
                                    
                                    
                                        week
                                    
                                    
                                        weekday
                                    
                                 `

Результирующая таблица

| дата | неделя | будний день |
| --- | --- | --- |
| 12/27/2019 | 52 | Fri |
| 12/28/2019 | 52 | Sat |
| 12/29/2019 | 53 | Sun |
| 12/30/2019 | 53 | Mon |
| 12/31/2019 | 53 | Tue |
| 01/01/2020 | 53 | Wed |
| 01/02/2020 | 53 | Thu |
| 01/03/2020 | 53 | Fri |
| 01/04/2020 | 53 | Sat |
| 01/05/2020 | 1 | Sun |
| 01/06/2020 | 1 | Mon |
| 01/07/2020 | 1 | Tue |
| 01/08/2020 | 1 | Wed |
| 01/09/2020 | 1 | Thu |
| 01/10/2020 | 1 | Fri |
| 01/11/2020 | 1 | Sat |

Неделя 52 заканчивается в субботу, 28 декабря. Переменная `BrokenWeeks`, которая заставляет приложение использовать полные недели. Значение исходного дня `5` требует, чтобы 5 января было включено в неделю 1.

Однако эта дата наступает через восемь дней после завершения недели 52 предыдущего года. Таким образом, неделя 53 начинается 29 декабря и заканчивается 4 января. Неделя 1 начинается в воскресенье, 5 января.