Круговая диаграмма SSRS - собранный срез не отображается, когда собранные срезы все, кроме 1 среза - PullRequest
3 голосов
/ 06 марта 2019

У меня есть следующие данные:

Сервер |ГБ

Сервер 1 |500

Сервер 2 |1

Сервер 3 |15

Сервер 4 |2

С круговой диаграммой, которая настроена как CollectedPie с процентным пороговым значением 2 Результат следующий: Piechart 1

Как вы можете видеть, естьСобранная круговая диаграмма для Сервера 2 и 4. Однако, поскольку Сервер 3 использует всего 2,90 ГБ, я также хочу включить его в собранную круговую диаграмму.Когда CollectedThreshold обновится до 2,90 или выше, он не сможет собрать.

См. Изображение ниже: Piechart 2

Как вы можете видеть, оно не будет собираться, когдаКруговая диаграмма будет иметь 1 нормальный срез и 1 собранный срез, разбитый на другую круговую диаграмму для этих деталей.При замене деталей на отдельный срез вместо собранных можно наблюдать следующий результат: Piechart 3

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

1 Ответ

3 голосов
/ 01 апреля 2019

Это меня беспокоило, поэтому я взглянул на него следующим простым запросом на основе ваших данных.

CREATE TABLE #temp1 (Server VARCHAR(10), GB INT)

INSERT INTO #temp1 (Server, GB) VALUES
('Server 1', 500), ('Server 2', 1), ('Server 3', 15), ('Server 4', 2), ('Server 5', 100)

SELECT * FROM #temp1

Вы можете заметить, что я добавил пятое значение в набор данных для 'Server 5', 100. Что-то произошло со мной во время тестирования с вашим набором данных, и это было то, что, возможно, SSRS не взорвется до второго пирога, если будет собрано только одно значение НЕ. Похоже, что это так. С пятой точкой данных - оставляя два среза и срез «Other», срез «Other» взрывается.

image

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

=IIF(Fields!Server.Value = "Server1" OR Fields!Server.Value = "Server5", "Blue", "#00000000")

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

Тогда вам может понадобиться установить для свойства CollectedColor что-то еще, чтобы избежать того, что вся основная диаграмма будет одного цвета. Единственные проблемы, с которыми я сталкивался при использовании этого метода, это то, что в легенде есть метка для того, чем является вторая часть основного блока, и есть граница, разделяющая разделенные фрагменты. Приложив некоторые усилия, вы можете найти способ обойти это, например сделать черный блок черным с черными рамками.

...