我有一个报告(存储过程),它返回A,B,C,D,E列。
我检索的数据示例:
A B C D E
Minnessota Name1 Oracle Other data Other data
Minnessota Name1 Microsoft Other data Other data
Florida Name2 Napster Other data Other data
Washington Name3 Stackoverflow Other data Other data
在这份报告中,我有一份子报告。此子报告使用表中的数据。我们称之为表Z。
SELECT * FROM Z
当主报告运行时,我需要将3个参数传递给子报告。
参数是主报告的A,B和C列的不同值。
如何设置子报告,以便在主报告运行时,A,B和C的不同作为参数传递给子报告?
所以不是SELECT * FROM Z
,而是
SELECT * FROM Z WHERE Column1 = A AND Column2 = B and Column3 = C
答案 0 :(得分:0)
您必须创建3个多值参数,并为它们设置源查询,如下所示。
SELECT DISTINCT [A] FROM [TABLE] WHERE ....
SELECT DISTINCT [B] FROM [TABLE] WHERE ....
SELECT DISTINCT [C] FROM [TABLE] WHERE ....
在WHERE
子句中添加任何其他条件(参数)。
接下来,对于子报表,保持数据集查询不变,但改为添加3个过滤器。
使用以下命令在参数中包含以逗号分隔的值列表:
Join(Parameters!Param1.Value, ",")