2016-06-01 2 views
0

Я занимаюсь самообучением в SSRS 2014. У меня есть определенный набор данных, которые я хотел бы представлять, а именно: у нас есть цель сбора средств и у нас есть деньги в направлении этой цели. Приходящие деньги попадают в один из четырех разных ведер - поэтому я ищу что-то сложное, но горизонтальное (один балл), в котором отображаются итоговые суммы в квадратных скобках, а затем некоторое «пустое» пространство, представляющее то, что нам нужно для достижения нашей цели. Я пробовал линейную калибровку (не мог понять, как получить «развернутые» части, чтобы показать, даже с группой данных); панель данных (не может правильно отображать метки, потому что они должны отображаться внутри панели); другие представления вызывают множественные бары, которых я не хочу.SSRS-Лучший способ представления конкретных показателей

Я занимаюсь исследованиями и стараниями в течение двух дней ... Мне интересно, действительно ли эта вещь, которая кажется такой простой, не особенно эффективна в SSRS, или если я только что выбрал плохие методы. Каков наилучший способ представления этих данных? Спасибо!

ответ

0

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

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

В комплекте скриншот образцов. Обратите внимание на следующее:

  1. Я жестко закодировал имена цветов в запросе. Это отличный способ контролировать, как выглядят и чувствуют ваши диаграммы. Затем вы просто меняете цвет, чтобы представить выражение, равное значению поля цвета. Для изменения темных и темных цветов вы также можете установить цвет шрифта, поэтому, если у вас есть голубая полоска, вы можете иметь черный текст вместо белого или наоборот.

  2. При использовании меток на гистограммах вам нужно закодировать минимальное значение для панели. Это обеспечит, что когда у вас есть что-то вроде Bucket 5, где вы находитесь на 5% от цели (относительно небольшой бар), но сумма большая ($ 124,243), что панель будет достаточно большой, чтобы содержать ярлык. В этом случае, если процент собранных составляет менее 15%, тогда размер бара будет составлять 15%.

    Examples

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

With CTE as (
Select 'Bucket 1' as bucket, 'blue' as color, 'white' as text_color, 50 as percent_total, 15236 as amount Union all 
Select 'Bucket 2' as bucket, 'red' as color, 'white' as text_color, 33 as percent_total, 24685 as amount Union all 
Select 'Bucket 3' as bucket, 'green' as color, 'black' as text_color, 67 as percent_total, 41457 as amount Union all 
Select 'Bucket 4' as bucket, 'purple' as color, 'white' as text_color, 95 as percent_total, 32493 as amount Union all 
Select 'Bucket 5' as bucket, 'black' as color, 'white' as text_color, 5 as percent_total, 124243 as amount 
) 

Select CTE.* 
    , CAST(amount as float)/(CAST(percent_total as float)/100.00) as Goal 

From CTE 

Order by Bucket desc 

Edited на основе Комментарии

Если вы хотите, чтобы все ведра с остатком на одной строке, то вы можете выполнить, что следующее (хотя я не уверен, как вы бы обрабатывать маркировки суммы к отдельным ведрам).

Конечный результат

enter image description here

Запросов

Declare @Goal int = 500000; 

With CTE as (
Select 'Bucket 5' as bucket, 'blue' as color, 'white' as text_color, 15236 as amount Union all 
Select 'Bucket 4' as bucket, 'red' as color, 'white' as text_color, 24685 as amount Union all 
Select 'Bucket 2' as bucket, 'green' as color, 'black' as text_color, 41457 as amount Union all 
Select 'Bucket 3' as bucket, 'purple' as color, 'white' as text_color, 32493 as amount Union all 
Select 'Bucket 1' as bucket, 'black' as color, 'white' as text_color, 124243 as amount 
) 

Select CTE.bucket 
    , CTE.color 
    , CTE.text_color 
    , CTE.amount 
    , CAST(CTE.amount as float)/CAST(@Goal as float) as percent_total 
    , 'white' as border_color 

From CTE 

Union All 

Select 'Remaining' as bucket 
    , 'Transparent' as color 
    , 'Transparent' as text_color 
    , @Goal - SUM(CTE.amount) as amount 
    , CAST(@Goal - SUM(CTE.amount) as float)/CAST(@Goal as float) as percent_total 
    , 'black' as border_color 

From CTE 

Order by Bucket 

установки параметров в Report Builder

Обратите внимание, что я динамически изменяемые т он цвет границы быть:

=Fields!border_color.value 

и цвет бара быть:

=Fields!color.value 

enter image description here

+0

Извините, я понял, что в моем вопросе недостаточно ясности - мне нужен один баре, чтобы показать ведра, а затем пробел до цели. Это прекрасные примеры, кстати ... теперь, если бы я мог просто соединить все бары вместе и пометить их красиво за пределами виза, я бы все поставил! :) – CoderDonna

+0

Вам нужно показать этикетки для вклада каждого ведра в общую сумму? –

+0

я. Я понял, что, вероятно, могу сделать очень короткие ярлыки, такие как A, B, C и т. Д., А затем вывести текст за пределами фактического графика, который показывает, что означают эти вещи. – CoderDonna

0

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

+0

Я не пробовал это - я дам ему кружиться, спасибо. – CoderDonna

+0

добро пожаловать, дайте мне знать, как это получается. –

Смежные вопросы