Сводные статистические показатели

Встроенная система статистики позволяет собирать оперативные данные и выводить их в удобном для пользователя виде прямо на Начальной странице Системы.

Данные могут быть сгруппированы в следующем виде:

  • графики;
  • диаграммы (круговые и столбчатые);
  • гистограммы (объемные и плоские).

Возможности встроенной статистики позволяют задавать плановые показатели и рассчитывать фактические данные на указанный период, изменять сведения об отчетном периоде, группировать данные по категориям и настраивать видимость этих данных для различных пользователей.

При разработке системы много внимания были уделено оптимизации процессов для работы пользователя. Среди статистических показателей встречаются довольно крупные. В отдельных случаях при открытии одного показателя системы необходимо выполнить порядка 40 запросов для того, чтобы отобразить данные на Начальном столе.

Для того, чтобы сервер чувствовал себя менее напряженно при интенсивной нагрузке, были применены следующие методы: работа в фоновом режиме и сохранение данных в кэш. Когда пользователь активирует строку показателя, выполнение запросов происходит в фоновом режиме – форма не зависает, и вы можете продолжать работу с базой. Также, однажды сформированный график сохраняется в кэш системы. Если другой пользователь запросит в системы тот же график за тот же период, то вместо расчета нового значения система выдаст ему сохраненное значение.

Система анализирует действия пользователей и формирует данные по наиболее часто используемым отчетным периодам. На основе этой статистики каждый день регламентным заданием перед началом работы по всем созданным показателям в фоновом режиме формируется кэш значений данных графиков. Когда сотрудники приходят утром на рабочее место и массово открывают свои Рабочие столы, они получают весь массив данных из кэша (а не посылают серверу множественные запросы, тормозя его работу и замедляя время фоновой загрузки). Это снижает нагрузку на сервер, но приводит к тому, что данные отображаются по состоянию на момент формирования кэша, а не на текущую минуту.

Данный подход позволил значительно снизить нагрузку на сервер в рабочие часы, повысить быстродействие системы и производить расчет данных показателей в оперативном режиме.

Для первоначальной настройки и получения доступа к встроенной статистике предусмотрено две роли:

  • «Администрирование статистических показателей» - позволяет пользователю не только просматривать готовые показатели, но и управлять ими. Т.е. создавать новые показатели, менять алгоритмы расчета показателей и менять настройки доступа к показателям определенных пользователей;
  • «Просмотр статистических показателей» - обеспечивает отображение на начальной странице пользователя уже настроенных показателей без возможности самостоятельного их редактирования и изменения алгоритмов сбора.

В состав метаданных встроенной системы статистики включен справочник показателей и их настроек «ИМЦ: Статические показатели», нескольких регистров сведений, которые кэшируют данные и группируют их в удобный вид для последующей обработки, а также обработка «ИМЦ: Сводные статистические показатели», в которой содержится основная логика сбора и отображения рассчитанных показателей.

Пользовательский интерфейс встроенной системы статистики визуально разбит на две части.Левая часть представляет собой «Панель отбора категорий». В ней можно отобрать как наборы показателей, так и конкретные показатели. В правой части «Данные графиков и диаграмм» отображаются рассчитанные значения выбранных показателей.

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

+- означает, что в эту категорию вложены другие показатели. При нажатии список развернется;

+1– обозначает, что у данного показателя имеется еще один подчиненный показатель, который не выводится на экран при общем отображении. Если выбрать показатель, то будут видны все подчиненные ему показатели (в том числе и те, которые скрыты на главном экране). Как правило, такие показатели необязательны для вывода в общую группу, но могут предоставить дополнительные сведения;

Звезда– означает, что данный элемент добавлен в Избранное. При последующем открытии данной формы показатели из Избранного будут отображаться на верхнем уровне. Чтобы добавить показатель в Избранное, необходимо нажать на него правой кнопкой мыши и выбрать «Добавить в избранное». Для удаления из избранного выбираем показатель со звездой, нажимаем на нем правой кнопкой мыши и выбираем «Удалить из избранного».

Древовидный список можно скрыть полностью, оставив на экране только часть с графиками и диаграммами. Для этого нажимаем на кнопку «Изменить видимость панели отборов».

Настройка статистических показателей

