Comment créer une colonne de formules avec des dates / équipes personnalisées?Je travaille sur une analyse liée à la structure des quarts de travail. Nous opérons 12 heures par quart de travail. Cela signifie que nous travaillons de 7h à 19h (équipe de jour, J) et de 19h à 7h (équipe de nuit, N).
Actuellement, j'ai un script de colonne de formule comme suit:
"WW" || Char (Week of Year (:date)) || "." || Char (Day of week (:date) - 1) ||
If (Hour (:date) <= 19 & Hour(:date) >= 7, "D", "N")
On dirait que cela ne fonctionne pas comme je m'attendais à bcs basé sur ce script, il a changé en nouveau jour chaque fois que l'heure atteignait 12h.
Par exemple:
Le script convertira 12/01/2020 5:49:47 AM en WW49.2N. Ce devrait être WW49.1N. WW49.2D commence lorsque la date et l'heure sont 12/01/2020 7:00:00 AM Ceci est dû au fait que l'heure du quart de nuit est de 19 h 00 à 7 h 00. Quelqu'un peut-il suggérer ou conseiller une autre façon de créer le script?
AnalytiqueTableau de donnéesAutreScriptingRe: Comment créer une colonne de formules avec des dates / équipes personnalisées?Je pense que la meilleure façon de gérer cela est de faire une correction sur les valeurs de la date et de l'heure en soustrayant 7 heures, ce qui aligne les décalages avec les valeurs du jour
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"
);
Re: Comment créer une colonne de formules avec des dates / équipes personnalisées?je voulais juste confirmer, quand tu dis - En heures (7) cela signifie substrat 7 heures?
Re: Comment créer une colonne de formules avec des dates / équipes personnalisées?Il soustrait 25 200 secondes de la valeur spécifiée pour la colonne Date de la ligne actuelle.
25200 = 60 secondes par minute X 60 minutes par heure X 7 heures
De plus, j'ai fait une légère erreur dans ma formule.La comparaison If () doit avoir une comparaison "<" pour le deuxième élément, et non "<="
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"
);