Рвав-рвав, собака Смайл спешит поделиться новостью!
Представляем вашему вниманию свою 3-ю разработку комплекта отчетности «Офисная жизнь» — отчет «День рождения в коллективе», иллюстрирующий праздничные события.

Отчет реализован при помощи DAX, Power Query, и построен на базе производственного календаря (см. отчет Производственный календарь).
Рвав-рвав, да, вы не ошиблись, это снова он — Производственный календарь. Собака Смайл всегда знает, что надо сделать в первую очередь, потому что, несмотря на кажущуюся простоту и обыденность, без этой штуки любому офису никуда!
Разработка содержит 2 листа:
- Лист «Отчет» — собственно, сам отчет, содержащий данные по состоянию аптечки в компании;
- Лист «Информация» — памятка пользователя.
Используемые элементы:
- Скрывающаяся панель фильтров (стандартный функционал).
- Кнопки.
- Иконки.
- В качестве основного элемента используется «Таблица», а дополнительных — «Карточка» и «Диаграмма дерева».
- Прочие украшательства — «Текстовое поле», «Фигуры».
Процесс разработки:
- Для указания базового промежутка времени на уровне Power Query были созданы параметры «Начало периода» и «Конец периода» — это даты начала и окончания периода, которые выведены в название отчета.
- Создана таблица «Меры» — техническая таблица, созданная для удобства.
- Создана таблица «Параметры» — содержит параметры отчета для указания необходимого отрезка времени.
- Создана таблица «Праздники» — таблица настройки, содержащая список российских праздников.
- Создана таблица «Переносы» — таблица настройки, содержащая даты так называемых «перенесенных» дней.
- Создана таблица «Даты рождения» — содержит набор исходных данных, который имеет минимально необходимую структуру, а именно: сотрудника, дату его рождения, позицию в компании и гендерную принадлежность.
Рвав-рвав, для тех, кто не знает, это мальчики или девочки (тут нежное «Рвав-рвав-рвав»).
- Создана таблица «Сотрудники» — справочник сотрудников.
- Создана таблица «Позиции» — справочник позиции сотрудника в компании, то есть это его функциональная роль.
Рвав-рвав, на этом работы с Power Query завершены.
- На уровне модели данных создана таблица «Календарь» — базовая таблица, определяющая набор дат для расчета.
- Следующим этапом является проверка связей получившейся модели данных, и их корректировка в случае необходимости. Схема модели представлена ниже:

- Затем при помощи DAX начинаем формировать нужные аналитические разрезы и дополнительные маркеры в таблице «Даты рождения»: например, выводим признак того, совпадает праздник с юбилеем, или нет.
- Далее при помощи мер рассчитывается количество участников поздравления, а также ориентировочный бюджет подарка на человека, в зависимости от его функциональной роли. Конечно, это можно было сделать параметрами, но, поскольку данное значение не меняется часто, при разработке была использована постоянная сумма сбора: 100 руб. на сотрудника, 200 руб. на руководителя, и 300 руб. на ТОП-менеджера.
- При визуализации данных были использованы иконки условного форматирования, появившиеся в последнем апдейте.
- Предупреждение о празднике, для особо забывчивых, высвечивается за неделю.
- Последний шаг — это дизайн, тут придерживаемся единого стиля).
Особенности разработки:
- Работа и функционал созданного календаря подробно описана в предыдущей статье, все преимущества сохранены.
- При разработке сделано допущение, что предупреждать о дне рождения нужно за одну неделю. В принципе, можно легко изменить указанный срок при помощи встроенного фильтра.
- Отчет имеет встроенную систему маркеров следующего вида:
— праздник является юбилеем, для расчета используется промежуток от 15 до 70 лет;
— напоминание о покупке цветов (делалось для забывчивых мальчиков, если именинник — девочка), однако по запросу можно дополнить данный механизм;
Рвав-рвав, собака Смайл — толерантный, современный пес!
- Дополнительно обозначен размер презента.
Рвав-рвав, товарищи, данная разработка — просто мечта, она реально необходима в каждый офис!
На этом все.
За сим — прощаюсь, пойду играть с маленькой хозяйкой, приобрел себе новую игрушку, но, видимо, не совсем себе, а на двоих…
Ваш Смайл