Использование графиков SSRS для отображения периодов времени по оси Y - PullRequest
0 голосов
/ 06 марта 2009

Я хочу использовать линейный график SSRS для составления графика окончания времени выполнения заданий. Я использую время выполнения по оси Y и дату по оси X. График выглядит как плоская линия, и времена не отображаются на оси Y, но целые числа показывают.

Я также хочу поставить целевую строку в определенное время, чтобы показать наше время SLA.

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

+-------+----------+
|   y   |    x     |
+-------+----------+
| 10:05 | 3/1/2009 |
| 11:00 | 3/2/2009 |
| 10:15 | 3/3/2009 |
+-------+----------+

+-------+----------+----------+----------+
| 11:00 |          |    x     |          |
| 10:45 |          |          |          |
| 10:30 |          |          |          |
| 10:15 |          |          |    x     |
| 10:00 |    x     |          |          |
+-------+----------+----------+----------+
|       | 3/1/2009 | 3/2/2009 | 3/3/2009 |
+-------+----------+----------+----------+

1 Ответ

4 голосов
/ 07 марта 2009

Допустим, у вас есть таблица Times с датой и часами. Объявите параметр отчета @LimitHourParam decimal - для целевого времени. Установить запрос набора данных:

SELECT Date, SUM(Hours) AS Hours, 'Actual Hours' AS LimitHour
FROM Times 
GROUP BY Date
UNION ALL
SELECT DISTINCT Date, @LimitHourParam AS Hours, 'Hours Limit' AS LimitHour
FROM Times 

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

Поместить элемент управления Chart на страницу отчета.

Перейти к свойствам диаграммы-> Данные

Нажмите «Добавить значения»
Сотрите значение метки и установите значение на

=Sum(Fields!Hours.Value)

Перейдите на вкладку «Метки точек» диалога «Изменить значение диаграммы», установите флажок «Показать метки точек», установите для метки данных значение

= String.Format("{0}:{1}",  (Fields!Hours.Value / 1) - (Fields!Hours.Value Mod 1), (Fields!Hours.Value Mod 1)*60/1 - (Fields!Hours.Value Mod 1)*60 Mod 1)

Добавить группы категорий, установить выражение "Group On" в

=Fields!Date.Value

Добавить серию групп, установить для выражения "Group On" и значения метки значение

=Fields!LimitHour.Value

Перейдите в Свойства диаграммы-> Ось X, установите формат меток дд / мм / гггг

Результат должен выглядеть так: http://img9.imageshack.us/img9/3838/ssrschart.jpg

...