Reporting Services Cscading参数刷新

Abb*_*bbi 6 reportingservices-2005 reporting-services

我搜索了很多,发现通常无法完成.我遇到了其中一个黑客:

http://www.bp-msbi.com/2011/04/ssrs-cascading-parameters-refresh-solved/

但它在2005年的ssrs中并不适合我.只是想知道是否有其他人在2005年尝试过它.或者是否还有其他可以尝试的黑客攻击.

根据本文,仅当第一个参数中的选择使其值无效时,依赖参数才会刷新.如果我们可以在每次参数更改时使相关参数无效,我们将强制执行完整刷新.一种简单的方法是附加一个值,例如使用NEWID()T-SQL函数获得的GUID.

所以基本上我们想在两个真实参数之间引入一个假参数.这个假参数应该每次返回新值,因为每次调用proc时,后面的storedproc都会为结果集添加一个guid.因此它强制完全刷新其他参数.

现在我面临的主要问题是:

设置此伪参数的默认值.对于可用值,伪param后面的storedproc运行并返回格式为data:result1,result2_GUIDFROMSQL的数据

现在看起来再次调用相同的storedproc来设置defult值,如果我要求它从查询中获取默认值.但是当再次运行storedproc时,会出现新的guid,因此无法找到旧值,因此无法按需设置.

我只需要找出一种机制将这个guid从引入的param传递给下一个param.

那就是我失败的地方.

我的问题可以简单地通过创建一个数据源为此查询字符串的param来复制.

select getdate() id, @name nid 
Run Code Online (Sandbox Code Playgroud)

所以在这种情况下如何为此参数设置默认值.

Abb*_*bbi 0

最后我能够解决这个问题。这个链接是一个有用的开始。 http://www.optimusbi.com/2012/07/16/multilevel-cascading-select/

基本上它的作用是:以某种方式编写参数查询,以便每次更改其父参数时依赖参数都会更改其值。

该查询添加行号,并在其前面添加“_”。因此,每次用户选择其他值时,行号都会发生变化,因此查询结果集也会发生变化。

然后在使用结果集时删除下划线后面的文本以获得真正的代码。