Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hallo Zusammen,
ich hätte da noch eine Frage an euch, und zwar habe ich ein Feld 'Zeit' (z. B. 10.04.2017 11:45:20) und Formatiere dieses in eine reine Zeit um damit dann weiter zu arbeiten, mit folgender Formel (im Script):
time(Zeit, 'hh:mm') as %_Zeit;
und erhalte dann die Uhrzeit: 11:45.
Diese möchte ich jetzt eigentlich in Früh, Spät und Nachtschicht einteilen, welches ich zuerst mal in zwei Bereiche versucht habe einzuteilen, da es in 3 noch nicht klappt. Und zwar mit folgendem Code im Script, in einem vorangehendem Load:
LOAD
*,
if(%_Zeit > '08:31' , 'F' , 'x') as Schicht;
Wenn dieses dann vom Prinzip her klappt, dachte ich an etwa folgendes für 3 Bereiche:
LOAD
*,
if(%_Zeit > '08:31' and %_Zeit < '13:30', 'F' ,
if(%_Zeit < '13:31' and %_Zeit < '21:30', 'S','N')) as Schicht;
Wo habe ich einen Fehler oder warum klappt es nicht, denn es bringt bei dem ersten Versuch immer komplett F oder komplett x, obwohl ich Zeiten von 6:00, 7:00 und auch 9:00, 10:00 usw. hab.
Freue mich über jede Hilfe oder Tipp wie ich es noch versuchen könnte.
Gruß Merry
Hab es nun hinbekommen, indem ich die Umwandlung mit eine Punkt "." statt Doppelpunkt ":" gemacht habe, also folgend:
time(Zeit, 'hh.mm') as %_Zeit;
und dann auch in der Abfrage dieses ausgetauscht und nun funktioniert es.
Trotzdem Danke der Hilfe.
Hi Mer ry,
Try,
LOAD
*,
if(%_Zeit > '08:31' and %_Zeit < '13:30', 'F' ,
if(%_Zeit > '13:31' and %_Zeit < '21:30', 'S','N')) as Schicht;
Nein leider ergibt es immer 'N'.
Könnten Sie eine Beispieldatei anhängen?
Um die Uhrzeit von einem Datum/Zeit-Wert abzutrennen, muss die Frac-Funktion benutzt werden:
time(Frac(Zeit), 'hh:mm') as %_Zeit
Time() formatiert nur den Text eines Wertes, entfernt aber nicht das Datum aus dem zugrundeliegenden numerischen Wert. Das hätte allerdings auch bei dem Skript mit zwei Werten zu Problemen führen sollen.
edit: deutsch-sprachiche Anfragen bitte in der deutschen Gruppe stellen
Hab es nun hinbekommen, indem ich die Umwandlung mit eine Punkt "." statt Doppelpunkt ":" gemacht habe, also folgend:
time(Zeit, 'hh.mm') as %_Zeit;
und dann auch in der Abfrage dieses ausgetauscht und nun funktioniert es.
Trotzdem Danke der Hilfe.
Ich bin mir nicht sicher, wie es funktioniert. Wie auch immer du sagst, es funktioniert so gut. Einen schönen Tag noch!
Ja das klappt so jetzt auch, Danke.
Bei den zwei Werten hatte es ja genauso wenig funktioniert, ich hatte dies nur als ersten Schritt versucht um andere Fehler in der Bedingungs-Bildung auszuschließen.
Danke für den Hinweis, ich wusste nicht das dieses hier eine Englische gruppe ist.