2016-07-18 9 views
0

У меня есть набор данных («пользователи») генерируется из запроса, который приводит данные следующим образом, который отображается в табликсе в моем докладе:SSRS Lookup значение ячейки из наборов данных, используя условие параметра

name salary 
xyz 100 
abc 200 
pqr 150 

сейчас , у меня также есть параметр для выбора имени пользователя. Поэтому я просто хочу повторно использовать этот набор данных для фильтрации и отображения зарплаты в другом текстовом поле на основе выбранного параметра. , например. Если я выбираю хуг от параметра, то значение текстового поля должно быть 100

Я пытался с этим выражением в моем текстовом поле

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

Но я получаю сообщение об ошибке, как «Выражение Значения для TextBox2 использует агрегированное выражение без области действия "

+0

Вы не можете 'Sum', что возвращается из' Lookup'. Удалите 'Sum', и ваш поиск будет работать, если предположить, что то, что находится в наборе данных пользователя, уже агрегировано. –

ответ

1

Я думаю, что вы передаете аргументы функции поиска в неправильном порядке. Функция Lookup принимает аргументы в следующей последовательности:

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

Дайте мне знать, если это поможет.

Смежные вопросы