0

私は SSRS 2014 で自己トレーニングを行っています。表現したい特定のデータ セットがあります。つまり、資金調達の目標があり、その目標に向けてお金が入ってきます。入ってくるお金は 4 つの異なるバケツの 1 つに分類されます。そのため、バケツに入れられた合計を示す横に積み上げられたもの (1 つのバー) と、目標を達成するために必要なものを表す「空白の」スペースを探しています。線形ゲージを試してみました (データ グループを使用しても、「バケット化された」部分を表示する方法がわかりませんでした)。データ バー (バーの内側に表示する必要があるため、ラベルを正しく表示できませんでした); 他の表現では複数のバーが発生しますが、これは望ましくありません。

私は2日間調査して試してみました...とても単純に見えるこのことが実際にはSSRSで特に実行できないのか、それとも私が悪い方法を選んだだけなのか疑問に思っています. これらのデータを表現する最良の方法は何ですか? ありがとうございました!

4

2 に答える 2

0

あなたの最善の策は単純な棒グラフだと思います。私の意見では、ここで重要なのは、バーの値を、収集された目標の割合で表すことです。ただし、各バーのラベルは、これまでに収集された実際の金額にする必要があります。このように、バーは目標に近づくにつれて比例して増加しますが、ラベルには収集された量が表示されます。

または、完了率をデータバーとして含む Tablix を作成し、これまでに収集された量と目標を比較することもできます。

サンプルのスクリーンショットが含まれています。次の点に注意してください:

  1. クエリで色の名前をハードコーディングしました。これは、グラフの外観を制御する優れた方法です。次に、色フィールドの値に等しい式を表すように色を変更するだけです。さまざまな明るい色と暗い色については、フォントの色も設定できるため、水色のバーがある場合は白の代わりに黒のテキストを使用できます。また、その逆も可能です。

  2. 棒グラフでラベルを使用する場合は、棒の最低限の値をコーディングする必要があります。これにより、バケット 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

ここに画像の説明を入力

于 2016-06-01T21:09:21.020 に答える
0

テーブル ウィザードを使用してみましたか。テーブル ウィザードをクリックすると、表示するフィールドを選択できます。また、グループ化する場合は、どの「バケット」に該当するかを選択できます。値を値ボックスにドラッグ アンド ドロップし、バケットを行グループ ボックスにドラッグ アンド ドロップして、ウィザードに従うだけですべて作成されます。

于 2016-06-01T19:32:21.797 に答える