【问题标题】:SSRS Lookup a cell value from datasets using parameter conditionSSRS 使用参数条件从数据集中查找单元格值
【发布时间】:2016-11-21 16:14:38
【问题描述】:

我有一个从查询生成的数据集(“用户”),它产生如下数据,这些数据显示在我的报告中的 tablix 中:

name salary
xyz 100
abc 200
pqr 150

现在,我还有一个用于选择用户名的参数。所以,我只想重用这个数据集来根据所选参数在另一个文本框中过滤和显示薪水。 例如如果我从参数中选择 xyz,那么文本框的值应该是 100

我尝试在我的文本框中使用这个表达式

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

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

【问题讨论】:

  • 您不能 SumLookup 返回的内容。删除Sum,您的查找将起作用,假设用户数据集中的内容已经聚合。

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


【解决方案1】:

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

=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"
)

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多