Neu Verkaufsmengen | nur berechnete Aufträge beachten

SLINGSHOT

Aktives Mitglied
3. November 2020
50
6
Moin,

ich finde leider keine Antwort in dem Forum deshalb der neue Thread.

Aktuell nutze ich diese Abfrage. Sie beinhaltet Produkte auf Bestellungen aber ignoriert ob diese ausgeliefert oder berechnet wurden. Ich würde die abfrage gerne ändern auf ausgelieferte oder berechnete Aufträge ändern da dies für mich wichtiger ist (Vorbestellungen möchte ich also nicht hier drin haben). Es sollen also die Verkäufe (berechnete) Menge anzeigt werden.

1611139325436.png

Vielleich kann mir hier jemand weiterhelfen?

Danke :)
 

SLINGSHOT

Aktives Mitglied
3. November 2020
50
6
Bitte stelle doch mal den SQL-Code "dieser Abfrage" mit rein.

Hier ist der SQL Code:

SELECT tPlattform.cName AS 'Plattform',
ISNULL(jAktTag.absatz, 0) AS 'Heute',
ISNULL(jGestern .absatz, 0) AS 'Gestern',
ISNULL(jAktMonat.absatz, 0) AS 'Akt. Monat',
ISNULL(jVorMonat.absatz, 0) AS 'Vormonat',
ISNULL(jLetzte30Tage.absatz, 0) AS 'Letzte 30 Tage',
ISNULL(jLetzte3Monate.absatz, 0) AS 'Letzte 3 Monate',
ISNULL(jAktJahr.absatz, 0) AS 'Akt. Jahr',
ISNULL(jLetzte365Tage.absatz, 0) AS 'Letzte 365 Tage',
ISNULL(jVorjahr.absatz, 0) AS 'Vorjahr',
ISNULL(jGesamt.absatz, 0) AS 'Gesamt'
FROM tPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())
AND DAY(tBestellung.dErstellt) = DAY(getdate())
GROUP BY nPlatform
) as jAktTag on jAktTag.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(DAY, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(DAY, -1, getdate()))
AND DAY(tBestellung.dErstellt) = DAY(DATEADD(DAY, -1, getdate()))
GROUP BY nPlatform
) as jGestern on jGestern.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())
GROUP BY nPlatform
) as jAktMonat on jAktMonat.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(MONTH, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(MONTH, -1, getdate()))
GROUP BY nPlatform
) as jVorMonat on jVorMonat.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(DAY, -30, getdate())
GROUP BY nPlatform
) as jLetzte30Tage on jLetzte30Tage.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(MONTH, -3, getdate())
GROUP BY nPlatform
) as jLetzte3Monate on jLetzte3Monate.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
GROUP BY nPlatform
) as jAktJahr on jAktJahr.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(DAY, -365, getdate())
GROUP BY nPlatform
) as jLetzte365Tage on jLetzte365Tage.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(YEAR, -1, getdate()))
GROUP BY nPlatform
) as jVorjahr on jVorjahr.nPlatform = tPlattform.nPlattform
JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
GROUP BY nPlatform
) as jGesamt on jGesamt.nPlatform = tPlattform.nPlattform
WHERE tPlattform.cName NOT IN ('XML-Import', 'Amazon.com.mx') -- XML-Import und Amazon Mexiko wollen wir exemplarisch ausschliessen
UNION
SELECT 'Alle Plattformen' AS 'Plattform',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())
AND DAY(tBestellung.dErstellt) = DAY(getdate())) as 'Heute',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(DAY, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(DAY, -1, getdate()))
AND DAY(tBestellung.dErstellt) = DAY(DATEADD(DAY, -1, getdate()))) as 'Gestern',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())) as 'Akt. Monat',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(MONTH, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(MONTH, -1, getdate()))) as 'Vormonat',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(DAY, -30, getdate())) as 'Letzte 30 Tage',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tBestellung.dErstellt > DATEADD(MONTH, -3, getdate())) as 'Letzte 3 Monate',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())) as 'Akt. Jahr',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tBestellung.dErstellt > DATEADD(DAY, -365, getdate())) as 'Letzte 365 Tage',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(YEAR, -1, getdate()))) as 'Vorjahr',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
) as 'Gesamt'
ORDER BY Plattform
 

SportNet

Sehr aktives Mitglied
16. Oktober 2014
210
54
wenn bei dir " berechnet wurden " bedeutet, dass eine Rechnung erstellt wurde, kannst du in jedem Select einen Join auf tRechnung machen.

