这会抑制空报告吗?

时间:2012-08-17 21:29:47

标签: reporting-services

我有一个常见问题,即当没有特定参数集的数据时,不希望将空报告分发给useres。

但我没有处理订阅:我有一个小应用程序,通过Web服务调用生成PDF报告。 (由于各种原因,订阅在这种环境下无法使用。)应用程序不知道它生成的报告的细节,所以我不能让它提前运行查询,并在其中抛出某种异常当没有数据时,proc会混淆Web服务调用者。

但我确实发现我可能首先将我的报告检索为XML,我可以检查,然后作为PDF,如果返回的XML显示数据存在。

正如我所看到的,这样做的缺点是,我将生成两次数据报告,累积成本会很高。可能还有其他一些我没有想过的缺点。

您可能会问我是否无法对PDF进行某种检查以查看它是否为空。让我无法追求的是PDF具有页眉和页脚,而我得到的空报告实际上是包含页眉和页脚的单页报告。检查他们的数据将是一项艰巨而艰巨的任务。

那么,有没有人试过这个?可以吗?

1 个答案:

答案 0 :(得分:0)

我首先回答你的问题。我个人没有试过这个,但我想它可以工作。略读the Render documentation你似乎甚至可以使用相同的缓存数据来获取XML和PDF渲染,但我并不完全确定。

或者,如果您有多个报告,但是您可以委派“是/否”检查将报告邮寄到单独的元报告中。元报告只有一个包含两列的表:

  • 报告名称
  • 应邮寄

您可以将此报告一次呈现给XML,并根据该结果邮寄其他报告(或不报告)。如果包含其他报表的数据(例如在视图中),这可能效果最佳,因此您只需对元报表的这些视图运行COUNT(*)