Для настройки каждого конкретного показателя используется специальная форма. Она доступна пользователям с полными правами или с ролью «Администрирование статистических показателей» как форма списка справочника «ИМЦ: Статистические показатели».

Каждый показатель в списке имеет свой моментальный статус:

  • Зеленый круг - означает, что все элементы показателя заполнены;
  • Желтый круг - означает, что показатель заполнен частично либо некоторые его элементы отключены;
  • Красный круг - означает, что показатель не заполнен либо его элементы отключены.

Только что созданные показатели, в которые еще не добавлены элементы, отображаются с красным кругом. О том, как их заполнять, поговорим далее.

При помощи формы можно добавить новые показатели и группы. Для добавления группы верхнего уровня нажимаем на кнопку «Создать группу» и заполняем поле «Наименование». Лучше давать максимально понятные наименования, чтобы пользователи, которые незнакомы с Системой, понимали, что означает та или иная группа показателей. После этого добавляем показатели, которые войдут в созданную группу. Для этого выделяем нужный показатель и перетаскиваем его в нашу группу. Расположение групп относительно друг друга также можно настроить перетаскиванием.В течение 1 минуты у всех пользователей с открытой Начальной страницей Системы данная группа показателей обновится и будет включать новый элемент.

Для создания нового показателя нажимаем кнопку «Создать». В открывшейся форме необходимо указать «Наименование» и добавить «Элементы показателя». По каждому из элементов в Системе отображается относительно подробная справка.

<font inherit/inherit;;red;;inherit>ВНИМАНИЕ!</font> В Системе существует встроенная справка, в которой содержится подробная информация по заполнению статистических показателей – она доступна по нажатию клавиши F1.

Создание показателя вида «График»

Перед нами стоит задача: сделать график, отображающий количество созданных приходных документов. Другими словами, график покажет, сколько документов поступает в фонд с разбивкой по дням. По оси x графика (горизонталь) будут располагаться даты, а по оси y (вертикаль) – количество документов. Для примера создадим новый статистический показатель с названием «Статистика о приходных документах». В справочнике нажимаем кнопку «Создать» и указываем соответствующее наименование. После этого нажимаем на кнопку «Добавить показатель».

Открывается форма изменения показателя. Для начала изменяем «Наименование показателя». Оно должно точно отражать то, что выводится на графике. Так что назовем наш показатель «Количество созданных документов по дням». После этого нужно выбрать «Вид элемента». В нашем случае для создания графика мы выбираем «Вид элемента» – «Диаграмма». В поле «Тип диаграммы» выбираем значение «График». После этого необходимо создать запрос данных, который позволит нам вывести этот график на экран. А также заполнить список показателей запроса и их значений. Подробно вопрос создания запроса рассмотрен в разделе «Создание запросадля показателя».

Если вы следовали инструкции, то в окне предпросмотра будет построен график.

Создание графика с несколькими сериями

В ранее показатель добавим график, в котором все созданные документы будут разбиты по пользователям, которые их создают. График представит, кто создает больше документов, а кто – меньше. Для этого в окне Статистического показателя нажимаем рядом с нашим графиком кнопку «Добавить показатель». В форме пишем название нового графика. Выбираем «Вид элемента» - «Диаграмма» и тип диаграммы «График с накоплением». Позже мы сможем поменять вид диаграммы на более подходящий (если понадобится). В поле «Запрос данных для статистики» вставляем запрос из нашего предыдущего графика и редактируем его. В новом графике нам необходимо вывести «НазваниеСерии» по различным пользователям на экран, чтобы оно отображалось в легенде. Также нам нужно сгруппировать документы по их создателям. Открываем конструктор запроса.

Во вкладке «Таблицы и поля» Конструктора дважды щелкаем на поле «Количество созданных документов по неделям». В нижней части окна редактирования удаляем значение. После этого находим значение, которое отвечает за создателей документов. Двойным щелчком добавляем его нижнюю часть окна редактирования – так мы присвоили полю новое значение.

