Хотите добавить и в if или переключить

Когда я использую это утверждение:

=IIF(Sum(Fields!SavingsGoal.Value, "Project_Details") <= Sum(FieldsImplementedSavings.Value, "dsInitiatives") 0,
Sum(Fields!SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementedSavings.Value, "dsInitiatives"))

Однако когда я добавляю «И»

=IIF(Sum(Fields!SavingsGoal.Value, "Project_Details") <= Sum(Fields!ImplementedSavings.Value, "dsInitiatives") AND (Fields!GoalType.Value, "Project_Details") = "Implemented",0,
Sum(Fields!SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementedSavings.Value, "dsInitiatives"))

Я получаю такую ​​ошибку:

Предупреждение 1 [rsRuntimeErrorInExpression] Выражение значения для текстового запуска «textbox58.Paragraphs [0] .TextRuns [0]» содержит ошибку: аргумент «VarExpr» не является допустимым значением.

Я очень новичок в SSRS, я работал над этой же проблемой в течение ТРИ ДНЯ и официально потерял рассудок. Другие поиски приблизили меня к моему ответу, но не сигары. Как только я получу эту часть работы, мне нужно будет добавить к ней, когда GoalType является «реализуемым» - ПЛЮС, мне нужно будет добавить IIF-функции, когда SavingsGoal> ImplementedSavings или Implementable. ПОЖАЛУЙСТА, помогите и говорите на обычном английском в своих ответах. Я не являюсь разработчиком с формальным образованием, и термины программирования иногда меня сбивают с толку. Я тоже пробовал переключаться, результат тот же. Я уверен, что это какая-то сумасшедшая проблема с синтаксисом, но клянусь, я пробовал 20 способов до воскресенья и не могу заставить это работать.


person user3357798    schedule 26.02.2014    source источник


Ответы (1)


Проблема не в AND, а в том, что вы используете агрегирование во всех случаях, за исключением добавляемого вами нового условия. Попробуйте использовать First в своем выражении:

=IIF(Sum(Fields!SavingsGoal.Value, "Project_Details") <= Sum(Fields!ImplementedSavings.Value, "dsInitiatives") 
AND First(Fields!GoalType.Value, "Project_Details") = "Implemented", 0,
Sum(Fields!SavingsGoal.Value, "Project_Details") - Sum(Fields!ImplementedSavings.Value, "dsInitiatives"))
person Chris Latta    schedule 27.02.2014
comment
Отлично - теперь, чтобы добавить к этому, у меня работает большая часть моего дополнительного кода: - person user3357798; 28.02.2014
comment
Если это отвечает на ваш исходный вопрос, примите его как ответ (зеленая галочка), чтобы следующий человек, ищущий эту проблему, знал, что это решает ее, и проголосовал за нее. - person Chris Latta; 28.02.2014