画像を参照してください:
オレンジ色の項目は常に青色の項目よりも大幅に低いですが、グラフのオレンジ色は表示されません。オレンジ色の値がどれほど低くても、ユーザーがはっきりと見えるように常にオレンジ色の小さな線を表示する方法はありますか?オレンジ色の値を参照している数字。
画像を参照してください:
オレンジ色の項目は常に青色の項目よりも大幅に低いですが、グラフのオレンジ色は表示されません。オレンジ色の値がどれほど低くても、ユーザーがはっきりと見えるように常にオレンジ色の小さな線を表示する方法はありますか?オレンジ色の値を参照している数字。
これを行うには、はるかに簡単でエレガントな方法があります(少なくともSSRS 2008 R2では)。SSRS2008または2005で何が利用できるかわかりません。
小さな値を表示する軸については、
CrossAt
しMinimum
ます。これは、レポートに表示するのに十分な大きさです。IntervalOffset
プロパティを同じ数に設定しますが、正の値にします。これにより、レポートのもう一方の軸が0未満になるため、非常に低い(または0でも)値でも少量の色が表示されます。選択した負の値とチャートの最大値によって、このカラースライスの大きさが決まります。
これは、0%の少量の色を表示するこの手法の例です。
プロパティを除外するとCrossAt
、バーはy軸から離れて浮き、ギャップが残ります。色が軸線まで0を超えて到達するようにするには、上記のすべてのプロパティを使用する必要があります。
重要な注意:デザインモードのグラフは正しく表示されません。0ではなくx軸から始まる負の数が表示されますが、目を信じないでください。実際にレポートをプレビューすると、結果は正しくなります。デザインモードの事前プレビューに惑わされないでください。
エンドユーザーにとって最も重要なことに応じて、これを回避する方法がいくつかあります。
1)データバーを最大値の1%ずつインクリメントします(つまり、フィールドB +(MAX(Fields!a.value)/ 100))。次に、データラベルにフィールドBの値のみが表示され、データバーが表示されないようにします。 100%正確ですが、ラベルは正確になります。
2)フィールドBのデータを2次軸にプロットし、最大値を最大フィールドA値の比率になるように固定します。
これらは両方とも、値が含まれている軸がないことに依存していますが、値はラベル自体から派生しています。
3)バーのデータラベルを青/オレンジのフォントまたは青/オレンジの塗りつぶしのいずれかにフォーマットします。これは、軸の値を保持する必要がある場合に最も役立ちます。次に、条件付き書式を使用して、値が小さすぎてバーに表示できない場合(つまり、最大チャート値の1%未満)にのみラベルに色を付けることができます。
個人的には、オプション3)をお勧めします。後で別の開発者が来た場合、データバーの長さの操作に問題が発生する可能性があるためです。
1) グラフの MAX 値を変数 (nChartMaxVal) に格納します。
2) 値の参照が発生するたびに CHART に配置する関数を作成します。
疑似コード:
SubstValueNegligableValue( pValue, nChartMaxVal) as Double
If pValue < (nChartMaxVal / 10) then
pValue = nChartMacVal / 10 'Sets Value to 10% of MaxChartValue'
Endif
Return pValue
3) pValue は、評価するチャート値である必要があります。
これがあなたを導くことを願っています。
ストアド プロシージャを使用している場合は、そこにこのロジックを構築し、必要に応じて調整された値を返すことができます。ただし、置換が行われたかどうかを示すフラグをprocから返すことをお勧めします。これにより、レポートのどこかにコメントを自動化し、グラフを表示しているユーザーに置換が行われたことを伝えます。
条件付き書式については、上記の Davins の入力を参照してください。これは、本物の値から代替値を示すのに役立ちます。つまり、代替値を同じ色でハッチングして、違いを示します。
乾杯
マック