Переходим во вкладку «Группировка». Перетаскиваем наше поле в окно «Групповое поле» – так мы обозначим, что группировать данные нужно по создателям документов. После этого переходим во вкладку Объединения/Псевдонимы. Важно, чтобы добавленный нами ответственный имел имя «НазваниеСерии». В таком случае в легенде графика будет отображаться весь список пользователей. Нажимаем «ОК». В форме изменения показателя заполняем параметры так же, как и заполняли при создании предыдущего графика. Записываем и сохраняем изменения. Таким образом, при указании в «НазваниеСерии» конкретного значения, по которому также будет группироваться получаемый результат, мы увидим множество этих серий на одном графике.

Создание показателя вида «Круговая объемная диаграмма»

Следующий вид диаграмм, которые мы научимся создавать, отличается от графиков. В нашем примере диаграмма будет отображать, сколько документов было создано каждым пользователем за указанный период. Добавляем новый показатель к двум ранее созданным графикам. Даем показателю название «Количество созданных документов по пользователям за период». «Вид элемента» – «Диаграмма». «Тип диаграммы» – «Круговая объемная». Открываем Конструктор запроса.

Запрос будет примерно такой же, как и при создании прошлого графика, но в этот раз мы не будем группировать документы по дате создания. Во вкладке «Таблицы и поля» добавляем поля «Ссылка» и «Ответственный» из категории «ПоступлениеВФонд». Во вкладке «Группировка» поле «Ответственный» перемещаем в «Групповое поле», чтобы созданные документы группировались по пользователям. Поле «Ссылка» перемещаем в «Суммируемое поле», чтобы считать количество документов. Во вкладке «Условия» выставляем уже привычные нам поля.

Главное отличие от графика находится во вкладке «Объединения/Псевдонимы» Конструктора. Если при создании графика «Точка» у нас соответствовала «Дате», а «Количество» соответствовало «Серии», то при создании других диаграмм все должно быть наоборот. Количество различных элементов является «Точками», а «Ответственный» является «Серией». Еще раз: для графика «Точкой» является Группировочное поле, а для диаграмм, гистограмм, воронок и прочих показателей, «Точкой» является то, что мы рассчитываем – «Суммируемое поле». Поэтому во вкладке «Объединения/Псевдонимы» мы переименовываем поле «Ссылка» в «Точку», а поле «Ответственный» в «Серия».

Резюмируем: для показателя вида «Диаграмма» у нас должно быть создано 4 элемента: «Точка», «Серия», «НазваниеТочки» и «НазваниеСерии». Для диаграммы «Точкой» является то, что мы рассчитываем (суммируемое поле). «Серией» – то, по чему мы группируем (группировочное поле). Для графиков это было наоборот: «Серия» – то что мы считаем, а «Точка» – по чему группируем. Для выводимых на рабочий стол показателей обязательно должны быть указаны «НазваниеТочки» и «НазваниеСерии». Один из этих элементов будет иметь значение NULL, а другому (который своего названия не имеет) мы даем название. У поля «Серия» название есть – это имя пользователя, ответственного. А «Точка» – это число без названия. Поэтому мы и задаем «НазваниеТочки», как Количество документов. А «НазваниеСерии» оставляем пустым, присваивая ему значение NULL.

Создание показателя вида «Таблица расшифровки»

Ранее мы создали графики – они будут отображаться в основном виде в том случае, если в панели отбора выбран верхний уровень группировки. Сделаем так, чтобы при выборе конкретного показателя у нас отображалась также таблица, в которой мы будем видеть конкретные значения. Для этого мы создадим показатель вида «Таблица расшифровки», который будет отображать, сколько конкретный пользователь создал документов за определенный период времени (с группировкой по неделям).

В форме изменения показателя выбираем тип «Таблица расшифровки». Даем показателю «Название» и открываем Конструктор запроса. Во вкладке «Таблицы и поля» выбираем из категории «ПоступлениеВФонд» поля «Дата», «Ответственный» и «Ссылка». Дважды щелкаем на поле «Дата» и редактируем его до вида НачалоПериода(ПоступлениеВФонд.Дата, Неделя). Во вкладке «Объединения/Псевдонимы» переименовываем поле «Дата» в «Неделя», а поле «Ссылка» в «КоличествоДокументов». Переходим во вкладку «Группировка». В Группировочное поле перемещаем поля «Дата» и «Ответственный». В Суммируемое поле перемещаем поле «Ссылка». Далее определяем порядок группировки данных на вкладке «Порядок». Выбираем «Дата» и «Ответственный» со значением «Возрастание» для того, чтобы документы были рассортированы по времени создания и по авторам в порядке возрастания. Во вкладке «Итоги» мы определяем вид итоговой таблицы. В качестве Группировочного поля мы указываем «Дату», а в качестве Итогового поля – КоличествоДокументов. В столбце Выражение выбираем СУММА(КоличествоДокументов). Таким образом мы задаем, что в таблице будет отражено суммарное количество документов за конкретный период. После этого нажимаем «ОК», заполняем параметры и сохраняем изменения.

