我有一份SSRS报告,其中有两个链接报告指向它。
一个是用户点击并查看他们的数据。在幕后,我需要它将User!UserID
作为参数传递并隐藏它。
在另一份报告中,我需要设置一个数据驱动的订阅,它将UserID
作为数据库中的值传递。
如果我将参数默认值为User!UserID
的报表发布,则不会让我保存订阅并出现错误
“'/ Admin / Subscriptions / Recruiting Sign Ups'报告或共享数据集具有用户配置文件依赖性,无法无人值守运行。(rsHasUserProfileDependencies)获取在线帮助”
如果我从报表定义中删除默认值,则订阅有效,但我无法使用SSRS界面上的“参数”选项卡(而不是RDL)将其他链接报表作为隐藏参数传递给UserID
定义)。
有没有涉及VB的解决方法?
答案 0 :(得分:0)
因此,为了重新措辞,您将报告A用作报告B和C中的子报告,以便能够生成报告A的子报告,您需要删除用户参数的默认值。报告A中的用户参数是隐藏的,并且具有默认值,因为您不希望用户能够将其设置为其他人。
所以有两种方法可以解决这个问题:获取数据驱动的订阅接受默认值,或者找到从报告B和C传递参数的方法
从报告B和C传递参数: 界面不允许你设置隐藏的参数,但它的工作原理。只需打开报告A,将参数更改为可见,打开报告B和C,映射参数,返回A,再将参数设置为隐藏。
获取数据驱动的订阅以接受默认值: SSRS通过发现参数设置了默认值来尝试变得聪明,但它不应该太难以愚弄。尝试从使用sql用户名函数的数据集中获取默认值,或者在此方向上获取某些内容。