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
120
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
625
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 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
In Diskussion Workflow - noch nicht versendete Aufträge JTL-Workflows - Fehler und Bugs 10
Neu Gesamtzahl der Aufträge pro Monat für JTL Rechnung Einrichtung und Installation von JTL-eazyAuction 1
Neu JTL 1.9.7.0 | Amazon Aufträge bekommen keine Auftragsnummer mehr Amazon-Anbindung - Fehler und Bugs 0
Neu Keinen neuen Kunden anlegen bei ebay Bestellungen die in Aufträge umgewandelt werden User helfen Usern - Fragen zu JTL-Wawi 1
Issue angelegt [WAWI-80989] Workflow "Aufträge zusammenfassen" JTL-Workflows - Ideen, Lob und Kritik 1
Neu FBA Lagerbestand in Wawi ansehen und Aufträge über FBA versenden User helfen Usern - Fragen zu JTL-Wawi 0
Aufträge von ebay.co.uk haben falsche Steuern JTL-Wawi 1.8 5
SQL-Abfrage für eigene Übersicht im Verkauf – Aufträge zu Angeboten prüfen JTL-Wawi 1.9 2
Neu JTL-Wawi 1.10.8.0 - Aufträge "Zusammenfassen [ist] deaktiviert" JTL-Wawi - Fehler und Bugs 23
Neu Faktura-Liste für Aufträge pro Kunden Schnittstellen Import / Export 1
Neu DATEV Export - Aufträge nach Österreich werden nicht mehr exportiert JTL Ameise - Eigene Exporte 2
Neu SQL Abfrage für offene Aufträge über Ameise User helfen Usern - Fragen zu JTL-Wawi 5
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
Neu Trackingdaten nicht mit Advanced shipment tracking PRO plugin synchronisiert WooCommerce-Connector 3
Neu unterschiedliche Mindestabnahmemenge pro Webshop (oder Kundengruppe) möglich? User helfen Usern - Fragen zu JTL-Wawi 1
Neu Budget pro Jahr? Allgemeine Fragen zu JTL-Shop 5
Gelöst iMin Swift 2 Pro + Swissbit TSE microSD ? JTL-POS - Fragen zu Hardware 3

Ähnliche Themen