Ich versuche, eine bedingte Summe in SQL Server Report Builder 3.0 zu erstellen.
Mein Ausdruck sieht so aus:
=Sum(Iif(Fields!ProjectTypeID.Value=2,Fields!kWp.Value,0))
Ich hatte gehofft, dass dieser Ausdruck die Summe der kWp aller Projekte des Typs 2 ergibt.
Leider soll es nicht sein. Und ich kann nicht verstehen, warum. Es gibt nur ein 0-Ergebnis zurück, obwohl ich weiß, dass die kWp-Spalte keine Nullwerte enthält und die Spalte keine Nullen enthält.
Ein Kollege hat es geschafft, ein positives Ergebnis zu erzielen, indem er den
Fields!kWp.Value
mit
1 * Fields!kWp.Value
Aber wir haben keine Ahnung, warum das funktioniert und können der Antwort daher nicht wirklich trauen.
Wie kann ich diese bedingte Summe dazu bringen, sich zu benehmen?
Der Datentyp der Spalte 'kWp' ist Dezimal, dh Sie müssen entweder den Standardwert in 0,00 konvertieren oder die Spalte in einen Doppelklick umwandeln
SUM(iif(Fields!ProjectTypeID.Value = 2,cdbl(Fields!kWp.Value),0.00))
Um die sum
des kWp aller Projekte vom Typ 2 zu erhalten, lautet der Ausdruck wie folgt:
=IIf(Fields!ProjectTypeID.Value=2,sum(Fields!kWp.Value),0)
Ich hoffe das wird dir helfen.
Ich hatte ein ähnliches Problem, das funktionierte für mich:
=Sum(iif(Fields!date_break.Value = "0001-01-01",Fields!brkr_fee.Value, nothing))
zum Beispiel
Um die bedingte Summe zu erhalten, können Sie diesen Ausdruck ausprobieren
=sum(IIf(Fields!balance.Value > 0,(Fields!balance.Value),0))
Es summiert nur positive Zahlen, sonst addiert es 0 zur Gesamtsumme, Sie können es umgekehrt tun.