1

我有一些使用 Report Builder 3 for MSSQL 2008 Reporting Services 构建的报告。我的报告中的某些字段显示“#Error”,而不是这个我只想显示一个简单的“-”。是否有任何内置函数或自定义代码来克服这个问题?

4

1 回答 1

0

我仍然很想看看你的公式,但你似乎决心不展示它,所以我会在没有它的情况下大胆回答。我想你正在做一些事情,比如将当前行的字段除以前一行的字段。但是,这会给你Infinity第一行而不是#Error所以还有其他事情发生。但无论如何,我们还是用这个来运行,因为我们没有你的公式。

解决此问题的最常见方法是检查 Previous 函数是否返回 Nothing,通常表明您在第一行(假设您的字段始终有数据)。这样做的好处是还可以处理不能保证有值的字段。

 =IIF(IsNothing(Previous(Fields!MyField.Value)), "-", Fields!MyField.Value / Previous(Fields!MyField.Value))

这是您可以使用行号执行此操作的另一种方法,无论如何,它将始终检查第一行:

=IIF(RowNumber(Nothing) = 1, "-", Fields!MyField.Value / Previous(Fields!MyField.Value))

这假定错误是由值公式引起的,而不是由其他机制引起的,例如将表达式应用于其他属性,如格式、颜色,当没有前一行时,这是无效的。

于 2012-10-11T00:59:12.800 回答