Neu Aufträge - Ertragsübersicht pro Auftrag

Erik Hartnagel

Aktives Mitglied
14. April 2021
22
5
Hallo Zusammen,

ich habe mir ein SQL gebastelt um die EK-Summe, die VK-Summe (netto), den Roherlös in € und den Deckungsbeitrag in % - pro Auftrag anzuzeigen.
Nun gibt es in manchen Aufträgen Positionen in denen der VK-Betrag 0 (Null) ist!
Daraus resultiert eine Division durch Null - führt zum Absturz und es wird nichts angezeigt.

1. Frage:
Kann mir bitte jemand helfen bei der Berechnung des DB´s die Prüfung auf Division durch Null zu implementieren?

2. Frage:
Wie kann ich alle Datensätze die ich oben angezeigt habe verwenden (@Key, oder @Keys)-Syntax ??
Wenn ich mir damit alle Aufträge von einem Monat anzeige, dann erhalte ich eine Liste aller Aufträge in diesem Monat.
Wenn ich dann zu einem anderen Monat wechsle, dann alle Aufträge aus diesem Monat.
Also immer alle Datensätze die oben angezeigt werden.

Für Hilfe wäre ich dankbar :)

Hier der Code:

SELECT
bk.cBestellNr AS 'AB-Nr',
FORMAT(bk.dErstellt, 'dd.MM.yyy') AS 'AB-Datum',
kd.cFirma AS 'Kunde',
kd.cPLZ AS 'PLZ',
kd.cOrt AS 'Ort',
FORMAT(SUM(a.fEKNetto * bp.nAnzahl), '###,##0.00') AS 'SummeEK',
FORMAT(SUM((bp.fVKNetto - (bp.fVKNetto * bp.fRabatt / 100))*bp.nAnzahl),'###,##0.00') AS 'SummeVK',
FORMAT((SUM((bp.fVKNetto - (bp.fVKNetto * bp.fRabatt / 100))*bp.nAnzahl)) - (SUM(a.fEKNetto * bp.nAnzahl)),'###,##0.00') AS 'Gewinn',
FORMAT((SUM(a.fEKNetto * bp.nAnzahl) / SUM((bp.fVKNetto - (bp.fVKNetto * bp.fRabatt / 100))*bp.nAnzahl)-1)*-100,'###,##0.00') AS 'DB'
FROM [eazybusiness].[dbo].[tBestellung] bk
JOIN [eazybusiness].[dbo].[tbestellpos] bp
ON bk.kBestellung = bp.tBestellung_kBestellung
JOIN [eazybusiness].[dbo].[tAdresse] kd
ON bk.tKunde_kKunde = kd.kKunde
JOIN [eazybusiness].[dbo].[tArtikel] a
ON bp.[tArtikel_kArtikel] = a.kArtikel
WHERE bk.cType='B' and bk.dErstellt >= '01.09.2023'
GROUP BY bk.cBestellNr, bk.dErstellt, kd.cFirma, kd.cPLZ, kd.cOrt
ORDER BY bk.cBestellNr DESC
 

Erik Hartnagel

Aktives Mitglied
14. April 2021
22
5
...testweise habe ich in dem SQL die Abfrage auf Datum >= 01.09.2023 eingefügt, hier sollten aber alle Datensätze aus der aktuell angezeigten Liste verwendet werden.
Diente nur zum testen...
 

Erik Hartnagel

Aktives Mitglied
14. April 2021
22
5
Manchmal muss man eine Pause machen um die Lösung zu finden.
Hatte NULLIF falsch angewendet und konnte in anderen Beispielen die Anwendung von IN (@Keys) finden, und schon funktioniert es :)

Hier das fertige SQL, falls es jemand einsetzen oder für sich modifizieren möchte:

SELECT
bk.cBestellNr AS 'AB-Nr',
FORMAT(bk.dErstellt, 'dd.MM.yyy') AS 'AB-Datum',
kd.cFirma AS 'Kunde',
kd.cPLZ AS 'PLZ',
kd.cOrt AS 'Ort',
FORMAT(SUM(a.fEKNetto * bp.nAnzahl), '###,##0.00') AS 'SummeEK',
FORMAT(SUM((bp.fVKNetto - (bp.fVKNetto * bp.fRabatt / 100))*bp.nAnzahl),'###,##0.00') AS 'SummeVK',
FORMAT((SUM((bp.fVKNetto - (bp.fVKNetto * bp.fRabatt / 100))*bp.nAnzahl)) - (SUM(a.fEKNetto * bp.nAnzahl)),'###,##0.00') AS 'Ertrag',
FORMAT((SUM(a.fEKNetto * bp.nAnzahl) / NULLIF(SUM((bp.fVKNetto - (bp.fVKNetto * bp.fRabatt / 100))*bp.nAnzahl),0)-1)*-100,'###,##0.00') AS 'DB'
FROM [eazybusiness].[dbo].[tBestellung] bk
JOIN [eazybusiness].[dbo].[tbestellpos] bp
ON bk.kBestellung = bp.tBestellung_kBestellung
JOIN [eazybusiness].[dbo].[tAdresse] kd
ON bk.tKunde_kKunde = kd.kKunde
JOIN [eazybusiness].[dbo].[tArtikel] a
ON bp.[tArtikel_kArtikel] = a.kArtikel
WHERE bp.tBestellung_kBestellung IN (@Keys)
GROUP BY bk.cBestellNr, bk.dErstellt, kd.cFirma, kd.cPLZ, kd.cOrt
ORDER BY bk.cBestellNr DESC
 

