2013-04-24 9 views
0

Если есть столбец, где значение основывается на другом поле, так что выражениеКак суммировать столбец, основанный на выражении в SSRS ReportBuilder таблице

=iif(Fields!TaskType.Value = "Type1", Fields!Amount.Value, 0) 

И я пытаюсь получить сумма этого в общую группу, используя folooing exporession, но это дает #Error (с или без названия группы, как объем):

=sum(iif(Fields!TaskType.Value="Type1", Fields!Amount.Value, 0), "GrpProjectNumber") 

Это выглядит хорошо для меня. Что я делаю не так? Заранее спасибо

+0

Какое конкретное сообщение об ошибке? Я создал фиктивный DataSet с теми же именами, что и ваш, и проверил ваше выражение условной суммы; он работал нормально. –

+0

Где я вижу сообщение об ошибке? Все, что я вижу, это текст #Error в ячейке таблицы ... – Graeme

+0

Хм, я не уверен в построителе отчетов - в файле журнала сервера отчетов есть некоторая запись ошибок обработки во время выполнения, но она довольно краткий. ОК, еще один вопрос ... Каков базовый тип данных 'Fields! Amount.Value'? –

ответ

3

Я построил простой DataSet, чтобы попробовать и мимических ваши:

select Amount = cast(100.0 as money), TaskType = 'Type1' 
    union all select Amount = cast(100.0 as money), TaskType = 'Type1' 
    union all select Amount = cast(100.0 as money), TaskType = 'Type2' 

Я реплицируется свою ошибку с выражением, но следующие работы для меня:

=Sum(IIf(Fields!TaskType.Value="Type1", Fields!Amount.Value, CDec(0)), "GrpProjectNumber") 

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

+0

Ха, так просто, а! Теперь я могу перестать биться головой. Большое спасибо! – Graeme

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