如果我运行一个在 SSRS/SQL Server 2008 R2 上运行的报告,该报告绘制了一年的数据图表,并打开了数据标签,它看起来像这样,这很好:
但是当我把报告的时间段改成5年以上的时候,就变成这样了,乱七八糟:
有人可以告诉我是否有设置或更改数据标签显示的最大数量的设置。可以看到SSRS已经自动过滤掉了X轴上的很多日期,所以看起来没问题;我希望数据标签也能发生同样的情况。
非常感谢。
计算适合您报告的行数。这将用于限制完整显示的数据标签。例如:
(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 )
如果您使用的是 ssrs 2008 或更高版本,则有一个选项,可以使用 IIF 或任何其他逻辑运算符验证标签可见属性。
我只是想分享一个替代方案,因为我自己也遇到了这个问题。对于我的图表,我有一个“预算名称”系列组,其中有 2 个预算和 1 个“实际”。我只想显示实际值,所以我对系列标签数据使用了以下表达式:
=iif(Fields!Budget_Name.Value="ACTUAL",SUM(Fields!Amt.Value),Nothing)
没有限制标签数量的选项。
我可以建议的唯一解决方法是删除标签并添加带有值的工具提示。它要求用户滚动每个点,但会生成可用的报告。
我想更改它以显示每个其他数据点的数据标签,并使用以下代码:
突出显示数据点并在属性框“可见”中输入
=IIF(RowNumber(Nothing) Mod 2 = 0, True, False)
我想更改它以显示每个其他数据点的数据标签,并使用以下代码:
突出显示数据点并在属性框中
Visible
输入
=IIF(RowNumber(Nothing) Mod 2 = 0, True, False)
这对我来说非常有效。
需要注意的一点:如果这是一个连续的系列,你不能使用“RowNumber”,因为 SSRS 只允许不同的值而不是聚合。要根据 x 轴上的日期戳限制值: 右击系列,显示数据标签,右击图表中的数据标签,数据标签属性,并将值更改为如下内容:=iif(Minute(Fields!date_stamp_calculated.Value) = 0, Fields!TrailingTotal.Value,没什么)。
这会每小时查找一次所有内容,您可以加强 if 语句以在整个小时内包含多个间隔。