由于您使用的是 SSRS 2012,因此您可以使用聚合功能的聚合来实现此目的。
假设我有一个这样的图表,类似于你的:
使用适当的数据,它与您的屏幕截图具有相同的问题,即使在 Y 轴间隔中使用表达式:
即这里有 8 行,因此表达式将设置为Auto,但由于组不超过三行,我们在 Y 轴上得到分数。
我们可以通过找到每个组计数的最大值来解决这个问题。
类别组将有一个名称:
在这里,我将其称为MonthGroup。有了这个,我们可以改变 Y 轴间隔表达式:
=IIf(Max(CountRows("MonthGroup")) <= 5, 1, Nothing)
即如果 <=5,则间隔为1,否则只需传递一个 NULL 值,即让 SSRS 确定间隔。
所以现在我们正在检查Max
Category Group 级别CountRows
;在我的示例中这是 3,所以现在我们得到了所需的轴间隔:
编辑说明:
以前我的 Y 轴表达式为:
=IIf(Max(CountRows("MonthGroup")) <= 5, 1, "Auto")
但是在发布后我注意到这在某些情况下会引起警告;大概是因为Auto
不是一个有效的区间;它只是 SSRS 使用的占位符。更新后的表达式:
=IIf(Max(CountRows("MonthGroup")) <= 5, 1, Nothing)
按预期工作,没有警告。