Выполнение подобной операции SUMIF с использованием SQL Server Report Builder - программирование
Подтвердить что ты не робот

Выполнение подобной операции SUMIF с использованием SQL Server Report Builder

Я пытаюсь создать условную сумму в SQL Server Report Builder 3.0.

Мое выражение выглядит следующим образом:

=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0))

Я надеялся, что это выражение приведет к сумме kWp всех проектов типа 2.

К сожалению, этого не должно быть. И я не могу понять, почему. Он просто возвращает результат 0, хотя я знаю, что в столбце kWp есть ненулевые значения, а столбец не содержит нулей.

Коллегу удалось получить положительный результат, заменив

Fields!kWp.Value 

с

1 * Fields!kWp.Value

Но мы понятия не имеем, почему это работает, и поэтому не может действительно доверять ответу.

Как я могу заставить эту условную сумму себя вести?

4b9b3361

Ответ 1

Тип данных столбца "kWp" равен Decimal, поэтому вам нужно либо преобразовать значение по умолчанию в значение 0.00, либо сделать столбец двойным

 SUM(iif(Fields!ProjectTypeID.Value = 2,cdbl(Fields!kWp.Value),0.00))

Ответ 2

Чтобы получить sum kWp всех проектов типа 2, выражение выглядит следующим образом:

=IIf(Fields!ProjectTypeID.Value=2,sum(Fields!kWp.Value),0) 

Надеюсь, это поможет вам.

Ответ 3

Чтобы получить условную сумму, вы можете попробовать это выражение

=sum(IIf(Fields!balance.Value > 0,(Fields!balance.Value),0))

Он суммирует только положительные числа, иначе он добавляет 0 к сумме, вы можете сделать это мудро.