我会尽量通过过度简化报告结构来解释这个问题。报表一包含 1 个名为 ResourceCenter 的组,然后在其下包含一行总计。总计实际上是一个组,但分组是在 SQL 中完成的,并显示在一个详细组中。报告如下所示:
Report 1
ResourceCenter 1
Total1 11
Total2 4
Total3 8
ResourceCenter2
Total1 12
Total2 11
Total3 6
从这个报告中,我需要深入到另一个具有一堆多值参数的报告。对于钻取,我可以对除 EmployeeNumber 之外的所有内容使用单个值。为此,我需要能够将 EmployeeNumbers 列表传递给报表 2 中的多值参数。EmployeeNumbers 当前不存在于报表 1 中的任何数据集或参数中,而是基于 ResourceCenter。因此,如果用户已运行 Report 1 并单击 ResourceCenter 1,我需要能够将与 ResourceCenter 1 关联的 EmployeeNumbers 列表传递给 Report 2 中的多值参数,以使 Report 2 能够正确处理它。
注意:我应该补充一点,我创建了两个 SQL 函数,它们接受 ResourceCenter 的输入,然后返回员工列表。一个是返回单列 EmployeeNumbers 的表值函数。另一个是标量值函数,它将 EmployeeNumbers 作为逗号分隔值返回。然后我有一些自定义代码在后台运行 SQL 函数并返回列表。我在返回 SSRS 可以使用的数据集方面没有取得任何成功,但我已经能够让标量值函数“工作”,因为我可以在虚拟报告上创建一个字段并查看输出。不过,我没有任何运气让报告 2 接受逗号分隔的列表。