Fórmula o expresión SSRS para cambiar NAN a 0
-
27-10-2019 - |
Pregunta
Estoy usando la siguiente expresión para resolver un porcentaje:
=Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name")
Days.Value se muestra como 0, sin embargo, en algunos de mis resultados en lugar de leer 0% en mi columna porcentual, en realidad está leyendo Nan (no un número).
¿Alguien sabe la expresión exacta que necesito y dónde debo pegarlo en mi expresión actual para decir "dónde está mostrando nan, poner un '0' en su lugar?"
(Ver imagen)
Solución
Qué tal si
=IIF(Fields!Days.Value > 0,Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name"),0)
Otros consejos
No tuve suerte con las respuestas anteriores. Esto es lo que funcionó para mí:
=IIF(Single.IsNAN(Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name")), 0, Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name"))
Usé esto para un caso similar,
=REPLACE(Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name"),"NaN","0")
Aquí hay otra opción. Debe resolver el problema y también deshacerse de Infinite
respuestas:
=val(replace(Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name"),"NaN","0"))
Este es el más simple y mejor, creo,
=Switch(
Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name") = "NaN",Nothing,
Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name") = "Infinity",Nothing,
Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name") = "-Infinity",Nothing
)
También puedes poner un 0 en lugar de nada.
Probar
=IIf(Fields!Days.Value Is Nothing Or Sum(Fields!Days.Value, "Date_month_name") Is Nothing, 0, Fields!Days.Value / Sum(Fields!Days.Value, "Date_month_name"))
Tuve un problema similar a esto y descubrí que lo siguiente era más fácil de hacer.
=Iif(
Fields!Days.Value.Value <> 0 AND Sum(Fields!Days.Value, "Date_month_name") <> 0
, Fields!Days.Value.Value/Sum(Fields!Days.Value, "Date_month_name")
, 0
)
Probablemente no sea la mejor solución, pero funciona.