SSRS使用参数条件从数据集中查找单元格值

时间:2016-07-18 22:53:30

标签: sql sql-server-2008 reporting-services lookup

我有一个从查询中生成的数据集("用户"),这会产生如下数据,该数据显示在我的报告的Tablix中:

name salary
xyz 100
abc 200
pqr 150

现在,我还有一个用于选择用户名的参数。所以,我只想重复使用此数据集来根据所选参数过滤并显示另一个文本框中的工资。 例如如果我从参数中选择xyz,则文本框值应为100

我在文本框中尝试使用此表达式

=Sum(Lookup(Fields!Name.Value,Parameters!Name.Value,Fields!Salary.Value,"Users"))

但是,我收到错误消息为" textbox2的值表达式使用没有范围的聚合表达式"

1 个答案:

答案 0 :(得分:3)

我认为你是以错误的顺序将参数传递给查找函数。查找函数按以下顺序接收参数:

=Lookup(
  the value to search,
  the field in which you are going to look for a match,
  the field you want to get,
  the scope
)

你的表达应该是这样的:

=Lookup(Parameters!Name.Value,Fields!Name.Value,Fields!Salary.Value,"Users")

REFERENCE

如果返回的值是数字,则可以使用SUM但如果不处理没有匹配时返回的空值,则可能返回错误的总和。

=SUM(
  Lookup(Parameters!Name.Value,Fields!Name.Value,Fields!Salary.Value,"Users"),
  "Users"
)

如果这有帮助,请告诉我。