在SSRS 2005中报告之间传递参数

时间:2009-07-28 20:45:22

标签: reporting-services rdl

我对SSRS 2005相对较新。我已经构建了简单的报告和电子表格,但我刚刚开始深入研究SSRS / RDL这个有趣的世界。我正在尝试将一个(自定义/非查询)参数从一个报表(* .rdl)传递到另一个报表。虽然逻辑上我想添加一个全局变量,似乎没有任何直接的方法/技术来做我想要的。似乎每个页面/报告都有自己的参数,并且不允许报告共享彼此的信息。

我试图根据用户选择的选项隐藏对象/项目。如果用户选择选项A或B,我想根据他们的选择简单地隐藏多个报告(在同一个项目中)的某些对象。我只是检查任何给定对象中的visibility属性的表达式中的参数值。真的没什么复杂的。我已经测试了它,并且只是一个报告,它可以工作。但是试着让一份报告在另一份报告中读取该值,并且这样做没有明确的路径。

现在我已经习惯了SSRS,我相信有“正常”程序员的方式,然后是“SSRS”方式。两者都是相互排斥的。所以要么我想要做一些永远不会被允许的事情,那就是“按设计构建”的功能和/或我会采用错误的方式。

想法?建议?也许我的方式错了。

2 个答案:

答案 0 :(得分:1)

好的,所以只有几种方法可以将参数从一个页面传递到下一个页面。我(最终)发现我只是想从一个布尔值传递一个布尔值。数据不是来自数据库,而是手动('true / false')。起初我以为我需要一些类似于全局变量的东西,SSRS中有一些内置全局变量。但正如我发现的那样,你不能在该系列中添加任何东西。

因此,在这个报告中,我有一个指向报告“下一页”页面的图像。在该对象/图像中,您可以在该对象/图像上设置导航参数。到目前为止有道理。

在下一页上,您的报告参数必须与下一页中列出变量的位置相匹配。我猜SSRS将一个非基于键的数组从一个报告传递到下一个报告,因此索引/位置对于正确获取参数至关重要。因此,箭头允许您调整参数顺序。这就是让我失望的原因,但我认为SSRS更加娴熟,因为传递的参数必须只是名称匹配,而不是位置。

(恕我直言),因为我看到的东西,SSRS有/尝试/必须保持相当静态。没有真正意义上的事件,OO等等,但SSRS似乎完全拼接了VB,VBA(表达式),SQL / T-SQL中的元素,并推出了一个可用的产品。我猜这是我的新视角。我相信它会随着时间而改变。

答案 1 :(得分:0)

使用子报告可能会为您提供所需的功能。否则,我知道将参数从一个报告“传递”到另一个报告的唯一方法是使用查询字符串。