1

见图片: 在此处输入图像描述

橙色项总是显着低于蓝色项,但是图表上的橙色是不显示的,有没有办法不管橙色值多低,总是有一条橙色的小线,以便用户可以清楚地看到哪个数字是指橙色值。

4

3 回答 3

3

有一种更简单、更优雅的方法可以做到这一点(至少在 SSRS 2008 R2 中)。我不确定 SSRS 2008 或 2005 中有什么可用的。

对于要显示小值的轴,

  • CrossAtMinimum属性设置为负数,大到足以显示在报表上。
  • 将该IntervalOffset属性设置为相同的数字,但为正数。

这将使报表的另一个轴低于 0,因此非常低(甚至为 0)的值仍会显示少量颜色。您选择的负值和图表的最大值将决定此颜色切片的大小。

这是此技术的示例,用于显示 0% 的少量颜色:

显示 0% 的条形图

如果您忽略该CrossAt属性,则条形图会远离 y 轴,留下一个间隙。您必须使用我上面提到的所有属性才能使颜色一直超过 0 到轴线。

重要提示:设计模式下的图表将无法正确显示。它将显示从 x 轴开始的负数而不是 0,但不要相信你的眼睛。当您实际预览报告时,结果将是正确的。不要让自己被设计模式预览所迷惑!

于 2013-02-16T03:56:41.460 回答
2

根据对最终用户最重要的事情,我使用了几种解决方法:

1) 将数据栏增加最大值的 1% - 即字段 B + (MAX(Fields!a.value) / 100),然后确保数据标签仅显示字段 B 的值,以便数据栏不会100% 准确,但标签会准确。

2) 在辅助轴上绘制字段 B 的数据,然后将最大值固定为最大字段 A 值的比例。

这两者都依赖于没有包含值的轴,而是从标签本身派生的值。

3) 将条形的数据标签格式化为蓝色/橙色字体或蓝色/橙色填充 - 当您需要保留轴上的值时,这是最有用的。然后,如果值太小而无法在条形图中显示(即 < 最大图表值的 1%),您可以使用条件格式仅对标签着色。

就我个人而言,我会推荐选项 3),因为如果稍后有其他开发人员出现,则可能会出现操纵数据条长度的问题!

于 2012-04-20T14:29:23.557 回答
1

1) 将图表中的 MAX 值存储到变量 (nChartMaxVal)。

2)创建一个函数以放置在您的图表上,只要出现值引用:

伪代码:

SubstValueNegligableValue( pValue, nChartMaxVal) as Double
                If pValue < (nChartMaxVal / 10) then

                    pValue = nChartMacVal / 10    'Sets Value to 10% of MaxChartValue'

                Endif

                Return pValue

3) pValue 应该是您要评估的图表值。

希望这可以指导您。

如果您使用的是存储过程,那么您可以在其中构建此逻辑并在适用的情况下返回调整后的值。我建议让 proc 返回一个标志,尽管它表示是否已进行替换,以便您可以在某处自动对您的报告进行评论,告诉查看图表的用户已经进行了替换。

有关条件格式,请参阅上面的 Davins 输入。这将有助于从真实值中指示替代值。即,可以用相同的颜色对替代值进行交叉影线以显示差异。

干杯

苹果电脑

于 2012-04-21T07:46:50.723 回答