3

Y値が設定されている折れ線グラフがあります

=CountRows()

そして、グループ化するカテゴリグループがあります

=CDate(Fields!END_MONTH_NB.Value)

範囲が小さすぎる場合に分数が表示されないように、Y 軸の間隔を動的に設定しようとしています (以下を参照)。

Y 軸上の分数

区間式を

=iif(CountRows() <= 5, 1, "Auto")

行の総数が 5 以下の場合は問題なく動作しますが、本当に必要なのは、カテゴリ グループのコンテキストで CountRows() が返す最大値です。

これを達成する方法はありますか?

4

1 に答える 1

4

SSRS 2012 を使用しているため、集約機能の集約を使用してこれを実現できます。

あなたのものに似た、このようなチャートがあるとします:

ここに画像の説明を入力

適切なデータを使用すると、Y 軸間隔の式を使用しても、スクリーンショットと同じ問題が発生します。

ここに画像の説明を入力

つまり、ここでは 8 つの行があるため、式はAutoに設定されますが、グループの行が 3 つ以下であるため、Y 軸で分数が得られます。

これらの各グループ数の最大値を見つけることで、これを回避できます。

カテゴリ グループには次の名前が付けられます。

ここに画像の説明を入力

ここではMonthGroupと呼んでいます。これにより、Y 軸の間隔式を変更できます。

=IIf(Max(CountRows("MonthGroup")) <= 5, 1, Nothing)

つまり、<=5 の場合、 interval は1です。それ以外の場合は、単に NULL 値を渡します。つまり、SSRS に間隔を決定させます。

Maxそのため、現在、カテゴリ グループ レベルの をチェックしていますCountRows。これは私の例では 3 なので、必要な軸間隔を取得しています。

ここに画像の説明を入力

編集メモ:

以前は、次のような Y 軸の式がありました。

=IIf(Max(CountRows("MonthGroup")) <= 5, 1, "Auto")

しかし、投稿した後、これがいくつかの状況で警告を引き起こしていることに気付きました。おそらくAuto有効な間隔ではないためです。これは、SSRS で使用される単なるプレースホルダーです。更新された式:

=IIf(Max(CountRows("MonthGroup")) <= 5, 1, Nothing)

警告なしで期待どおりに動作します。

于 2013-08-08T14:28:39.593 に答える