7

Używam następujące wyrażenie wypracować wygranych:SSRS Formula lub wyrażenie zmienić NaN do 0

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

Days.Value jest wyświetlana jako 0 jednak w kilku moich wyników zamiast czytania 0% w mojej kolumnie procentowej jest to faktycznie czytanie NaN (nie liczba).

Czy ktoś zna dokładne wyrażenie forum, którego potrzebuję i gdzie powinienem wkleić go w moim bieżącym wyrażeniu, aby powiedzieć "Gdzie wyświetla się NaN, zamiast tego wpisać" 0 "?"

(patrz zdjęcie) enter image description here

Odpowiedz

8

Jak o

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

Próbowałem coś podobnego do tego: = IIF (Sum (Fields! TotalPrice.Value)/Sum (Fields! Orders.Value) = 0, 0, Sum (Fields! TotalPrice.Value)/Sum (Fields! Orders). Wartość) przyniosła mi pewne dziwne wyniki w polu tekstowym, które uważałem za walutę Powyższa odpowiedź zadziałała idealnie Dziękuję! –

+0

To rozwiązanie dało mi ten sam błąd, odpowiedziałem na to pytanie z tym, co zadziałało. – hurleystylee

2

Spróbuj

=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

nie miałem szczęścia z powyższych odpowiedzi. Oto co pracował dla mnie:

=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

Jest to najprostszy & najlepiej, myślę,

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

Można również umieścić 0 zamiast niczego.

4

użyłem tego dla podobnego przypadku

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

0

Oto kolejna opcja. Należy rozwiązać problem, a także pozbyć się Infinite odpowiedzi:

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

miałem podobny problem do tego i okazało się, że następuje to najłatwiej zrobić.

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

Prawdopodobnie nie najlepsze rozwiązanie, ale działa.