Wie erstelle ich eine Formelspalte mit benutzerdefinierten Daten / Schichten?Ich arbeite an einer Analyse im Zusammenhang mit der Schichtstruktur. Wir arbeiten 12 Stunden pro Schicht. Das heißt, wir arbeiten von 7 bis 19 Uhr (Tagesschicht, D) und von 19 bis 7 Uhr (Nachtschicht, N).
Derzeit habe ich ein Formelspalten-Skript wie folgt:
"WW" || Char (Week of Year (:date)) || "." || Char (Day of week (:date) - 1) ||
If (Hour (:date) <= 19 & Hour(:date) >= 7, "D", "N")
Scheint, als würde es nicht so funktionieren, wie ich es von bcs erwartet hatte. Es wurde auf einen neuen Tag geändert, wenn die Zeit 12 Uhr erreichte.
Zum Beispiel:
Das Skript konvertiert den 01.12.2020, 05:49:47 Uhr in WW49.2N. Es sollte WW49.1N sein. WW49.2D beginnt, wenn Datum und Uhrzeit der 01.12.2020, 7:00:00 Uhr ist. Dies liegt daran, dass die Zeit für die Nachtschicht von 19:00 bis 07:00 Uhr ist. Kann jemand eine alternative Methode zum Erstellen des Skripts vorschlagen oder empfehlen?
AnalytikDatentabelleAndereSkriptingBetreff: Wie erstelle ich eine Formelspalte mit benutzerdefinierten Daten / Schichten?Ich denke, der beste Weg, dies zu handhaben, besteht darin, die Datums- und Uhrzeitwerte zu korrigieren, indem 7 Stunden abgezogen werden, wodurch die Schichten mit den Tageswerten übereinstimmen
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( Hour( correctedDate ) >= 0 & Hour( correctedDate ) <= 12,
"D",
"N"
);
Betreff: Wie erstelle ich eine Formelspalte mit benutzerdefinierten Daten / Schichten?wollte nur bestätigen, wenn du sagst - In Stunden (7) bedeutet es Substrat 7 Stunden?
Betreff: Wie erstelle ich eine Formelspalte mit benutzerdefinierten Daten / Verschiebungen?Es werden 25200 Sekunden vom angegebenen Wert für die Spalte Datum für die aktuelle Zeile abgezogen.
25200 = 60 Sekunden pro Minute x 60 Minuten pro Stunde x 7 Stunden
Außerdem habe ich einen kleinen Fehler in meiner Formel gemacht.Der If () - Vergleich sollte einen "<" Vergleich für das zweite Element haben, nicht "<="
correctedDate = :date - In Hours( 7 );
"WW" || Char( Week Of Year( correctedDate ) ) || "." || Char( Day Of Week( correctedDate ) - 1 ) ||
If( Hour( correctedDate ) >= 0 & Hour( correctedDate ) < 12,
"D",
"N"
);