bast-art83

Gut bekanntes Mitglied
16. April 2019
121
12
Guten Abend,

ich danke dir für den SQL. Ich habe leider ein Problem / Fehler gefunden. Bei Kunden, die mehrere Adressen haben, werden mir diese doppelt angezeigt. Woher kommt das und wie löse ich das? Ich verwende die WAWI 1.7.11

Mit freundlichem Gruß
Sebastian Glaser
 

jtldudel

Sehr aktives Mitglied
4. Januar 2018
628
199
tAdresse enthält alle Adressen eines Kunden, d.h. beim Join wird für jeden Eintrag in tAdresse eine Zeile produziert.

Vermute Mal man will die Adresse aus dem Auftrag haben, da würde ich einen anderen Weg gehen z.b. über die Verkauf.lvAuftragsverwaltung (oder so, bin gerade nicht am Rechner) dort steht meine ich die Adresse des jeweiligen Auftrags auch drin. Dann ist die Zuordnung eindeutig.
 

AK57234

Aktives Mitglied
22. Februar 2019
15
1
Hallo zusammen,
habe diesen Thread zum DB eines Auftrages gefunden. Wir würden das auch sehr gebrauchn können.
Der Ansatz oben ist schon ganz gut.
Ist es nicht aber sinnvoller dies direkt im Angebot/Auftrag in der Zusammenfasung einzubauen?
Das müsste dann aber wohl von JTL eingebaut werden.
 

Anhänge

  • zusammenfassung.jpg
    zusammenfassung.jpg
    18,2 KB · Aufrufe: 16
Ähnliche Themen
Titel Forum Antworten Datum
Neu Aufträge tauchen nicht in Versand auf. Nach Speichern ohne Änderung jedoch dann wieder User helfen Usern - Fragen zu JTL-Wawi 0
Kaufland AT Aufträge kommen werden nicht übertragen. kaufland.de - Anbindung (SCX) 1
Neu JTL-WMS Aufträge lassen sich nicht teilliefern, erst nach Neustart JTL-Wawi - Fehler und Bugs 2
teilweise werden Aufträge nicht angezeigt JTL-Wawi 1.10 0
Neu Abfrage offene Aufträge von GESTERN oder VORGESTERN User helfen Usern - Fragen zu JTL-Wawi 3
Neu Amazon Anbindung kurzzeitig fehlerhaft - Aufträge fehlen Amazon-Anbindung - Fehler und Bugs 1
Neu Aufträge im JTL-Shop ohne Adresse JTL-Shop - Fehler und Bugs 1
In Diskussion Farbliche Hinterlegung der Aufträge nach Firma differenzierbar machen JTL-Workflows - Ideen, Lob und Kritik 6
Neu Wawi-Aufträge auf JTL POS Kassenbericht / Tagesabschluss ausgeben JTL-POS - Fehler und Bugs 5
Aufträge in JTL abschließen und in WMS ausliefern JTL-Wawi 1.9 8
Neu Aufträge überspringen bei Rollender Kommissionierung Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Aufträge importieren Fehler / Bug Testlauf - Import JTL-Ameise - Fehler und Bugs 5
Neu Im Dashboard offene Rechnungen statt Aufträge Statistik JTL-Wawi - Ideen, Lob und Kritik 0
Dropshipping-Aufträge Exportieren nicht möglich (außer Admins) JTL-Wawi 1.10 1
Neu offene Aufträge aktualisieren Arbeitsabläufe in JTL-Wawi 5
Neu Eingehende Aufträge / Bestellungen reduzieren den produzierbaren Bestand nicht JTL-Plan&Produce - Ideen, Lob und Kritik 0
Neu Wie läuft eine Bestellung ab und wie bekomme ich die Aufträge aus dem Shop in die Wawi übertragen? Betrieb / Pflege von JTL-Shop 0
Neu Bei XML-Auftragsimport entstehen Aufträge ohne Kundendatensatzverknüpfung JTL-Wawi - Fehler und Bugs 2
Aufträge Lieferbar- Kundenkommentar in Übersicht anzeigen JTL-Wawi 1.9 2
Neu SCX OTTO Aufträge Abwicklung Hilfe benötigt Arbeitsabläufe in JTL-Wawi 1
Neu Einlagerung via eindeutiger Nummer pro Palette / Paket? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 3
Neu Proformarechnung pro Paket Arbeitsabläufe in JTL-Wawi 3
Neu Gewinn pro Artikel mit SQL exportieren. User helfen Usern - Fragen zu JTL-Wawi 2
Neu Lässt sich die Artikelsichtbarkeit pro Kundengruppe per Workflow steuern? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Verzugszinsen pro Mahnstufe nicht funktionsfähig Arbeitsabläufe in JTL-Wawi 0
In Bearbeitung SUNMI D3 Pro GMS installieren JTL-POS - Fragen zu Hardware 3
Neu Versandgewicht pro Versandart möglich? Betrieb / Pflege von JTL-Shop 9
Neu "Bestand pro Lager anzeigen" - in welchen Templates finde ich die Angaben zu dem Wort "Lager"? Templates für JTL-Shop 1
In Diskussion Scanner-/Drucker Problem am iMin D4 Pro JTL-POS - Fragen zu Hardware 1

Ähnliche Themen