Top 20 der meistverkauften Artikel
Die umsatzstärksten Artikel nach Umsatzwert, mit verkaufter Menge, für einen Zeitraum.
Tool
SELECT TOP 20 T1.ItemCode, T1.Dscription AS ItemName, SUM(T1.Quantity) AS QtySold, SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) AS SalesValue FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.CANCELED = 'N' AND T0.DocDate BETWEEN '[%0]' AND '[%1]' GROUP BY T1.ItemCode, T1.Dscription ORDER BY SalesValue DESC
SELECT TOP 20 T1."ItemCode", T1."Dscription" AS "ItemName", SUM(T1."Quantity") AS "QtySold", SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0)) AS "SalesValue" FROM OINV T0 INNER JOIN INV1 T1 ON T0."DocEntry" = T1."DocEntry" WHERE T0."CANCELED" = 'N' AND T0."DocDate" BETWEEN '[%0]' AND '[%1]' GROUP BY T1."ItemCode", T1."Dscription" ORDER BY "SalesValue" DESC
Welche Frage diese Abfrage beantwortet
Das Einkaufsteam plant die Beschaffung für das nächste Quartal und möchte wissen, welche 20 Artikel im letzten Zeitraum den meisten Umsatz gebracht haben und wie viele Einheiten dafür nötig waren. So wird klar, welche Produkte beim Lagerbestand Vorrang verdienen und welche nur Rauschen sind.
Beispielausgabe
Beispielwerte zur Veranschaulichung. Die Spalten sind bei Ihnen dieselben, die Zahlen stammen aus Ihrem Mandanten.
| ItemCode | ItemName | QtySold | SalesValue |
|---|---|---|---|
| A00001 | Laser Printer 1420 | 42 | 25200 |
| A00005 | Toner Cartridge Black | 310 | 13950 |
| A00012 | Wireless Keyboard | 185 | 7400 |
| A00007 | Paper A4 Box | 520 | 5720 |
SQL Server und SAP HANA im Vergleich
SELECT TOP 20 bleibt unverändert, denn SAP HANA akzeptiert ebenfalls TOP n (LIMIT 20 am Ende würde auch funktionieren). Alles andere betrifft nur die Anführungszeichen um Bezeichner, einschließlich des Alias "SalesValue" im ORDER BY.
Häufige Fehler und Lösungen
- Invalid column name 'Description': Die Spalte für die Positionsbeschreibung heißt in SAP B1 Dscription (ohne „e“). Verwenden Sie T1.Dscription sowohl im SELECT als auch im GROUP BY.
- Derselbe Artikel erscheint zweimal in den Top 20: Die Abfrage gruppiert nach der Positionsbeschreibung. Wurde der Name eines Artikels auf einigen Rechnungen geändert, teilt er sich auf zwei Zeilen auf. Gruppieren Sie nur nach T1.ItemCode und verknüpfen Sie OITM für den aktuellen ItemName.
- Retouren werden nicht abgezogen: Gelesen werden nur Ausgangsrechnungen (INV1). Ergänzen Sie ein UNION ALL über RIN1/ORIN mit negativer Quantity und negativem LineTotal, wenn Retouren in Ihrem Geschäft ins Gewicht fallen.
- Summen weichen von der Verkaufsanalyse ab (Belegrabatt): Ein im Belegkopf erfasster Rabatt (OINV.DiscPrcnt) ist nicht in INV1.LineTotal enthalten, daher weist ein einfaches SUM(T1.LineTotal) zu viel Umsatz aus. Die Abfrage oben berücksichtigt ihn: SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) (HANA: SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0))). Gutschriften (ORIN/RIN1) müssen mit demselben Faktor abgezogen werden, dann mit ORIN.DiscPrcnt. Siehe SAP B1: Umsatzsumme stimmt nicht – Lösung für den Belegrabatt.
Verwandte Abfragen
Tabellenreferenz: Tabelle OINV (Ausgangsrechnung (Kopf)) · Tabelle INV1 (Ausgangsrechnung (Positionen))
Drei Schritte, ohne Anmeldung
Die passende Version kopieren
Nutzen Sie den Tab SQL Server für MS-SQL-Datenbanken und den Tab HANA für SAP B1 auf HANA.
Abfragegenerator öffnen
Öffnen Sie in SAP Business One Extras → Abfragen → Abfragegenerator, fügen Sie die Abfrage ein und klicken Sie auf Ausführen.
Speichern und teilen
Klicken Sie auf Sichern, wählen Sie eine Kategorie und geben Sie der Abfrage einen Namen. Ihr Team kann sie dann über den Abfrage-Manager ausführen.
Fragen zu diesem Tool
Wie führe ich die Abfrage „Top 20 der meistverkauften Artikel“ in SAP Business One aus?
Kopieren Sie die Version, die zu Ihrer Datenbank passt, öffnen Sie Extras → Abfragen → Abfragegenerator, fügen Sie sie in das SQL-Feld ein und klicken Sie auf Ausführen. Speichern Sie die Abfrage, um sie später wiederzuverwenden.
Welche Tabellen verwendet diese Abfrage?
Sie liest OINV, INV1 aus dem Standardschema von SAP Business One. Benutzerdefinierte Felder sind nicht erforderlich.
Was gebe ich ein, wenn sich das Auswahlfenster öffnet?
Diese Abfrage verwendet Parameter: [%0] = Von-Datum, [%1] = Bis-Datum. SAP B1 zeigt beim Ausführen für jeden Parameter ein Auswahlfenster an.
Lässt sich daraus ein Dashboard oder eine Warnung machen?
Ja. Wir machen aus Abfragen Crystal Reports, Excel-Berichte, die sich selbst aktualisieren, SAP-B1-Warnungen oder WhatsApp-Nachrichten für Führungskräfte.
Für SAP-Business-One-Teams entwickelt
Brauchen Sie das direkt in SAP Business One?
Wir entwickeln Add-ons, Berichte und Integrationen für SAP B1 auf SQL Server und HANA. Beschreiben Sie Ihren Bedarf und erhalten Sie einen Festpreis, meist innerhalb von 24 Stunden.
