Differenzen zwischen zwei Daten
Hallo zusammen,
ich baue gerade eine Applikation auf. Grunderfahrungen besitze ich einwenig.
Hier zu meinem privaten Projekt, mitwelchem ich noch x Zähler anschliessen möchte.
Ich speichere verschiedene Messewerte eines Fühler in eine Datenbank. Dies erfolgt ca. alle 5 Minuten und klappt auch einwandfrei.
Der Wert welche ich auswerten möchte, können sich nur erhöhen. Zum Beispiel vor 10 Minuten wurden 152 Teile produziert jetzt 168 und so weiter.
Nun möchte ich dem Benutzer über ein Interface zeigen wieviele Teile an jedem Tag produziert wurden. Dies funktioniert mit folgendem Code:
Teile = anzahl Produzierte Teile gesamt
Messzeitpunkt Date-Time = (genauer Messzeitpunkt)
zaehlerId = nummer des Zählers (kann sein das es später mehrere Zähler gibt)
select *, (b.max_Teile - b.vortag) as Differenz
from
(Select *,
LAG(max_Teile) over(PARTITION by zaehlerId Order by messzeitpunkt) AS vortag
from (
SELECT *, max(Teile)as max_Teile FROM monitoring.messungid0001
where zaehlerId = 1
GROUP by date( messzeitpunkt )
) a) b
Dieser Code erzeugt mir die täglich produzierten Teile. Nun habe ich das Problem, wenn an gewissen Tagen keine Produktion stattdindet oder Werte nicht in die Datenbank gespeichert werden und ich beim messzeitpunkt eine Lücke habe. Wird mir der letzte verfügbare Wert genommen und die Differenz gerechnet.
Wie kann ich die fehlenden Datumswerte simulieren, mit dem letzten Wert.
Am Ende möchte ich die Tagesproduktion, Wochenproduktion, Monats, Jahres und die letztjärige produktion anzeigen.
Ausserdem kann der Kunde in der Grafik einstellen wieviele Tage er sehen möchte. Diese werdem Ihm dann angezeigt inkl. der am Tag produzierten Teile.
Wie würded Ihr das machen?
Subject
Views
Written By
Posted
Differenzen zwischen zwei Daten
752
January 03, 2022 03:28PM
335
January 03, 2022 05:08PM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.