Hallo,
ich habe eine Frage zum Thema Abfragen.
Und zwar muss ich einen Report erstellen in Form einer CSV Datei. Diese CSV Datei soll die Summe aller Rückzahlungen von Kunden innerhalb eines bestimmten Zeitraums anzeigen - allerdings summiert.
Wenn ich also einen Kunden habe, der eine Ratenzahlung tätigt, so gibt es zu dem Kunden mehrere Rückzahlungen. Ich muss aber eine kumulierte Summe der Rückzahlungen angeben pro Kunde.
Anbei seht ihr einen Screenshot. Dort sind zu jedem Kunden - ich habe zwei Testkunden - (bestehend aus SalesID und CustomerID) die entsprechenden Rückzahlungen angegeben.
Mein gewünschtes Ausgabeformat wären jetzt zwei Zeilen, jeweils eine für jeden Kunden mit den aufsummierten Werten.
Heißt:
25 - 11 - 240000
90 - 63 - 160000
Gibt es eine Möglichkeit, dies umzusetzen?
Ich wäre über eine Hilfe sehr dankbar!
Viele Grüße
Hallo Paul,
Klicke mal bei der gezeigten Ansicht oben rechts auf das Summenzeichen.
Dann schaust du unten bei den Feldern das Kombi in der Zeile an, in der "Gruppierung"
steht. Vielleicht kommst du so selbst drauf, wie's weitergeht. Falls nicht, sach Bescheid.
gruss ekkehard
Hallo Ekkehard,
ich habe das selbst schon probiert gehabt.
Eigentlich will ich ja sagen, dass er mir die Customer und Sales ID gruppieren, und die InstallmentSum aufsummieren soll.
Daher hatte ich bei allen Feldern (habe noch 2-3 Kriterien-Felder, die nicht angezeigt werden) bis auf die InstallmentSum auf "Gruppieren" gedrückt und bei der InstallmentSum auf "Summe".
Hat aber nicht funktioniert leider.
Kannst du noch einen Hinweis geben?
Don Karls FAQ 3.11 Laufende Nummer/Summe in Abfragen (http://www.donkarl.com/FAQ/FAQ3TAbfragen.htm#3.11) bzw. 5.16 Laufende Nummer/Summe in Berichten (http://www.donkarl.com/FAQ/FAQ5Berichte.htm#5.16) sollte helfen.
Hi,
ZitatHat aber nicht funktioniert leider.
zeig doch einfach den zugehörigen SQL-Code, dann kann man dir erklären was da falsch läuft.
Voila,
das ist der Code.
SELECT CF_InstallmentsT.InstallmentDate, SA_Sales.CustomerID, Sum(CF_InstallmentsT.InstallmentSum) AS SummevonInstallmentSum
FROM SA_Sales INNER JOIN CF_InstallmentsT ON SA_Sales.SalesID = CF_InstallmentsT.ReferingSale
GROUP BY CF_InstallmentsT.InstallmentDate, CF_InstallmentsT.ReferingSale, SA_Sales.CustomerID, CF_InstallmentsT.InstallmentDate,
DateSerial(DatePart('yyyy',[CF_InstallmentsT].[InstallmentDate]),DatePart('m',[CF_InstallmentsT].[InstallmentDate]),1)
HAVING
(((CF_InstallmentsT.ReferingSale)=90) AND
((DateSerial(DatePart('yyyy',[CF_InstallmentsT].[InstallmentDate]),DatePart('m',[CF_InstallmentsT].[InstallmentDate]),1))<DateSerial(DatePart('yyyy',Date()),DatePart('m',Date()),1)))
OR
(((CF_InstallmentsT.ReferingSale)=25) AND ((DateSerial(DatePart('yyyy',[CF_InstallmentsT].[InstallmentDate]),DatePart('m',[CF_InstallmentsT].[InstallmentDate]),1))<DateSerial(DatePart('yyyy',Date()),DatePart('m',Date()),1)));
Wie vermutet läuft die Gruppierung über mehr Datenfelder als im Ergebnis benötigt werden. Nimm sie einfach aus der Gruppierung raus. Im Abfrageentwurf kannst du das bei den entsprechenden Datenfeldern über die Auswahl der Funktion "Bedingung" lösen.
Hallo Paul,
Du darfst natürlich nur nach der Sale_ID gruppieren und .InstallmentSum summieren.
Die anderen Felder kannst du über evtl. über "Erster Wert" oder eine zweite Abfrage
dazu holen, wenn du sie sehen willst.
gruss ekkehard
Edit:
Noch vergessen, IMO kann man Jahr und Monat auch kürzer mit Year(Datumsfeld) und Month(Datumsfeld) extrahieren.
Vielen, vielen Dank. Klappt mit "Bedingung" wunderbar! :)