Jump to content

SQL Abfrage - Tagesumsatz


frezzo

Recommended Posts

Guten Tag zusammen

 

Gerne würde ich ein SQL Script ausführen - worin ich die Tagesumsätze und die Anzahl Bestellungen sehe.

 

Hat jemand eine Ahnung, wie man sowas am besten hin bekommt? Leider stimmen unsere internen Statistiken überhaupt nicht. 

 

Danke und Gruss, Tonino

Link to comment
Share on other sites

Hallo Torino,

 

zuerst kannst du dir eine Liste der Bestellungen ausgeben lassen, die die rel. Daten enthalten wie bestellte Artikel, Menge u. Preis, das könnte etwa so aussehen (prefix ps_ ev. anpassen):

SELECT d.id_order, os.id_order_state, os.name AS state, o.payment, d.product_price, d.product_quantity, o.date_upd,10
    FROM ps_order_detail d
    LEFT JOIN ps_orders o ON (d.id_order= o.id_order)
    LEFT JOIN ps_order_state_lang os ON (o.current_state = os.id_order_state)

   

Um nur die heutigen Bestellungen zu bekommen führst du eine Bedingung ein, die das Bestelldatum mit dem heutigen vergleicht, etwa so:


WHERE left(o.date_upd,10) LIKE CURDATE()
   

Du könntest jetzt noch über SUM() die Gesamtwerte bilden, aber ich vermute, dass du detailiertere Auswertungen brauchst und die so entstandenen Listen sowiso in Excel oder CALC übernimmst.

 

Grüsse

Whiley

Link to comment
Share on other sites

Wenn ich die Frage richtig verstanden habe, dann sollte das wohl für den Anfang reichen:

 

SELECT date(date_add) AS Datum,
     COUNT(id_order) AS Bestellungen,
     ROUND(SUM(total_products),2) AS Nettobestellwert,
     ROUND(SUM(total_shipping_tax_excl),2) AS Nettoversandkosten,
     ROUND(SUM(total_paid_tax_incl),2) AS Bruttoumsatz
  FROM ps_orders
 GROUP BY date_add

Ist nicht so kompliziert... ;)
Link to comment
Share on other sites

  • 2 weeks later...

Hallo Zusammen

Danke für die tolle Vorarbeit. Ich probiere mich seit Tagen das SQL so anzupassen, dass es sowas ausspuckt: 

2016-06-23_1634.png

 

Sprich - Datum - Anzahl Bestellungen (EXKL. Stornierte) = alle Status die Text "storniert" enthalten und die Summe von alle aktiven Bestellungen an dem Tag XY.

 

Kriegt ihr sowas hin? Ich wäre dafür sehr dankbar. Ich wäre auch gerne bereit etwas springen zu lassen für die Hilfe > tdi-strategie in Skype - bitte anschreiben. Tausend Dank!

Tonino

 

Edit:

 

Das topping wäre natürlich folgendes - so hätte ich jeden Tag voll unter Kontrolle - das wäre doch für alle sehr interessant, nicht wahr?

Zusätzliche Spalte mit Einstandpreise (Summe der Einstandpreise aus den Bestellungen des Tages) und dann Nettobestellwert minus Einstandpreis = Deckungsbeitrag.
 

2016-06-23_1642.png

Edited by frezzo (see edit history)
Link to comment
Share on other sites

Sorry, aber genau diese Milchmädchenrechnung spuckt dir doch die PrestaShop-eigene Statistik aus und nennt das Umsatzrendite, obwohl de facto natürlich noch viel mehr Unkostenfaktoren existieren, so dass diese Kennzahl ohnehin nur eine begrenzte Aussagekraft besitzt.

Link to comment
Share on other sites

Hey elezar

 

:blush:  - ich wäre schon mit der Milchbüchlein-Rechnung zufrieden - aber unsere Statistik spuckt noch nichtmal die richtige Anzahl Bestellungen geschweige denn nur annäherd den richtigen Umsatz in der Prestashop eigenen Statistik aus. Daher brennt mir ja dieses Thema so unter den Nägeln.

 

Mit der einfachen Rechnung kann ich dann die Bezugskosten und unsere SEO/Ad-Wordskosten noch abziehen - und habe wenigstens einen Anhaltspunkt von Tag zu Tag. Aktuell mache ich einen export aller Bestellungen anfangs des Monats und werte den letzten Monat aus, was natürlich mich schon mitte Monat interessieren würde, ob das Verhältnis Ad-Wordskosten in Relation zum Umsatz und den Bestellungen steht.

 

Du siehst, wird sind noch gaaanz am Anfang und kämpfen mit den Basics. Kannst Du dich in deinem Shop auf die  STATISTIK-KONTROLLZENTRUM verlassen? Bei uns stimmen da noch nichtmals die abgewickelte Anzahl an Bestellungen. Vielleicht haben wir was falsches gesetuppt? Aber du hast recht - eigentlich ist es doof, dafür wieder ein SQL zu schreiben!

 

Hat jemand eine Hilfestellung dazu und kennt sich damit aus?

 

Gruss, Tonino

Link to comment
Share on other sites

Na, dann versuch's mal so:

SELECT date(p.date_add) AS Datum,
     COUNT(p.id_order) AS Bestellungen,
     ROUND(SUM(p.total_products),2) AS Nettobestellwert,
     ROUND(SUM(p.total_shipping_tax_excl),2) AS Nettoversandkosten,
     ROUND(SUM(p.total_paid_tax_incl),2) AS Bruttoumsatz,
     ROUND(SUM(d.purchase_supplier_price * d.product_quantity),2) AS Einkaufspreis,
     ROUND((SUM(p.total_products) - SUM(d.purchase_supplier_price * d.product_quantity)),2) AS Deckungsbetrag
  FROM ps_orders p
 RIGHT JOIN ps_order_detail d ON (p.id_order = d.id_order)
 GROUP BY p.date_add

Und um deine Frage zu beantworten: Ich verlasse mich nicht auf die PS-Statistik, sondern auf die Buchhaltungsauswertung. :)

Aber für den groben Überblick reicht sie eigentlich aus. Hast du dir denn die Statistiken mal angesehen?
 

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...