So wären dann Aufträge, die keine Rechnung haben, nicht mit in den Daten drin.
 

SLINGSHOT

Aktives Mitglied
3. November 2020
50
6
Genau das heißt es. Könntest du mir vielleicht ein Beispiel geben damit ich weiß wie das auszusehen hat?

Vielen Dank schon mal!
 

SportNet

Sehr aktives Mitglied
16. Oktober 2014
210
54
Ergänze in jeder Berechnung folgendes: join trechnung on trechnung.tBestellung_kBestellung = tBestellung.kBestellung

hier ein Beispiel:


SQL:
SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
join trechnung on trechnung.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = 34816
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten

Bedenke aber auch, dass das die Zahlen VOR "Gutschriften" sind. Daher wenn ein KD etwas retourniert, müsste man dies ggf. wieder abziehen.
 

SLINGSHOT

Aktives Mitglied
3. November 2020
50
6
Perfekt das hat geklappt! Vielen vielen Dank für die Hilfe!

Gutschriften interessieren mich weniger da wir als Vertrieb/Großhandel tätig sind und somit wenig Gutschriften erstellen.

Ein kleines Manko gibt es aber das ist nicht soo schlimm. Die Auswertung bezieht sich auf das Auftragsdatum und nicht auf das Rechnungsdatum. Gibt's da noch irgendeine Möglichkeit das noch einzustellen?

Nochmals vielen Dank!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu DHL Label drucken - kommt nur eine Adresse raus aber kein Label User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Workflow besteht alle Test wird nur nicht ausgeführt JTL-Workflows - Fehler und Bugs 23
Neu Umfrage: Scanpflicht auf Artikelebene (Nur für bestimmte Artikel aktivieren/deaktivieren) JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Neu Picken nur von dem Lagerplatz, der 100 % der Aufträge bedienen kann Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Sprachvariablen: Statt mehreren Variablen (wie z. B. %s %s) nur eine bestimmte ausgeben Allgemeine Fragen zu JTL-Shop 2
Neu Abholung in Filiale nur bei genügend Bestand Plugins für JTL-Shop 3
Neu Habe ich ein Sicherheitsproblem oder bin ich nur unfähig? Allgemeine Fragen zu JTL-Shop 19
Neu Bestellungen von nur einem Standort importieren Shopify-Connector 0
Nur bestimmte Bilder für einen Marktplatz aktivieren (Hood.de) JTL-Wawi 1.8 2
Nur eine Funktion implementiert? kaufland.de - Anbindung (SCX) 0
Neu Kategoriebezeichnungen in URL-Struktur nicht / nur teilweise enthalten, warum? Allgemeine Fragen zu JTL-Shop 1
Neu Feld Kundenkommentar nur im Auftrag editierbar? User helfen Usern - Fragen zu JTL-Wawi 3
Gelöst Artikel an der Kasse beim scannen nur über Artikelnummer, nicht über GTIN identifizieren (Gebrauchtware, GTIN mehrfach in der Wawi) Allgemeine Fragen zu JTL-POS 1
Gelöst iMin Swan 1 Pro Kundendisplay zeigt nur verkleinerte 1:1 Kopie des kompletten Hauptbildschirmes JTL-POS - Fragen zu Hardware 3
Neu Eigene Übersichten - Beschaffung - Bestellvorschläge - nur Standardlieferant anzeigen Eigene Übersichten in der JTL-Wawi 4
Nur EU Verkauf JTL-Wawi 1.6 1
Neu Anzeige der Seriennummer nur für den Wareneingang Eigene Übersichten in der JTL-Wawi 2
Neu FBA Anlieferung aus der JTL-Wawi heraus --> Firmenname in der Absenderadresse wird nur noch als "-" dargestellt Amazon-Anbindung - Fehler und Bugs 1
Neu 2 verschiedene Lager - Trennung - nur ein Lager für WMS Versand möglich ? User helfen Usern - Fragen zu JTL-Wawi 2
Neu Unterschiedliche Lagerplätze, wie konfigurieren? Waage nur mit WMS? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Workflow für Warenpost nur wenn bestimmte Artikel in Bestellung User helfen Usern - Fragen zu JTL-Wawi 1
Gelöst Alternativen zu Sumni T2 - nur iMin D4 Pro? JTL-POS - Fragen zu Hardware 3
Neu Statt Preis nur Preis auf Anfrage bei B2B Fehler JTL-Shop - Fehler und Bugs 1

Ähnliche Themen