OmG*_*esh 1 sql lookup sql-server-2008 reporting-services
我有一个从查询生成的数据集(“users”),其结果数据如下,显示在我的报告的 tablix 中:
name salary
xyz 100
abc 200
pqr 150
Run Code Online (Sandbox Code Playgroud)
现在,我还有一个用于选择用户名的参数。因此,我只想重用此数据集来根据所选参数在另一个文本框中过滤和显示工资。例如,如果我从参数中选择 xyz,则文本框值应为 100
我在文本框中尝试使用这个表达式
=Sum(Lookup(Fields!Name.Value,Parameters!Name.Value,Fields!Salary.Value,"Users"))
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误消息“textbox2 的值表达式使用没有范围的聚合表达式”
我认为您以错误的顺序将参数传递给查找函数。查找函数按以下顺序接收参数:
=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
)
Run Code Online (Sandbox Code Playgroud)
你的表情应该是这样的:
=Lookup(Parameters!Name.Value,Fields!Name.Value,Fields!Salary.Value,"Users")
Run Code Online (Sandbox Code Playgroud)
如果返回的值为数字,则可以使用SUM
,但如果不处理没有匹配项时返回的空值,则可能会返回错误的总和。
=SUM(
Lookup(Parameters!Name.Value,Fields!Name.Value,Fields!Salary.Value,"Users"),
"Users"
)
Run Code Online (Sandbox Code Playgroud)
让我知道这是否有帮助。
归档时间: |
|
查看次数: |
10081 次 |
最近记录: |