Post-Image

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

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

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

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

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

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

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

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

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

  • Количество дней болезни.

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

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

  • Собственно, сам отчет.

  • Памятка пользователя.

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

  • Скрывающаяся панель фильтров (стандартный функционал);

  • Кнопки;

  • Закладки;

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

  • Иконки;

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

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

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

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

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

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

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

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

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

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

  • Создана таблица “Employees” – справочник сотрудников.

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

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

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

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

    dev_002_relations

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

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

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

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

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

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

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

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

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

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

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

    Ваш Смайл

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