报表生成器-在查询的where子句中将一个数据集用于另一个数据集

时间:2018-12-31 19:18:23

标签: reporting-services dataset

我正在使用SQL Server Report Builder2014。

DatasetA是从DatasourceA中的TableA创建的,并且包含一列ID。

我的报告所基于的

DatasetB,需要具有DatasourceB WHERE TableB.ID IN (DatasetA)中TableB的所有行。

我已经做了很多Googleing的工作,但是找不到可行的解决方案。有建议吗?

2 个答案:

答案 0 :(得分:0)

为此,您可以在报表中使用隐藏参数,让调用为ParamA。使用DatasetA填充ParamA,将其设置为多选参数,然后使用DatasetA设置默认值,即将选择所有项目。

然后数据集B中有where id in (@ParamA)

答案 1 :(得分:0)

据我所知,当您在查询设计器(文本模式)中使用“(@aa)中的位置名称”并单击“确定”时,它将提示如下enter image description here

您可以在其中传递硬代码,它似乎支持单个参数在设计器中进行测试,但是在报表中预览时,可以传递多个参数。您可以单击“确定”忽略它,或在其中传递硬代码以查看它(参数)是否可以工作。

此外,如果要在参数列表中显示数据集A的值,则可以在参数属性中设置可用值(从查询中获取值)