Próbuję utworzyć sumę warunkową w programie SQL Server Report Builder 3.0.Przeprowadzanie operacji podobnej do SUMIF przy użyciu programu SQL Server Report Builder
Moje wyrażenie wygląda następująco:
=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0))
Miałem nadzieję, że to wyrażenie będzie produkować sumę kWp wszystkich projektów typu 2.
Niestety, to nie ma być. I nie mogę się domyślić, dlaczego. Po prostu zwraca wynik 0, mimo że wiem, że w kolumnie kWp są wartości niezerowe, a kolumna nie zawiera wartości null.
Kolega udało się uzyskać pozytywny wynik zastępując
Fields!kWp.Value
z
1 * Fields!kWp.Value
Ale nie mamy pojęcia, dlaczego to działa, a zatem nie można naprawdę zaufać odpowiedź .
Jak mogę zachować tę sumę warunkową, aby się zachowywać?
Czy są jakieś wartości dziesiętne zapisane w kolumnie kWp? – praveen
Tak - wszystkie są wartościami dziesiętnymi - z grubsza w zakresie 0 - 100 –
Następnie należy odrzucić wartości w int SUM (iif (Fields! ProjectTypeID.Value = 2, CINT (Fields! FieldkWp.Value), 0) – praveen