2014-02-11 4 views
0

Это выражение, используемое для вычисления значения:SSRS значение дисплея #error для SSRS условное выражение

=iif((Sum(CDbl(Fields!RxCount.Value))=0),"0.00",(Sum(Fields!Margin.Value)/Sum(CDec(Fields!RxCount.Value)))) 

т.е.:

если Сумма (CDbl (Fields RxCount.Value = 0, результат Шоул быть 0,00 иначе должно быть деление двух значений.

но отображения #error когда Sum(CDbl(Fields!RxCount.Value = 0 не 0.00

Любая помощь.

+1

возможно дубликат [Есть ли функция IIF Compute оба пути в SSRS или они закорочены?] (http://stackoverflow.com/questions/1204179/does-the-iif-function-compute-both-paths-in-ssrs-or-is-it-short -circuited) –

+1

Существует несколько дубликатов этого вопроса. Найдите «SSRS iif # error», чтобы найти множество ответов, указывающих на несколько разных обходных решений. –

+0

Может быть полем полей! RxCount.Value не возвращает целочисленное/десятичное значение или значение, которое может быть преобразовано в целое. – Konza

ответ

1

Вам необходимо проверить для нулевых значений, а также, вероятно # Ошибка происходит потому, что

Sum(CDbl(Fields!RxCount.Value)) 

возвращает нулевое значение, а не 0.

+0

hi kyzen, я использую cdec и он отображает тот же результат «#error» – soundarrajan

+0

Попробуйте следующее: * Добавить поле RXCount в таблицу. * Установите фильтр на таблицу, чтобы отфильтровать любые строки, где Fields! RxCount.Value не является нулевым (вы можете использовать IsNothing()). * Запустите отчет, посмотрите, сколько строк возвращается с нулями. Возможно, вы можете просто щелкнуть Isnull (RxCount, 0) в исходном запросе, если разница между нулевым (без значения) и 0 (значением 0) не имеет значения. – kyzen