Я знаю, что этот вопрос уже задавали много раз прежде, но последовав предыдущие решения я до сих пор не может решить эту проблему:Замена пустые значения нулями
У меня есть отчет SSRS (2008R2), который отображает данные в матрица. Существует горизонтальная группа столбцов, содержащая значения, которые могут или не могут существовать: когда значение не существует, я хотел бы заменить пустую ячейку 0
. В настоящее время отчет предоставляет как:
, и я хотел бы эти пустые ячейки, чтобы иметь 0
«S в них вместо этого. Выражение клетки было установлено:
=Sum(Fields!number.Value)
поэтому я попытался
=iif (IsNothing(Sum(Fields!number.Value)),0,Sum(Fields!number.Value))
и
=iif (IsNothing(Fields!number.Value),0,Sum(Fields!number.Value))
и
=iif (Sum(Fields!number.Value)>0,Sum(Fields!number.Value),0)
... но "пустые" ячейки сохраняются. Я уверен, что я делаю что-то глупое ... но что?
EDIT: Для того, чтобы проиллюстрировать мою ситуацию лучше, мой запрос производит вывод (в SSMS) аналогична:
File | outcomeID | number
A | Outcome1 | 2
A | Outcome2 | 1
B | Outcome2 | 2
C | Outcome1 | 1
D | Outcome3 | 2
... который произвел бы результат в SSRS из:
File | Outcome1 | Outcome2 | Outcome3
A | 2 | 1 |
B | 2 | |
C | 1 | |
D | | | 2
с использованием колонки Группа:
Даже если я изменить выражение, чтобы быть просто:
=999
Я заканчиваю с
File | Outcome1 | Outcome2 | Outcome3
A | 999 | 999 |
B | 999 | |
C | 999 | |
D | | | 999
... то есть много пробелов.
EDIT2: Я загрузил очень маленький пример .rdl
файл [УДАЛЕНО], используя данные примера выше - он воспроизводит этот вопрос
Можете ли вы справиться с этим в запросе? –
@TabAlleman: К сожалению, нет :( – KenD
'= iif (IsNothing (Sum (Fields! Number.Value)), 0, Sum (Fields! Number.Value))' отлично работает для меня в простом тесте. Не могли бы вы добавить более подробную информацию о том, как мы можем реплицировать ошибку, например, данные образца, конкретную информацию о типах данных и т. д. –