Календарь в Power Query — таблица последовательных дат. К каждой дате можно добавить год, месяц и признаки недели, а затем использовать набор в отчётах.
Для первого примера создадим полный 2026 год. Начало и конец зададим явно, чтобы результат можно было проверить независимо от текущей даты.
Определите границы календаря
Выберите первую и последнюю дату включительно. Если календарь нужен для модели, он должен покрывать даты фактических записей. Не ограничивайте его только теми днями, когда были продажи, если отчёт должен показывать дни без операций.
Даты календаря должны быть уникальными. Связи и правила работы модели задаются отдельно; сама генерация списка ещё не создаёт готовую модель данных.
Создайте запрос календаря
- Создайте пустой запрос.
- Откройте расширенный редактор.
- Вставьте полный код ниже вместо его текущего содержимого.
- Проверьте таблицу и назовите запрос «Календарь».
let
Начало = #date(2026, 1, 1),
Конец = #date(2026, 12, 31),
Дни = Duration.Days(Конец - Начало) + 1,
Список = List.Dates(Начало, Дни, #duration(1, 0, 0, 0)),
Календарь = Table.FromList(Список, Splitter.SplitByNothing(), {"Дата"}),
Типы = Table.TransformColumnTypes(Календарь, {{"Дата", type date}})
in
ТипыПочему добавлена единица
Разница между последней и первой датой измеряет расстояние, но не включает обе границы как отдельные записи. Прибавление 1 даёт число дат включительно. Для 2026 года ожидается 365 строк.
Не подставляйте 365 для любого года: високосный год имеет другое число дней. Формула границ считает длину диапазона по самим датам.
Добавьте календарные признаки
Через вкладку добавления столбца извлеките год и месяц либо используйте Date.Year и Date.Month. Для названия месяца отдельно задайте культуру, если нужны русские подписи.
Число месяца полезно сохранить для сортировки: алфавитный порядок названий не является календарным. Номер недели рассчитывайте по выбранному правилу и проверяйте на границах года.
Контроль готовой таблицы
- Первая дата — 01.01.2026, последняя — 31.12.2026.
- Для выбранного года получилось 365 строк.
- Нет пропущенных и повторяющихся дат.
- Поле «Дата» имеет тип даты.
- Признаки года и месяца согласуются с исходной датой.
На рисунке показано начало календаря, а не все его строки. Число дат проверяйте в полном результате; предпросмотр нескольких строк не подтверждает весь диапазон.
Читайте также: Как получить сегодняшнюю дату в Power Query, Как определить день недели и номер недели в Power Query, Power Query и Power Pivot: в чём разница.
Освойте Power Query с преподавателем
На индивидуальных занятиях можно разобрать загрузку данных, объединение таблиц, обработку текста и дат. Программу подбираем под ваши задачи; знакомые темы можно пропустить.
Начните с бесплатного пробного урока: 45 минут, один на один, без обязательств. Попробуйте формат и обсудите, что изучать дальше. Решение о продолжении — после занятия.
Оставить комментарий
Есть вопрос по статье? Напишите комментарий — будем рады обсудить.
Комментарии