Получение #Error в SSRS при попытке выполнить вычисление с нулевым значением, несмотря на предложение IfNothing - PullRequest
0 голосов
/ 17 мая 2018

У меня есть столбец данных, введенных из SQL, который иногда заполняется, а иногда - нулевым. В отчете SSRS у меня есть два столбца: один для фактического значения, другой для расчета этого значения.

Столбец для значения пуст, когда оно пустое, что я и хочу. Однако столбец вычисления возвращает «#Error», даже когда я пытаюсь поймать его с помощью предложения IfNothing ().

Ниже приведено выражение для вычисляемого столбца, причем поле «Готов к выгрузке» является столбцом данных sql, который периодически заполняется.

На рисунке ниже две колонки. Во втором столбце указана разница во времени между временем «Готов на диск» и другим полем «Время регистрации», которое является отметкой времени.

=IIF(IsNothing(Fields!ReadyForDischarge.Value) = True, Nothing, (IIF(Fields!DoctorSignUp.Value > Fields!ReadyForDischarge.Value, "-"& Format(Dateadd("s", abs(datediff("s", Fields!DoctorSignUp.Value,Fields!ReadyForDischarge.Value)),  "00:00"), "mm:ss"), Format(Dateadd("s", abs(datediff("s", Fields!DoctorSignUp.Value,Fields!ReadyForDischarge.Value)),  "00:00"), "mm:ss"))))

Error Example

1 Ответ

0 голосов
/ 17 мая 2018

Лучшим способом может быть использование пользовательского кода для выполнения сложного форматирования.

<CellValue>=Code.GetSignupDisplayValue(Fields!ReadyForDischarge.Value,Fields!DoctorSignUp.Value)

И добавьте пользовательский код, похожий на:

Public Function GetSignupDisplayValue(dischargeDate As DateTime, doctorSignup As DateTime)As String
Begin
    Dim result As String = ""
    If Not dischargeDate IsNothing Begin
       --Do you formating here
    End
    Return result
End Function
...