SSRS:如何减少图表上显示的数据标签数量?

问题描述 投票:0回答:7

如果我运行一个在 SSRS/SQL Server 2008 R2 上运行的报告,该报告绘制了一年的数据图表,并打开了数据标签,它看起来像这样,这很好:

Data Labels over 1 year

但是当我把报告的时间段改成5年以上的时候,就变成这样了,乱七八糟:

Data Labels over 5 years

有人可以告诉我是否有设置或更改数据标签显示的最大数量的设置。可以看到SSRS已经自动过滤掉了X轴上的很多日期,所以看起来没问题;我希望数据标签也能发生同样的情况。

非常感谢。

reporting-services graph sql-server-2008-r2 reportbuilder3.0
7个回答
4
投票

计算适合您报告的行数。这将用于限制完整显示的数据标签。例如:

(countrows("Dataset1")>20)
20 是适合所有数据标签的最佳记录数。然后设置另一个标准,即可以在高密度标签中显示多少标签。

例如:

RowNumber("Dataset1") mod 3 = 0

=iif((countrows("Dataset1")>20),iif((RowNumber("Dataset1") mod 3 = 0),Fields!PercentageOff.Value ,Nothing), Fields!PercentageOff.Value )

3
投票

如果您使用的是 ssrs 2008 或更高版本,则有一个选项,可以使用 IIF 或任何其他逻辑运算符验证标签可见属性。


2
投票

我只是想分享一个替代方案,因为我自己也遇到了这个问题。对于我的图表,我有一个“预算名称”系列组,其中有 2 个预算和 1 个“实际”。我只想显示实际值,所以我对系列标签数据使用了以下表达式:

=iif(Fields!Budget_Name.Value="ACTUAL",SUM(Fields!Amt.Value),Nothing)


1
投票

没有限制标签数量的选项。

我可以建议的唯一解决方法是删除标签并添加带有值的工具提示。它要求用户滚动每个点,但会生成可用的报告。


0
投票

我想更改它以显示每个其他数据点的数据标签,并使用以下代码:

突出显示数据点并在属性框“可见”中输入

=IIF(RowNumber(Nothing) Mod 2 = 0, True, False)

0
投票

我想更改它以显示每个其他数据点的数据标签,并使用以下代码:

突出显示数据点并在属性框中

Visible
输入

=IIF(RowNumber(Nothing) Mod 2 = 0, True, False)

这对我来说非常有效。


0
投票

需要注意的一点:如果这是一个连续的系列,你不能使用“RowNumber”,因为 SSRS 只允许不同的值而不是聚合。要根据 x 轴上的日期戳限制值: 右击系列,显示数据标签,右击图表中的数据标签,数据标签属性,并将值更改为如下内容:=iif(Minute(Fields!date_stamp_calculated.Value) = 0, Fields!TrailingTotal.Value,没什么)。

这会每小时查找一次所有内容,您可以加强 if 语句以在整个小时内包含多个间隔。

© www.soinside.com 2019 - 2024. All rights reserved.