График подсчет записей не по ключевому полю

Добрый день

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

Как получить график количество уникальных пользователей за текущий квартал в группировке по датам. На SQL легко и просто.

SELECT
CAST(DATEADD(HH,3,EPMRequestDate) as date) as [Дата], --дата запроса с учетом часового пояса
COUNT(DISTINCT EPMAuthDataEnergyId) as [Уникальные пользователи],
COUNT(Id) as [Посещения]
FROM EPMAuthDataStatisticEntity
WHERE
EPMAuthDataEnergyId!='9bb71e40-09b4-4352-ba5a-0f55b486f8f0' --Исключение ИД
and EPMTypeRequest = 1 --тип запроса
and EPMRequestDate between DATEADD(M,-3, GETDATE()) and GETDATE() --Текущий квартал
GROUP BY CAST(DATEADD(HH,3,EPMRequestDate) as date)
ORDER BY CAST(DATEADD(HH,3,EPMRequestDate) as date)

Начинаю делать в BPM и получаю только количество посещений в день

Изображение удалено.

Насколько понимаю стандартными средствами никак?

Нравится

3 комментария
Лучший ответ

Нужно создать view в БД, на основе view создать объект. И уже делать график основываясь на данных виртуального объекта (view)

Поищите по форуму, как создаются объекты на основе вьюхи, вот например в этой теме есть инфа.

https://community.terrasoft.ru/questions/sozdanie-obekta-na-osnove-db-view

Нужно создать view в БД, на основе view создать объект. И уже делать график основываясь на данных виртуального объекта (view)

Поищите по форуму, как создаются объекты на основе вьюхи, вот например в этой теме есть инфа.

https://community.terrasoft.ru/questions/sozdanie-obekta-na-osnove-db-view

Благодарю за помощь. Создал View, объект в системе по ней и построил требуемые графики. Единственная сложность возникла при создании Объекта. Система требовала обязательно указать ключевое поле. Пришлось задать его во View

Да, для корректной работы view должна быть максимально похожа по набору стандартных полей на обычные объекты. Ещё поле для отображения указать будет не лишним.

Если не знаете, что вывести в качестве уникального Id, можно взять MD5-хэш от остальных полей.

 

Показать все комментарии