2016-11-22 1 views
1

Я только начинаю изучать SSRS, так что простите меня, если это простой вопрос, но я не могу найти подходящий ответ ... У меня есть набор данных с сервисными билетами, запрос чего-то как это:Группа SSRS от fariff для круговой диаграммы

SELECT service_tickets, Company_id, Urgency, Date_Entered_UTC, Date_Closed_UTC 
    CASE when servicetype = '' then 'Other' else servicetype end as ServiceType, 
    CASE when servicesubtype = '' then 'Other' else servicesubtype end as ServiceSubType, 
FROM v_Service 
WHERE Hours_Actual >0 

Я хотел сгруппировать результаты этого по кварталам, используя date_entered поле для диаграммы Pie (и в конечном счете, отобразить его в виде процента от общей суммы, т.е. 40% всех билетов вошедшего в 1 квартале, 20% всех билетов вошли в Q2 и т. Д., Но об этом я буду беспокоиться позже). Запрос ниже дает мне правильный подсчет:

SELECT count(service_tickets) as Tickets 
FROM v_service 
    WHERE ... 
GROUP BY DATEDIFF(qq, date_entered, getdate()) 

Однако, как я использую набор данных для нескольких графиков в том же докладе, мне нужно, чтобы все поля, как в первом запросе. Поэтому я пытаюсь выяснить, как сообщить SSRS для группировки результатов из первого набора данных, чтобы дать мне результаты, как из второго запроса. В сущности, как я могу перевести group by datediff в круговую диаграмму, используя исходный набор данных?

+0

Не ответ, но вы уверены, что хотите группировать по датам(), а не datepart()? Первый будет считать, сколько кварталов от текущей даты, второе даст вам фактический квартал ... – SMM

ответ

0

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

0

Самый простой способ - группировать выражение SSRS. В этом случае:

=DATEDIFF(DateInterval.Quarter, Fields!date_entered.Value, Now()) 

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

Но вы должны иметь возможность добавить его в качестве дополнительного столбца в свой SQL-запрос, не затрагивая другие элементы отчета. Просто добавьте DATEDIFF(qq, date_entered, GETDATE()) AS Quarters_since_entered в предложение SELECT.