Параметр определяет, какой день в январе необходимо задать в качестве исходного дня для определения недели 1. Другими словами, этот параметр определяет, сколько дней в неделе 1 должны быть датами в январе.
Синтаксис:
ReferenceDay
ReferenceDay устанавливает, сколько дней включается в первую неделю года. Для ReferenceDay можно задать любое значение между 1 и 7. Любое значение за пределами диапазона 1-7 интерпретируется как середина недели (4), что эквивалентно установке ReferenceDay = 4.
Если не задано значение для параметра ReferenceDay, то значение по умолчанию будет отображать ReferenceDay=0, что будет интерпретироваться как середина недели (4), как показано в таблице значений ReferenceDay ниже.
Функция ReferenceDay часто используется в сочетании со следующими функциями:
Если приложениеQlik Sense работает с полными неделями, будет принудительно применен параметр переменнойReferenceDay. Однако если используются неполные недели, неделя 1 начнется 1 января и завершится в сочетании с настройкой переменной FirstWeekDay, флаг ReferenceDay игнорируется.
Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: ММ/ДД/ГГГГ. Формат даты указан в операторе SET DateFormat скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами. Для получения дополнительной информации см. Изменение региональных настроек для создания приложений и скриптов.
Региональные настройки по умолчанию в приложениях основаны на профиле пользователя. Эти параметры регионального формата не связаны с языком, отображаемым в интерфейсе пользователя Qlik Cloud. Qlik Cloud будет отображаться на языке, который используется в браузере.
Если требуется использовать параметры 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
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Переменная 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
Результирующая таблица
дата
неделя
weekday
12/27/2019
52
Пт
12/28/2019
52
Сб
12/29/2019
1
Вск
12/30/2019
1
Пон
12/31/2019
1
Втр
01/01/2020
1
Ср
01/02/2020
1
Чт
01/03/2020
1
Пт
01/04/2020
1
Сб
01/05/2020
2
Вск
01/06/2020
2
Пон
01/07/2020
2
Втр
01/08/2020
2
Ср
01/09/2020
2
Чт
01/10/2020
2
Пт
01/11/2020
2
Сб
Неделя 52 заканчивается в субботу, 28 декабря. Поскольку ReferenceDay требует, чтобы 4 января было включено в неделю 1, неделя 1 начинается 29 декабря и заканчивается в субботу, 4 января.
Пример. Переменная ReferenceDay со значением 5
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Переменная 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
Результирующая таблица
дата
неделя
weekday
12/27/2019
52
Пт
12/28/2019
52
Сб
12/29/2019
53
Вск
12/30/2019
53
Пон
12/31/2019
53
Втр
01/01/2020
53
Ср
01/02/2020
53
Чт
01/03/2020
53
Пт
01/04/2020
53
Сб
01/05/2020
1
Вск
01/06/2020
1
Пон
01/07/2020
1
Втр
01/08/2020
1
Ср
01/09/2020
1
Чт
01/10/2020
1
Пт
01/11/2020
1
Сб
Неделя 52 заканчивается в субботу, 28 декабря. Переменная BrokenWeeks, которая заставляет приложение использовать полные недели. Значение исходного дня 5 требует, чтобы 5 января было включено в неделю 1.
Однако эта дата наступает через восемь дней после завершения недели 52 предыдущего года. Таким образом, неделя 53 начинается 29 декабря и заканчивается 4 января. Неделя 1 начинается в воскресенье, 5 января.
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!