5

下の 2 番目の画像のように、この列のチャットのラベルを列のベースに表示しようとしています。ただし、そのソリューションは残りの情報をゆがめるため、完全には機能しません。

これを達成するための適切な方法を知っている人はいますか?これは簡単ではありません。

ここに画像の説明を入力

4

1 に答える 1

13

次のデータを使用しています。

ここに画像の説明を入力

標準的なチャートを見てみましょう:

ここに画像の説明を入力

最初のチャート シリーズは、標準列のチャート タイプを持つデータ シリーズであり、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 年には集計で集計を取得できませんが、これは便利かもしれませんが、それでもこれをダミーのチャート シリーズに取り込むことは困難です。

可能であれば、事前に生成されたこれらの値を使用してデータセットに列を追加し、レポートで計算する代わりにこれらのフィールドを使用するのが最も簡単な場合があります。

于 2013-10-15T19:44:50.533 に答える