0

我有一份 SSRS 报告,其中有两个链接的报告指向它。

一种是让用户点击并查看他们的数据。在幕后,我需要它User!UserID作为参数传递并隐藏它。

在另一份报告中,我需要设置一个数据驱动订阅,该订阅将UserID作为数据库中的值传递。

如果我使用默认值为 的参数发布报告User!UserID,它不会让我保存订阅并给出错误

“'/Admin/Subscriptions/Recruiting Sign Ups' 报告或共享数据集具有用户配置文件依赖项,无法在无人参与的情况下运行。(rsHasUserProfileDependencies)获取在线帮助”

如果我从报表定义中删除默认值,订阅会起作用,但我无法UserID使用 SSRS 界面上的“参数”选项卡(而不是在 RDL 定义中)让其他链接报表作为隐藏参数传递。

有没有不涉及VB的解决方法?

4

1 回答 1

0

因此,要改写您的报告 A,您将其用作报告 B 和 C 中的子报告。为了能够对报告 A 进行订阅,您需要删除用户参数的默认值。报表 A 中的用户参数是隐藏的并且具有默认值,因为您不希望用户能够将其设置给其他人。

所以有两种方法可以解决这个问题:让数据驱动的订阅接受默认值,或者找到一种方法从报告 B 和 C 传递参数

从报告 B 和 C 传递参数:该界面不允许您设置隐藏参数,但它可以工作。只需打开报表A,将参数更改为可见,打开报表B和C,映射参数,回到A,再次将参数设置为隐藏。

让数据驱动的订阅接受默认值:SSRS 通过发现参数设置了默认值来尝试变得聪明,但它不应该太难被愚弄。尝试从使用 sql 用户名函数的数据集中获取默认值,或者这个方向的东西..

于 2015-01-30T12:53:05.177 回答