2013-08-13 12 views
5

Ich habe Probleme mit einem Wert für eine Zelle in SSRS, die eine Summe von verschiedenen Werten sein sollte. Ich habe einen SSRS-Bericht, der auf den Screenshot unten aussieht:Versucht, verschiedene Werte zu summieren SQL

enter image description here

Ich habe Probleme, den Wert in rot bekommen ($ 11.25). Ich muss die Schiffskosten basierend auf unterschiedlichen Tracking # s summieren. Es gibt also zwei eindeutige Tracking-Nummern, eine mit einer Schiffskost von 5,25 $ und die anderen 6,00 $, so dass die Summe, die in Rot angezeigt wird, 11,25 $ betragen sollte. Aber ich kann das in SSRS nicht erreichen und kann es auch nicht in der SQL-Abfrage herausfinden.

Ich bin eine Unterabfrage wie denken (unter der und ich weiß, ist nicht gültig SQL):

(SELECT SUM([Ship Cost]) WHERE [Tracking #] IS DISTINCT) AS [Ship Cost] 

Aber ich weiß nicht, wie es zu schreiben.

Antwort

5

Sie können folgendes tun:

SELECT SUM(distinct [Ship Cost]) . . . 

Aber, ich nicht empfehlen. Sie könnten zwei Artikel mit den gleichen Kosten haben und nur einer würde gezählt werden.

Der bessere Weg ist einen Wert für jeden Tracking # auszuwählen, mit der row_number() Funktion:

select SUM(case when seqnum = 1 then [Ship Cost] end) 
from (select t.*, 
      row_number() over (partition by [Order #], [Tracking #] 
           order by (select NULL) 
           ) as seqnum 
     . . . 
    ) t 
+0

Hallo @Gordon Linoff, Sie scheinen eine gute Lösung zu haben. Ich konnte die Abfrage, die Sie angegeben haben, nicht richtig ausführen, aber ich habe etwas Ähnliches mit der ROW_NUMBER-Funktion gemacht. Ich habe jetzt eine neue Ausgabe zu meinem Bericht. Die rot dargestellten Werte im Screenshot werden mit dem folgenden Ausdruck in SSRS berechnet: = SUM (IIF (Felder! RowNumber.Value = 1, Felder! WEIGHT.Value, 0)), jedoch gibt es einen Fehler für die Aufträge mit mehr als 1 Artikel. Für mich ergibt das immer noch keinen Sinn. Wissen Sie, wie der Ausdruck geändert werden kann, damit die Berichtausgabe korrekt ist? –

+1

@kyle_13. . . Ich denke, Sie sollten eine weitere Frage stellen, die Informationen über Probendaten und erwartete Ergebnisse liefert. –

+0

Dank @Gordon Linoff, das ist, was ich getan habe, habe die Lösung hier http://stackoverflow.com/questions/18236373/expression-in-ssrs-not-working-as-expected. War ein Datenkonvertierungsproblem im Bericht aufgetreten? –

12

die eindeutige Liste zuerst Get ...

SELECT SUM(SQ.COST) 
FROM 
(SELECT DISTINCT [Tracking #] as TRACK,[Ship Cost] as COST FROM YourTable) SQ 
0

etwas versuchen, wie

 

select sum(shipcost) from 
(select distinct tracking#, shipcost from table) 

Prost

Verwandte Themen