Данная таблица расшифровки будет отображаться в виде обычного результата запроса. Название столбцов берется из псевдонимов, которые мы указывали в запросе.

Создание показателя вида «План/Факт»

Помните неинформативный график, который мы создали для того, чтобы продемонстрировать, как на одном графике может выводиться несколько показателей? Сейчас мы на его основе создадим планфакторный показатель. Он отображает, сколько документов было создано пользователями по факту и сколько необходимо создать для того, чтобы выполнить план. Нажимаем на кнопку «Редактировать», чтобы внести изменения в показатель. В открывшейся форме выставляем «Вид элемента» - «План/Факт» и в поле «Плановый показатель» вписываем число. Допустим, что плановый показатель для нас – 150 документов. Название можно не писать, так как оно не будет отображаться в этом показателе. Далее открываем конструктор запроса.

Так как в результате запроса мы должны получить одно единственное поле, в котором будет содержаться количество фактически созданных документов, нам необходимо удалить лишние поля. Во вкладке «Таблицы и поля» удаляем все выбранные поля, кроме «Количество». Во вкладке «Группировка» должно остаться только Суммирующее поле. Группировочное поле будет пустым, так как мы удалили остальные поля. Во вкладке «Условия» мы оставляем неизменными: нам по-прежнему нужны документы за определенный период, проведенные и не созданные администратором. Во вкладке «Объединения/Псевдонимы» также все оставляем неизменным. Сохраняем изменения.

Планфакторный показатель в предварительном просмотре недоступен. Увидеть его мы сможем только на Начальной странице. Записываем изменения в нашем статистическом показателе и переходим на Начальную страницу.

Так как документов создано больше планового значения, фактическое число обозначено зеленым цветом. Если бы документов было создано меньше плана, то число было бы красным.

Создание сравнительного аналитического графика

Еще один вид показателя, который доступен пользователям – сравнительный аналитический график. Данный вид показателя позволяет сравнивать между собой различные графики без построения дополнительных сложных запросов.

Для его создания открываем Администрирование статистических показателей и выбираем один из существующих показателей. Для примера отредактируем элемент «Взаимосвязи» и добавим в него новый показатель. В открывшемся окне пишем название показателя и открываем «Конструктор аналитического графика». Мы видим древовидный список, в котором отображаются все отдельные показатели, которые имеют вид «график». Они сгруппированы аналогично панели отбора на Начальной странице и Справочнику по статистическим показателям.

В колонке с чекерами выбираем те показатели, которые хотим проанализировать. К примеру, сравним созданный нами график «Количество документов по неделям» с графиком «Создано записей по неделям пользователями». После сохранения изменений мы увидим, что Система автоматически создает запрос и заполняет параметры. Записываем и закрываем изменения. В окне предпросмотра график отображается некорректно, так что открываем его на Начальной странице, выбрав соответствующий показатель на панели отбора.

Создание запроса для показателя

В поле «Запрос данных для статистики» нажимаем в свободном месте правую кнопку мыши и в контекстном меню выбираем «Открыть конструктор запроса». Во вкладке «Таблицы и поля» Конструктора находим документ «ПоступлениеВФонд» и двойным щелчком выбираем из этой группы поля «Ссылка» и «Дата».

<font inherit/inherit;;inherit;;inherit>На вкладке «Условия» Конструктора ограничиваем состав документов условиями: документ принят к учету (проведен) и создан в задаваемый пользователю период.</font>

<font inherit/inherit;;inherit;;inherit>Для того, чтобы подсчитать, сколько проведенных документов поступает в фонд за определенный период и построить график, необходимо сгруппировать поля. Группировка полей осуществляется на вкладке Конструктора «Группировка».</font>

