首页 > 解决方案 > SSRS - 在依赖列上选择查询

问题描述

我的报告已将过程存储为数据集并返回几列。我正在尝试添加一个取决于其中一个列数据的新列。我必须获取该行的从属列数据并在另一个表上运行选择语句并返回与报表和表中的从属列数据匹配的表列数据。它就像在公共列上的连接。

Here is the sp output
col1  col2  col3
3456  Name1 Address1
5678  Name2 Address2

Here is the table
col1   tblcol2   tblcol3
9876   Name1     Address3
1234   Name1     Address4

因此,在新列中,Address3 和 Address4 应显示在该 Name1 行的报告中。

我尝试通过以下方式在表达式框中使用 LOOKUP() =LOOKUP(Fields!col2.Value, Fields!tblcol2.Value, Fields!tblcol3.Value, "DataSet2")

但这会给报告带来错误

在此处输入图像描述

当我不添加新列时,该报告在本地工作,但具有该表达式的新列会给出该错误。

请让我知道是否有办法完成我的方案?

谢谢。

标签: sqlreporting-servicesssrs-2012

解决方案


最简单的方法是创建依赖于数据集的参数。
1. 创建数据集(查询)
2. 创建参数并应用该数据集的可用值
3. 创建使用此参数的下一个查询,例如参数名为“param1”

WHERE field1 = @param1

然后将您的数据绘制为表格。
根据类型,您应该能够从组合框(下拉菜单)中选择
另一种方法(关于参数值的问题)是创建子报表
在这种情况下,请记住查询执行的顺序。


推荐阅读