Отчеты
15
Сен
2

Активность пользователей

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

Приступим… Создайте в VS 2008 проект отчета и добавьте к нему новый отчет. Создайте новый DataSet с таким SQL-запросом:

select
	CONVERT(varchar(10), a.CreatedOn, 101) 'Дата',
	DATEPART(hh, a.CreatedOn) 'Час',
	case a.operation
		when 1 then 'Create'
		when 2 then 'Update'
		when 3 then 'Delete'
	end as 'Операция',
	case a.Action
		when 4 then 'Activate'
		when 5 then 'Deactivate'
		when 13 then 'Deactivate'
		when 14 then 'Share'
		when 15 then 'Retrieve'
		when 16 then 'Close'
		when 18 then 'Complete'
		when 21 then 'Reopen'
		when 24 then 'Qualify'
		when 25 then 'Disqualify'
		when 44 then 'Win'
		when 45 then 'Lose'
		when 49 then 'Unshare'
		when 51 then 'Generate Quote From Opportunity'
		when 52 then 'Add To Queue'
	end as 'Действие',
	e.name 'Объект',
	u.fullname 'Пользователь'
from
	auditbase a,
	SystemUser u,
	MetadataSchema.Entity e
where
	1=1
	and a.CreatedOn >= DATEADD(m, -1, getdate())
	and a.UserId = u.SystemUserId
	and (a.ObjectTypeCode = e.ObjectTypeCode and e.IsAuditEnabled = 1)
order by 1

Этот запрос просто вытаскивает все записи по аудиту за прошедший месяц и расшифровывает их коды на основе метаданных из таблицы MetadataSchema.Entity и списка кодов из MSDN.


Далее переходим к построению диаграмм…

Количество созданных записей

Первый график, который мы будем строить, будет показывать, сколько записей в разрезе по дням за прошедший месяц создали пользователи:

  • Вынесите в отчет гистограмму с накоплением;
  • Задайте следующие параметры для построения диаграммы:
    • Группировку категорий по Дате. При этом задайте фильтр для отбора только Операций = Create;
    • Группировку серий по Объектам;
    • Данные пусть отбираются по количеству поля Дата.
  • Для оси X задайте следующие свойства:
    • Axis type = Scalar;
    • Для диапазона значений укажите:
      • Минимум: =DateAdd(«m»,-1,Now())
      • Максимум: =Now()
      • Интервал = 1
      • Тип интервала = День
    • Этой настройкой мы ограничели диапазон выводимой информации, а также добавили «пустые» дни внутрь диапазона, в которых нет данных;
    • Задайте желаемый формат отображения даты.
  • Для оси Y задайте интервал = 1.

Первая диаграммы готова.

З.Ы. Если ограничить данную выборку, Контактами, Организациями, Интересами и Возможными сделками, то сможем узнать, как трудится отдел продаж, например.





Активность в течение дня

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

  • Добавьте в отчет линейчатую вертикальную диаграмму;
  • Задайте следующие параметры для построения диаграммы:
    • Группировку категорий по Часам;
    • Отбор данных по количеству поля Операция.
  • Для оси Y задайте следующие свойства:
    • Axis type = Scalar;
    • Для диапазона значений укажите:
      • Минимум = 0
      • Максимум = 23
      • Интервал = 1
      • Тип интервала = Число

Эта диаграмма получилось попроще предыдущей 🙂


Наиболее трудолюбивые пользователи

Следующая диаграмма будет просто показывать сколько действий выполнил каждый пользователь:

  • Добавьте в отчет круговую диаграмму;
  • Задайте для ее построения следующие параметры:
    • Группировку категорий по Пользователям;
    • Отбор данных по количеству поля Пользователь.
  • Для самой диаграммы включите отображение подписей к данным.

Готово. Приступаем к последней диаграмме.


Наиболее частые операции

Последняя диаграмма также будет круговой и будут показывать количество каждого типа операций за последний месяц. Итак:

  • Добавьте в отчет еще одну круговую диаграмму.
  • Задайте для ее построения следующие параметры:
    • Группировку категорий по Операциям;
    • Отбор данных по количеству поля Операция.
  • Также включите для диаграммы отображение подписей к данным.


Вот и все. Загружайте отчет в CRM и используйте.


З.Ы. Готовый проект отчета: UserActivity.zip.

Комментарии (2)
  • filo 15.09.2012

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

  • slivka_83 15.09.2012

    Вот здесь пользователи выбираются: http://mmcrm.ru/?p=2360

*

code