<font inherit/inherit;;inherit;;inherit>Таким образом мы сформировали сам запрос данных. У нас есть отборы по датам, некоторые ограничения, а также поля группировки и суммирования. Для того, чтобы система понимала, как строить график, нам необходимы 4 поля: точка, серия, название точки и название серии. Для показателей вида график точкой являются даты, а серией – значения, рассчитываемые на точку.</font>

<font inherit/inherit;;#e74c3c;;inherit>ВНИМАНИЕ!</font> <font inherit/inherit;;inherit;;inherit>Для каждого вида диаграмм параметры будут отличаться! Приведенные ниже примеры подходят только для создания диаграммы с типом «График».</font>

<font inherit/inherit;;inherit;;inherit>Переходим во вкладку «Объединения/Псевдонимы» Конструктора и переименовываем поля «Дата» и «Ссылка» в «Точка» и «Серия» соответственно. Системе необходимы еще два поля: «название точки» и «название серии». При этом значение поля «название точки» должно быть нулевым.</font>

<font inherit/inherit;;inherit;;inherit>Переходим во вкладку Конструктора «Таблицы и поля». В окне «Поля» щелкаем правой кнопкой мыши и добавляем новое поле. В нижней части открывшегося окна прописываем значение NULL. После этого переходим во вкладку Конструктуора «Объединения/Псевдонимы» и переименовываем созданное «Поле1» в «НазваниеТочки».</font>

<font inherit/inherit;;inherit;;inherit>Далее во вкладке «Таблицы и поля» таким же образом добавляем новое поле и в качестве значения указываем «Количество созданных документов по дням». Это значение будет отображаться в легенде графика. Во вкладке «Объединения/Псевдонимы» переименовываем новое поле в «НазваниеСерии».</font>

<font inherit/inherit;;inherit;;inherit>Для графика точкой всегда является то, по чему происходит группировка (в нашем примере – дата). Значения точки выводятся на горизонтальной оси. Серией в нашем случае является количество различных ссылок. Название серии будет выводиться в легенде графика, а название точки получает нулевое значение (NULL) и в легенде не отображается.</font>

<font inherit/inherit;;inherit;;inherit>После того, как разобрались с полями, переходим во вкладку «Порядок» и добавляем в правое окно поле «Точка». В столбце «Сортировка» указываем значение «Возрастание». После этого внизу Конструктора нажимаем на кнопку «ОК» и сохраняем изменения. Возвращаемся обратно в «Форму изменения показателя». Все настройки, которые мы задавали в Конструкторе, отобразятся в виде кода.</font>

Все графики строятся на основании запросов. В этом примере мы строили достаточно простую конструкцию запроса, но запросы могут быть и комплексными. Так, вы можете отбирать данные из внешних источников, создавать временные таблицы, группировать их в процессе расчета и многое другое. Единственное условие – после всех операций со временными таблицами и расчетами мы должны получить таблицы с четырьмя полями: «Точка», «Серия», «НазваниеТочки» и «НазваниеСерии».

Распределение прав доступа

При создании показателя автоматически распределяются права доступа. Узнать, кто имеет доступ к просмотру конкретного показателя можно, нажав на кнопку пользователя с замком.

По умолчанию созданный показатель доступен только тому, кто его создал. Администратор имеет доступ ко всем показателям. Если мы хотим добавить дополнительного пользователя, то в открывшейся панели необходимо нажать кнопку «Добавить» и выбрать пользователя (или пользователей) из списка. После этого – сохранить изменения. В течение 1 минуты пользователи, получившие доступ, увидят данный показатель в панели отбора на Начальной странице Системы.

Что делать в том случае, когда нам нужно открыть одному пользователю доступ сразу к десятку показателей? В таком случае настраивать каждый показатель будет трудоемко, а быстрая настройка осуществляется с формы списка справочника «Статистические показатели» по команде «Управление доступом».

В открывшемся окне Назначение прав мы сможем выбрать Пользователя и просмотреть список показателей, которые он может видеть (отмечены галочками). Для того, чтобы открыть или ограничить доступ, нужно просто выбрать или внять выбор в чекере напротив названия показателя. После внесения изменений выбор нового пользователя будет недоступен, пока мы не нажмем кнопку «Сохранить».