见图片:
橙色项总是显着低于蓝色项,但是图表上的橙色是不显示的,有没有办法不管橙色值多低,总是有一条橙色的小线,以便用户可以清楚地看到哪个数字是指橙色值。
见图片:
橙色项总是显着低于蓝色项,但是图表上的橙色是不显示的,有没有办法不管橙色值多低,总是有一条橙色的小线,以便用户可以清楚地看到哪个数字是指橙色值。
有一种更简单、更优雅的方法可以做到这一点(至少在 SSRS 2008 R2 中)。我不确定 SSRS 2008 或 2005 中有什么可用的。
对于要显示小值的轴,
CrossAt
和Minimum
属性设置为负数,大到足以显示在报表上。IntervalOffset
属性设置为相同的数字,但为正数。这将使报表的另一个轴低于 0,因此非常低(甚至为 0)的值仍会显示少量颜色。您选择的负值和图表的最大值将决定此颜色切片的大小。
这是此技术的示例,用于显示 0% 的少量颜色:
如果您忽略该CrossAt
属性,则条形图会远离 y 轴,留下一个间隙。您必须使用我上面提到的所有属性才能使颜色一直超过 0 到轴线。
重要提示:设计模式下的图表将无法正确显示。它将显示从 x 轴开始的负数而不是 0,但不要相信你的眼睛。当您实际预览报告时,结果将是正确的。不要让自己被设计模式预览所迷惑!
根据对最终用户最重要的事情,我使用了几种解决方法:
1) 将数据栏增加最大值的 1% - 即字段 B + (MAX(Fields!a.value) / 100),然后确保数据标签仅显示字段 B 的值,以便数据栏不会100% 准确,但标签会准确。
2) 在辅助轴上绘制字段 B 的数据,然后将最大值固定为最大字段 A 值的比例。
这两者都依赖于没有包含值的轴,而是从标签本身派生的值。
3) 将条形的数据标签格式化为蓝色/橙色字体或蓝色/橙色填充 - 当您需要保留轴上的值时,这是最有用的。然后,如果值太小而无法在条形图中显示(即 < 最大图表值的 1%),您可以使用条件格式仅对标签着色。
就我个人而言,我会推荐选项 3),因为如果稍后有其他开发人员出现,则可能会出现操纵数据条长度的问题!
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 输入。这将有助于从真实值中指示替代值。即,可以用相同的颜色对替代值进行交叉影线以显示差异。
干杯
苹果电脑