SSRS - Как добиться цвета столбцов в соответствии с проектами на диаграмме Ганта?

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

Мой запрос возвращает такие строки:

|StartDate           |ProjectNumber  |Facility-ID  |Hours     |EndDate            |
|2016-01-01 00:00:00 |Project-A      |Fac-A        |4         |2016-01-01 04:00:00|
|2016-01-01 04:00:00 |Project-B      |Fac-A        |3         |2016-01-01 07:00:00|
|2016-01-02 00:00:00 |Project-C      |Fac-B        |2         |2016-01-02 02:00:00|
|2016-01-02 02:00:00 |Project-B      |Fac-A        |8         |2016-01-02 10:00:00|
|2016-01-03 00:00:00 |Project-B      |Fac-A        |8         |2016-01-03 08:00:00|
|2016-01-04 00:00:00 |Project-B      |Fac-A        |8         |2016-01-04 08:00:00|

Я следовал руководству здесь: http://pnarayanaswamy.blogspot.dk/2010/09/range-bar-chart-gantt-chart-using-ssrs.html
Чтобы настроить диаграмму Ганта для визуализации часов в день на объект (объекты на оси Y, дни / даты на оси X и цвет полосы для обозначения того, к какому проекту относятся часы.)
Идея в том, что чтобы обеспечить визуальное представление о том, сколько часов в день используется данное учреждение (покрытие, из 24 часов) и каким проектом.

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

Моя группа диаграмм выглядит так (QTY - это часы)
 введите описание изображения здесь

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

Как сделать диаграмму сгруппированной по часам на объект в день, в зависимости от проекта? Я чувствую, что мне, возможно, придется добавить столбец к моему запросу, чтобы помочь в этом вопросе, но я не уверен, какой именно.

РЕДАКТИРОВАТЬ:
Забыл упомянуть, что я работаю с датами, чтобы рисовать диапазоны на диаграмме. Они рассчитываются в моем запросе в startdate / enddate


person Erik Wilson    schedule 03.08.2016    source источник
comment
Каковы ваши значения для значений диапазона EndDate и StartDate? В данных вашего примера столбцы не отображаются, поскольку нет разницы между значениями начальной и конечной дат.   -  person iamdave    schedule 03.08.2016
comment
@IamDave Привет! И спасибо за ответ. Я забыл упомянуть, что я вычисляю даты как datetime. Отредактировал вопрос, чтобы отразить это. Извинения!   -  person Erik Wilson    schedule 03.08.2016
comment
Я не думаю, что то, что вы хотите сделать, возможно в SSRS без настраиваемой легенды и настраиваемых цветов заливки полос, что потребует ссылки на список всех проектов и их соответствующие цвета в настраиваемой легенде (просто таблица, помещенная рядом на диаграмму) и в выражениях заливки столбцов.   -  person iamdave    schedule 03.08.2016
comment
Я считаю, что вы правы. Хотя присвоение определенного цвета каждому уникальному проекту в моей базе данных очень далеко от возможности (более 10 тысяч проектов), я думаю, что их можно сгенерировать по мере необходимости. Я буду держать вас в курсе того, что узнаю. Спасибо за вашу помощь!   -  person Erik Wilson    schedule 04.08.2016


Ответы (3)


Самое близкое, что я могу найти, - это использовать детали работы, выполненной в ваших группах категорий. Это можно сделать, удалив все группы и нажав зеленый значок +:
введите описание изображения здесь

Как только вы это сделаете, вы можете указать, что вы хотите отображать на вертикальной оси, щелкнув Свойства серии для вашего диапазона и заполнив поле категории:
 введите описание изображения здесь

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

person iamdave    schedule 03.08.2016

Вы ищете что-то подобное? щелкните 1, чтобы просмотреть пример диаграммы.

Если да, попробуйте разделить день и время. Получите время начала и окончания, а также день (показано в примере как Dte).

Затем настройте его следующим образом: щелкните 2, чтобы просмотреть пример настройки.

person S. Ellis    schedule 03.08.2016
comment
Привет! Хотя это определенно удобное решение, это не совсем то, что я ищу. Я ищу диаграмму Ганта или "временную шкалу", например: imgur.com/atdy8pP - person Erik Wilson; 04.08.2016
comment
@ErikWilson Как у вас это изображение, если у вас все еще есть эта проблема? - person iamdave; 04.08.2016
comment
Моя проблема, как описано в вопросе, заключается в том, что диаграмма будет отображать только первое вхождение, если проект регистрирует одинаковое количество часов на одном предприятии в разные даты. Моя проблема заключается в группировке серий / категорий. - person Erik Wilson; 04.08.2016

Мне удалось найти решение проблемы, которое меня отчасти устраивает.

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

Это действительно решает проблему группировки в диаграмме, которая была главной проблемой.

Как намекнул IamDave в своем комментарии, (по-видимому) единственный способ правильно заставить цвет полос диаграммы отражать проект, из которого они возникли, - это использовать свойство fill-color серии.

Для этого я добавил в свой запрос шаг, который присваивает каждому уникальному проекту в наборе результатов возрастающее число от 1 и выше; который в отчете используется в выражении цвета заливки для серии Пример

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

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

person Erik Wilson    schedule 31.08.2016