【发布时间】:2012-06-29 03:17:56
【问题描述】:
我用谷歌搜索了很多,发现通常无法完成。我在这里遇到了其中一个黑客:
http://www.bp-msbi.com/2011/04/ssrs-cascading-parameters-refresh-solved/
但它在 ssrs 2005 中对我不起作用。只是想知道是否有人在 2005 年尝试过。 或者有没有其他可以尝试的技巧。
根据本文,依赖参数仅在其值被第一个参数中的选择无效时才会刷新。如果我们可以在每次参数更改时使相关参数无效,我们将强制执行完全刷新。一种简单的方法是附加一个值,例如使用 NEWID() T-SQL 函数获得的 GUID。
所以基本上我们想在两个真实参数之间引入一个假参数。这个假参数应该每次都返回新值,因为它后面的存储过程会在每次调用 proc 时向结果集添加一个 guid。所以它会强制完全刷新其他参数。
现在我面临的主要问题是:
设置这个伪参数的默认值。 对于可用的值,伪参数后面的存储过程会运行,并以如下格式返回数据:result1,result2_GUIDFROMSQL
现在看起来如果我要求它从查询中获取默认值,则再次调用相同的存储过程来设置默认值。但是随着存储过程再次运行,新的 guid 出现了,因此无法找到旧值,因此它没有按需要设置。
我只需要找出一种机制,将这个 guid 从引入的参数传递到下一个参数。
这就是我失败的地方。
我的问题可以通过创建一个数据源是这个查询字符串的参数来简单地复制。
select getdate() id, @name nid
那么在这种情况下如何为这个参数设置一个默认值。
【问题讨论】:
-
您能否详细说明您要解决的确切问题,也许还引用您链接中的相关位,以便如果链接失效,这个问题本身仍然有意义?
-
感谢 Jeroen 的关注。我根据您的 cmets 编辑了问题。希望现在更清楚。
-
感谢您的更新,这应该会有所帮助。我必须承认这个问题仍然有点难以阅读,而且我不太理解这个问题,但也许其他人可以提供帮助?
标签: reporting-services reportingservices-2005