Post-Image

График работы сотрудников

Рвав-рвав, собака Смайл на связи!

Представляем вашему вниманию свою 2-ю разработку комплекта отчетности “Офисная жизнь” – отчет “График работы сотрудников”, иллюстрирующий доступность сотрудников в плане выполнения поставленных задач.

График работы сотрудников

Отчет реализован при помощи DAX и Power Query, и построен на базе производственного календаря (см. отчет Производственный календарь).

Помимо распределения нерабочих дней согласно календарю, содержит следующие расчеты, которые можно получить по каждому работнику:

  • Количество рабочих дней.

  • Количество дней отпуска.

  • Количество взятых отгулов.

  • Количество дней по больничному листу.

    Все показатели рассчитаны при помощи мер на уровне DAX, а исходный набор дат получен при помощи Power Query.

    Разработка содержит 2 листа:

  • Лист “Отчет” – собственно, сам отчет, содержащий сводные и детальные данные по работникам;

  • Лист “Информация” – памятка пользователя.

    Используемые элементы:

  • Кнопки.

  • Иконки.

  • В качестве основного элемента используется “Matrix” (“Матрица”), а дополнительного – “Card” (“Карточка”).

  • Дополнительные украшательства – “Text box” (“Текстовое поле”), “Shapes” (“Фигуры”).

    Процесс разработки:

  • Для указания базового промежутка времени на уровне Power Query были созданы параметры “Начало периода” и “Конец периода” – это даты начала и окончания периода, которые выведены в название отчета.

  • Создана таблица “Календарь” – базовая таблица, определяющая набор дат для расчета.

  • Создана таблица “Праздники” – таблица настройки, содержащая список российских праздников.

  • Создана таблица “Переносы” – таблица настройки, содержащая даты так называемых “перенесенных” дней.

  • Создана таблица “Меры” – техническая таблица, созданная для удобства.

  • Создана таблица “Параметры” – содержит параметры отчета для указания необходимого отрезка времени.

  • Создана таблица “Период отсутствия” – содержит набор исходных данных, который имеет минимально необходимую структуру, а именно: фамилию, имя и отчество сотрудника, начальную и конечную даты его отсутствия, а также его причину.

  • Создана таблица “Легенда” – таблица, являющаяся фильтром, и описывающая цветовое обозначение.

  • Создана таблица “Сотрудники” – таблица, представляющая собой справочник сотрудников.

  • Создана таблица “Отсутствие по датам” – таблица содержит перечень дат отсутствия и причину по каждому сотруднику, в виде, при котором каждая строка таблицы представляет собой одну конкретную дату.

  • Создана таблица “Общий список дат” – таблица содержит общий перечень дат за указанный период по каждому сотруднику, в виде, при котором каждая строка таблицы представляет собой одну конкретную дату.

    На этом работы с Power Query завершены.

  • Следующим этапом является проверка связей получившейся модели данных, и их корректировка в случае необходимости. Схема связей представлена ниже:

    dev_002_relations

  • Затем, при помощи DAX, начинаем формировать нужные аналитические разрезы, например, производим деление общего массива данных, сформированного в таблице “Общий список дат” на дополнительные составляющие: рабочие дни, нерабочие дни, и, собственно, те дни, когда сотрудник должен быть на рабочем месте, но при этом он отсутствует по обозначенной причине.

  • Далее, при помощи мер, рассчитываются сводные показатели по компании: рабочее время, время сотрудника, соответствующее отпуску, проведенное на больничном, или в отгулах.

  • Когда все готово, можно приступать к визуализации данных;

  • Последний шаг – это дизайн, но тут уже раздумий не надо, поскольку все оформлено в соответствии со стилем, используемым в предыдущем отчете (см. отчет Производственный календарь)

    Особенности разработки:

  • Работа и функционал созданного календаря подробно описана в предыдущей статье, все преимущества сохранены.

  • При разработке сделано допущение, что сотрудник либо присутствует на работе, либо нет. Соответственно, время отсутствия сотрудника рассчитывается в днях. Частичное отсутствие в офисе (например, 1 час) не реализовано по идеологическим соображениям, поскольку нужная степень детализации может завести очень далеко. Все зависит от того, с какой точностью нужна информация, и насколько вы готовы обеспечить эту самую точность.

  • Как вы, наверное, уже поняли из описания выше, поскольку мы визуализируем все рабочее время сотрудника за указанный период времени (например, год), то, в зависимости от количества сотрудников на каждую единицу создается массив в 365 записей. Несмотря на это, простота модели обеспечивает быстрое обновление данных, и даже при 1000 сотрудников у вас не возникнет никаких проблем.

  • При разработке отчета данные исходного набора значений вносились непосредственно в Power BI (таблица “Период отсутстия”), дабы конечный файл не зависел от внешних источников. Переключение на внешние источники данных не составляет проблем.

    Рвав-рвав, как я уже говорил, удобство и простота – наше кредо!

    Ушел проверять миску, вдруг чего изменилось…

    Ваш Смайл

    ДЛЯ ЛЮБИТЕЛЕЙ ПОНАЖИМАТЬ НА КНОПОЧКИ