我们可以在SSRS报告的RDL文件的命令文本中添加RAISE ERROR吗?
由于数据库中缺少数据,我的报告正在创建一个空白PDF文件。我想检查数据,如果没有找到数据,我需要抛出错误。这有可能吗?
或者在render调用之后,我们如何检查文件的内容数据?有没有办法做到这一点?
我们使用的是SSRS-2008-R2版本。我们通过C#.net应用程序运行报表,因此,我通过Reporting Services的WebServices调用报表,它返回一个表示报表结果的字节数组,但数组字节始终带字节,因为报表有标题,因此会出现字节。
我需要检查字节数组来决定是否生成pdf。
我怎么能做到这一点?
发布于 2017-01-11 20:43:02
SSRS中有一个内置的函数,允许您检查DataSet是否有行。
=CountRows(“DataSet1”)您可以随时检查这一点并采取适当的措施。
我喜欢在Tablix/Matrix的Hidden属性中使用它,并在行数为0时隐藏它。
=IIf(CountRows(“DataSet1”) = 0, True, False)此外,我还想在报告中添加一个文本框,其中只包含文字No data to report。然后,我通过它的Hidden属性展示了当数据集为空时。
=IIf(CountRows(“DataSet1”) <> 0, True, False)不需要做raise错误,用一点技巧来处理问题。这适用于所有版本的SSRS。
编辑:
另一种方法是对数据集源使用存储过程。在那里处理所有的逻辑。将数据选择到临时/工作表中,检查行计数是否为0,执行所需的任何操作(发送电子邮件、返回数据或两者兼而有之)。
另一种方式可以是数据驱动订阅;如果您运行的是SSRS企业版,则可以使用数据驱动订阅。然后,您可以获得一个报告,该报告将提醒您要监视的任何数据异常。
https://stackoverflow.com/questions/41590875
复制相似问题