在SSRS柱状图中实现目标线

31

我有一张柱状图,显示了消费随时间的趋势,y轴表示消费,x轴表示月份。

我需要实现一个目标消费。

我通过添加数据字段并选择线形图类型来实现目标值,这是一个常数,只会显示一条水平线。

我遇到的问题是,如果只有一个月的数据,线就会消失?有没有办法让它不消失,或者有没有更好的方法在SSRS的柱状图中添加目标线呢?

我正在使用SSRS 2008。

3个回答

51

添加一个StripLine可能会实现您所需的功能。它们有点难找,但是以下步骤可以帮助您找到:

1)确保属性窗口事先已经打开。如果没有打开,请按F4或转到“视图”菜单 -> “属性窗口”。

2)单击垂直轴以选择它。

选择垂直轴

3)在属性窗口中选择StripLines entry并单击省略号:

编辑StripLines集合

4)点击添加

添加StripLine

5)一开始,该条带是看不见的,因此有点难以调整。:)。为使其作为细线可见,请将BorderStyle设置为“Solid”。使用BorderColor调整颜色,使用BorderWidth(而不是StripWidth)调整宽度。在定位线时,我喜欢将颜色设置为令人讨厌的颜色,并将其加宽以更容易发现。

StripLine外观

5)要将其定位,您需要将IntervalOffsetType设置为与您在垂直轴上设置的间隔类型相匹配。然后将IntervalOffset设置为您希望目标线出现的y值。由于您只想显示1条线而不是重复,因此必须保持Interval设置为自动。

定位StripLine

6)将其定位后,最后调整外观即可。


我也用它来制作带有正负列的图表的浮动x轴 - 效果非常好。谢谢! - Kirk Broadhurst
我想提到两个缺点: 1)由于仅接受一个值,因此该线将始终平行于坐标轴。 2)如果您有条形图,那么它将始终位于它们的后面。 - mishkin
1
@mishkin,感谢您对此的贡献。您有克服这些缺点的建议吗? - Joel Beckham
Joel,我所知道的唯一方法在这里描述:https://sqlserverbiblog.wordpress.com/tag/column-chart/,但它需要向数据集本身添加额外的点,这一点我很讨厌。我在我的项目中使用了你的方法(感谢你!),因为我很幸运地有一个静态目标,但我现在有另一个项目,目标是移动的,所以这种方法行不通。 - mishkin

1

我为我的数据条费了很大的劲才找到它。我偶然发现了这个...

  1. 确保属性工具栏可见
  2. 点击数据条以突出显示
  3. 在属性工具栏中查找 ChartAreas,单击以打开 ChartAreas 对话框
  4. 在 ChartAreas 对话框中查找 ValueAxes,单击以打开 ChartAxis 对话框
  5. 在 ChartAxis 对话框中查找 StripLines,单击以打开 ChartStripLine 对话框

enter image description here


0
我之前玩了一下,发现我可以更改主要和次要网格线的间隔,并更改线条的格式。我想到了一个好主意,让次要线看起来像我拥有的主要线,并将主要线的格式设置为目标线。我不知道这对你是否有用,但你可以试试。

谢谢 @DForck42 的建议,我尝试了一下网格线,但问题是,由于网格线需要指定间隔,因此无法仅显示一条网格线,所以网格线将继续按指定的间隔显示,并且另一件事是网格线会显示在图形的背景上,我不知道是否可以将其显示在图形前面,因为目标必须突出,再次感谢。 - Brian Paul

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接