Выражение Report Builder возвращает строку, когда SUM оценивается как ложное - PullRequest
0 голосов
/ 27 сентября 2018

Я использую Microsoft Report Builder для создания отчета, который печатает 900 школьных табелей успеваемости.Единственный тип выражения, которое я могу получить, который возвращает оценку (из запроса SQL), это SUM.Но когда у SQL есть 0, я хочу вернуть / напечатать строку с надписью «N / A», я понимаю, что SUM ищет целое число, поэтому я могу получить только 0, или я могу использовать «ничто», чтобы получитьпустой.Есть другое выражение, или я могу как-то преобразовать целое число?Я пытался использовать только IIF, но продолжал получать ошибки при слишком многих условиях.Вот мое выражение ...

=SUM(IIF(Fields!StudentPeriod.value = "2" And Fields!SkillFour.value > "0", Fields!SkillFour.value, nothing), "UserName")

1 Ответ

0 голосов
/ 28 сентября 2018

Есть два пути.Вы можете деформировать ваше выражение другим условием:

=IIF(SUM(IIF(Fields!StudentPeriod.value = "2" And Fields!SkillFour.value > "0", Fields!SkillFour.value, Nothing), "UserName") = Nothing, "N/A", SUM(IIF(Fields!StudentPeriod.value = "2" And Fields!SkillFour.value > "0", Fields!SkillFour.value, nothing), "UserName"))

Или вы можете зайти в свойства текстового поля Число> Валюта и установить флажок Показывать значение как - / (Нет).

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

Fields!SkillFour.Value > "0"

Это указывает на то, что ваше значение "0" является строкой и вы хотите использовать математический символ > на строку.Вы должны преобразовать его в целое или двойное число с помощью

CInt(Fields!SkillFour.Value) > 0
...