【问题标题】:Proper chart scaling in Reporting Services 2005Reporting Services 2005 中的适当图表缩放
【发布时间】:2009-01-12 15:42:40
【问题描述】:

我正在 Reporting Services 2005 中开发一个简单的条形图,其中存储过程作为数据源。此图中的值可以是正数也可以是负数,并且可以跨越一个非常大的范围,因此我无法指定任何适用于所有场景的非动态比例。

我面临的问题是自动缩放非常糟糕。我没有线显示零点在哪里,并且 y 尺度标签是从上到下的:

8818

-191181

-391181

等等等等……

所以我的问题是,使音阶更适合人类阅读的最佳方法是什么?那里有指南吗? Reporting Services 2008 能更好地处理这个问题吗?

此外,离开 Reporting Services 并不是一个真正的选择。我知道如何在最大值、最小值和网格线间隔字段中放置值和表达式,尽管这更像是一个问题,我应该在那里放置什么表达式。

【问题讨论】:

    标签: sql-server reporting-services charts scaling


    【解决方案1】:

    我对报告服务中的图表的体验通常很糟糕。它们不是很灵活,并且有各种令人讨厌的小错误。

    如果你坚持使用它们,你应该能够编写一些逻辑来返回你需要的缩放作为存储过程的一部分。然后,您可以使用它们的表达式窗口在图表属性中使用这些值。

    我曾经面临同样的问题。现在,我几乎在所有事情上都使用谷歌的图表。修改您的 SP 以返回正确的 URL。设置一个图像来代替您的图表,并拥有由您的 SP 返回生成的图像的 URL。

    不幸的是,您需要做一些工作才能习惯图表,但 google 在这里有很好的文档:http://code.google.com/apis/chart/

    【讨论】:

    【解决方案2】:

    我自己找到了答案。

    Y 轴属性选项卡中有一个名为“边距”的复选框...

    伙计,我为此浪费了好几个小时。

    【讨论】:

      【解决方案3】:

      您可能会考虑获得不同的图表控件。我知道我们使用 Dundas 图表,它们适用于我们的大多数场景。对于我的一个图表,其中可能有大量不同的条形,我在 Y 轴最小值和最大值上设置了这个:

      Min: =Round(MAX(Fields!ItemTolLower.Value, "AggregateModel") * -1) -1
      Max: =Round(MAX(Fields!ItemTolUpper.Value, "AggregateModel")) + 1
      

      我让它在 AggregateModel 数据集中找到高值和低值(我的容差下限始终为正数,但显示为负数,因此我必须乘以 -1)。
      但同样,这是 Dundas 图表,而不是我没有太多经验的股票 Visual Studio 图表。

      【讨论】:

        【解决方案4】:

        要回答您关于 Reporting Services 2008 如何处理此类问题的部分问题,我可以说 2008 版的 Reporting Services 比 2005 版要好得多。添加了许多选项来管理音阶、间隔等...

        虽然界面不是很直观,但是一旦您习惯了所有选项,您就可以制作出良好且用户友好的图表。

        Linkee.fr

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多