あなたの最善の策は単純な棒グラフだと思います。私の意見では、ここで重要なのは、バーの値を、収集された目標の割合で表すことです。ただし、各バーのラベルは、これまでに収集された実際の金額にする必要があります。このように、バーは目標に近づくにつれて比例して増加しますが、ラベルには収集された量が表示されます。
または、完了率をデータバーとして含む Tablix を作成し、これまでに収集された量と目標を比較することもできます。
サンプルのスクリーンショットが含まれています。次の点に注意してください:
クエリで色の名前をハードコーディングしました。これは、グラフの外観を制御する優れた方法です。次に、色フィールドの値に等しい式を表すように色を変更するだけです。さまざまな明るい色と暗い色については、フォントの色も設定できるため、水色のバーがある場合は白の代わりに黒のテキストを使用できます。また、その逆も可能です。
棒グラフでラベルを使用する場合は、棒の最低限の値をコーディングする必要があります。これにより、バケット 5 のように目標の 5% (比較的小さいバー) に達しているが金額が大きい ($124,243) 場合、バーがラベルを含むのに十分な大きさに調整されることが保証されます。この場合、収集された割合が 15% 未満の場合、バーのサイズは 15% になります。
ご不明な点がございましたら、コメントを残してください。できる限りお手伝いさせていただきます。データセットを生成するために使用したクエリを以下に示します。
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
コメントに基づいて編集
1 つのバーに残りのすべてのバケットが必要な場合は、次のようにしてそれを実現できます (ただし、個々のバケットへの金額のラベル付けをどのように処理するかはわかりません)。
最終結果
クエリ
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
レポート ビルダーの設定
境界線の色を次のように動的に変更したことに注意してください。
=Fields!border_color.value
バーの色は次のようになります。
=Fields!color.value