Ich stelle mir vor das ist möglich, aber umfangreiche Forschung und unzählige Stunden haben sich nicht ausgezahlt.Oracle SQL Reset läuft Summe bei Null
Ich verkaufe Produkt aus einem Lagerhaus. Ich weiß, wann ich Sendungen erhalten werde und habe eine tägliche Absatzprognose (in Stückzahl). Ich muss das Endbestand berechnen. Es ist im Grunde eine laufende Summe von Inventar - Prognose.
Das Problem ist, wenn ich kein Produkt mehr habe, werde ich am nächsten Tag kein negatives Inventar haben, wie eine laufende Summe vermuten lässt. Inventar wird Null sein, bis ich eine andere Lieferung erhalte. Es kann in der Prognose mehrfach auf Null gehen (weitaus mehr als im Beispiel unten).
Visual of the dataset (desired column in yellow)
SQL Fiddle for cracking the case
Hier ist meine eigentliche Abfrage:
SELECT FORECAST_DATE, DAYS_OUT, INBOUND_INVENTORY, FORECAST,
ENDING_INVENTORY AS DESIRED_RESULT,
SUM(INBOUND_INVENTORY) OVER (PARTITION BY NULL ORDER BY DAYS_OUT) -
SUM(FORECAST) OVER (PARTITION BY NULL ORDER BY DAYS_OUT) AS ENDING_INVENTORY
FROM MRP
Spalten
Datum: Die Prognose Datum (starti ng heute)
Tage Out: Die Anzahl der Tage zwischen dem heutigen Tag und dem prognostizierten Datum
Inbound Inventar: kommendes Produkt in (für heute, Produkt hier)
Prognose: Meine geplanten Umsatzmenge
Ending Inventory: Inbound Inventory - Forecast + Wenn das Ending Inventory von gestern < = 0 ist, dann 0 sonst gestern Ending Inventory.
umfassen Bitte geben Sie die Abfrage und Daten in der eigentlichen Frage. –
SELECT FORECAST_DATE, DAYS_OUT, INBOUND_INVENTORY, FORECAST, ENDING_INVENTORY als DESIRED_RESULT, SUM (INBOUND_INVENTORY) OVER (PARTITION BY NULL ORDER BY DAYS_OUT) - SUM (VORHERSAGE) OVER (PARTITION BY NULL ORDER BY DAYS_OUT) AS ENDING_INVENTORY FROM MRP –
http://sqlfiddle.com/#!4/72750/10 –