reporting-services - ssrs - udemy reporting services
¿Cómo puedo eliminar#error en la expresión de SSRS cuando se divide por cero? (1)
Estoy tratando de eliminar #error al dividir por cero en mi informe SSRS. Tengo la siguiente expresión que todavía da #error
=IIf(IsNothing(Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models")),
88 , Fields!QTY_AVL.Value * 100 /
Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models"))
Sin embargo, si cambia el / a *, como se muestra a continuación, obtengo el valor correcto 88
=IIf(IsNothing(Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models")),
88 , Fields!QTY_AVL.Value * 100 *
Lookup(Fields!id.Value, Fields!id2.Value, Fields!Stock.Value, "Models"))
En ambas instancias obtengo el valor correcto es el valor de búsqueda> 0
(Fields!QTY_AVL and Fields!Stock come from different sources)
¿Me estoy perdiendo algo obvio? Cualquier idea de esto muy apreciada.
Puede agregar una función de división segura si va a Propiedades de informe y luego hace clic en Código, luego referencia esto en su expresión como CODE.SafeDivide(Value1, Value2)
, agregando los parámetros según sea necesario.
Esta función devolverá 0 en lugar de mostrar el mensaje #error.
Public Function SafeDivide(ByVal Numerator As Decimal, ByVal Denominator As Decimal) As Decimal
If Denominator = 0 Then
Return 0
End If
Return (Numerator / Denominator)
End Function