7

estoy usando la siguiente expresión para calcular un porcentaje:Fórmula SSRS o expresión para cambiar NaN a 0

=Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name") 

Days.Value está mostrando como 0 sin embargo, en algunos de mis resultados en lugar de leer 0% en mi columna de porcentaje, en realidad está leyendo NaN (No es un número).

¿Alguien sabe la expresión exacta forumla que necesito y dónde debo pegarla en mi expresión actual para decir "Donde se muestra NaN, ponga un '0' en su lugar?"

(Ver imagen) enter image description here

Respuesta

8

¿Qué tal

=IIF(Fields!Days.Value > 0,Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name"),0) 
+1

Intenté algo similar a esto: = IIF (Sum (Fields! TotalPrice.Value)/Sum (Fields! Orders.Value) = 0, 0, Sum (Fields! TotalPrice.Value)/Sum (Fields! Orders. Valor) me dio algunos resultados extraños en un cuadro de texto que consideré como moneda. La respuesta anterior funcionó a la perfección. Gracias! –

+0

Esta solución todavía me dio el mismo error. He respondido esta pregunta con lo que funcionó para mí. – hurleystylee

2

Trate

=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")) 
12

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")) 
2

Ésta es la & más simple 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 puede poner un 0 en lugar de nada.

4

he utilizado esto para caso similar,

=REPLACE(Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name"),"NaN","0")

0

Aquí es otra opción. Debe resolver el problema, y ​​también deshacerse de las respuestas Infinite:

=val(replace(Fields!Days.Value/Sum(Fields!Days.Value, "Date_month_name"),"NaN","0")) 
0

tuve un problema similar a este y se encontró que el 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.

Cuestiones relacionadas