Календарь Power Pivot: как сравнивать месяцы без путаницы годов
В сводной сначала идёт апрель, потом август, а январь двух лет объединён в одну строку. Текстовое название месяца удобно читать, но оно не задаёт ни календарный порядок, ни уникальный период. Для отчёта нужен календарь с датой, годом и устойчивым ключом месяца.
Сделайте календарь отдельной таблицей
Одна строка календаря соответствует одному дню. Диапазон должен покрывать все даты факта и нужный горизонт отчёта. В столбце даты нет повторов и пропусков внутри выбранного диапазона. В факте нужна дата без времени, если связь строится с дневным календарём.
Добавьте год, номер месяца, начало месяца и подпись год-месяц. Для сортировки подходит числовой ключ Year*100+Month. Подпись 2026-11 однозначнее слова «ноябрь», особенно когда пользователь выбирает несколько лет.
Разделите связь и подпись
Связь с дневными продажами строится по полной дате. Месячная подпись используется в строках сводной и на диаграмме. В Power Pivot настройте сортировку подписи по MonthKey. Внутри одной подписи ключ должен быть единственным; иначе сортировка не имеет определённого смысла.
Ниже показаны четыре отдельных вычисляемых столбца существующей таблицы Calendar с полем Date. Создайте столбец, вставьте его формулу со знаком равенства, затем задайте указанное имя. Если для план-факта используется отдельный месячный справочник, в нём должна быть одна строка на MonthKey. Дневной календарь содержит этот ключ многократно и не подходит на роль уникальной стороны связи по месяцу.
Столбец Year:
=YEAR([Date])
Столбец MonthNumber:
=MONTH([Date])
Столбец MonthKey:
=YEAR([Date])*100+MONTH([Date])
Столбец YearMonth:
=FORMAT([Date], "yyyy-MM")
Проверьте пустые месяцы
Календарь помогает показать период, в котором ещё нет продаж. Но отображение пустых элементов и мера показателя настраиваются отдельно. Отсутствие строк и известный нулевой результат имеют разный смысл. Подпись месяца сама не превращает отсутствие данных в нулевые продажи.
Для сравнения по годам используйте год вместе с месяцем. Если сводная содержит только название месяца, январские продажи разных лет могут суммироваться. Это допустимо для сезонного профиля, но неверно для помесячной динамики конкретного периода.
Примите ось времени
Возьмите даты 31 декабря 2025 и 1 января 2026. Они должны попасть в соседние, но разные периоды, ключи 202512 и 202601. Затем добавьте февраль и проверьте календарный порядок вместо алфавитного.
Убедитесь, что все даты продаж связаны с календарём. Дата вне диапазона или оставшееся время суток создадут потерянные ключи. Для диагностики используйте отдельный список несовпадений до загрузки модели.
При обновлении нового года расширьте календарь заранее либо настройте воспроизводимое построение диапазона. Проверьте, что новый период появился во всех связанных сводных и срезах. Старый календарь может оставить новые продажи без привычной подписи, хотя строки факта загружены.
Сохраните описание календарных правил: начало недели, рабочие дни и финансовые периоды. Обычный календарный месяц и управленческий период 4-4-5 требуют разных ключей. Начните с правила бизнеса и только затем выбирайте красивый формат подписи.
Соберите обновляемый отчёт на практике
В программе курса есть календарь, порядок сортировки месяцев и модель с несколькими таблицами фактов. Затем вы соберёте дашборд с общими срезами. Эти шаги помогают построить единую временную ось, по которой продажи, план и показатели сравниваются без смешения годов.
Откройте программу курса «Продвинутый Excel: Power Query, Power Pivot и автоматизация отчётов».
Начните с пробного урока о рабочей книге и первом запросе Power Query.
Для следующего этапа: объединение файлов из папки и обновление отчёта.
Продолжить на практике
- Продвинутый Excel: Power Query, Power Pivot и автоматизация отчётов ↗
Научитесь собирать и обновлять рабочие отчёты в Excel. Power Query для загрузки и очистки данных, сложные формулы, Power Pivot и DAX для расчётов. Практикумы по продажам, остаткам и закупкам, план-факту подразделений.
