SSRS - 选择查询从属列

问题描述 投票:0回答:1

我的报表将存储过程作为一个数据集,并返回几个列。我试图添加一个新的列,它依赖于其中一列的数据。我必须获得该行的依赖列数据,并在另一个表上运行选择语句,并返回一个与报表和表中的依赖列数据相匹配的表列数据。这就像在公共列上进行连接一样。

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

所以,在新列中,该Name1行的Address3和Address4应该显示在报表中。

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

但这在报告中给出了一个错误

enter image description here

当我不添加新的列时,报表在本地可以使用,但新的列与该表达式会给出该错误。

请告诉我是否有办法实现我的方案?

谢谢。

sql reporting-services ssrs-2012
1个回答
0
投票

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

WHERE field1 = @param1

然后绘制你的数据作为表。根据类型,你应该能够选择从组合框(下拉)另一种方式(没有问题的参数值)是创建子报告在这种情况下,请记住查询执行的顺序。


0
投票

我已经通过使用LookupSet函数表达式和逗号隔开的值解决了这个问题,具体方法如下:微软文档

© www.soinside.com 2019 - 2024. All rights reserved.