wake-up-neo.com

Ausführen eines SUMIF-ähnlichen Vorgangs mit dem SQL Server-Berichts-Generator

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?

17
Daniel Neal

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))
23
praveen

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. 

1
Venaikat

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

0
Zalek Bloom

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.

0
Ghayour Khan