下の 2 番目の画像のように、この列のチャットのラベルを列のベースに表示しようとしています。ただし、そのソリューションは残りの情報をゆがめるため、完全には機能しません。
これを達成するための適切な方法を知っている人はいますか?これは簡単ではありません。
下の 2 番目の画像のように、この列のチャットのラベルを列のベースに表示しようとしています。ただし、そのソリューションは残りの情報をゆがめるため、完全には機能しません。
これを達成するための適切な方法を知っている人はいますか?これは簡単ではありません。
次のデータを使用しています。
標準的なチャートを見てみましょう:
最初のチャート シリーズは、標準列のチャート タイプを持つデータ シリーズであり、2 番目のチャート シリーズ ベースは、チャート エリアで必要な線を取得するためのターゲット値に基づいて、線のチャート タイプを持ちます。
おそらくご覧のとおり、ラベルの配置をある程度制御できますが、要件を満たすことはできません。私たちができる最善の方法は、ラベルの位置にBottom位置を使用することです。
私たちは何ができる?まず、既存のシリーズからラベルを削除します。
次に、チャートに新しいシリーズを追加します。
基本的に、ここでは定数を使用しています。これは、Y 軸の下限でなければなりません。この場合は0を使用します。
この新しいチャート シリーズは、すべてのチャート シリーズの順序で最初にする必要があります。
最初の 2 つのチャート シリーズのチャート タイプを積み上げ縦棒グラフに変更します。
この新しいチャート シリーズにシリーズ ラベルを追加します。Series Label Propertiesで Label データ式を設定します。私が使った表現は次のとおりです。
=Sum(Fields!val.Value, "CategoryGroup")
2 つのチャート シリーズは同じスコープを共有しているため、これを利用して上記のデータ グループの値を取得できます。
カテゴリ グループCategoryGroup
の名前は次のとおりです。
更新されたチャートは次のようになります。
結果は、必要に応じて各列のベースにラベルが表示されます。
そこにたどり着くまでに時間がかかったとしても、必要な結果のようです。
したがって、各グループの Y 軸のベースにあるダミーのチャート シリーズを使用することで、必要に応じて下部にラベルを固定できます。また、ラベル式を使用して別のチャート シリーズの値を表示すると、ラベルのように見えます。実際のデータ グループで!
コメント後に編集
式を使用して、軸の最小値とダミーのチャート シリーズを設定できます。これは、必要なものを正確に取得できるかどうかの単なる例です。
私の例では、軸の値をデータセットの最小値に変更するとします。
すなわち=Min(Fields!val.Value)
ダミー チャート シリーズは個々のカテゴリ グループのスコープを参照するため、同じ値を得るには少し異なる式が必要です。
=Min(Fields!val.Value, "DataSet1")
これにより、期待どおりにチャートが変更されます。
次のように、値にバッファを追加することもできます。
=Min(Fields!val.Value) - 1
したがって、高さのない列は取得できません。
より複雑な式の場合、問題が発生する可能性があります。たとえば、2008 年には集計で集計を取得できませんが、これは便利かもしれませんが、それでもこれをダミーのチャート シリーズに取り込むことは困難です。
可能であれば、事前に生成されたこれらの値を使用してデータセットに列を追加し、レポートで計算する代わりにこれらのフィールドを使用するのが最も簡単な場合があります。