Comment arrondir les dates à la hausse ou à la baisse?Bonjour,
Si j'ai plusieurs heures d'ouverture au format MMJJAAAA hh: mm et que je souhaite fixer l'une de ces dates qui se produisent entre 1 h et 3 h 59, pour «arrondir» à 4 h du matin.
En d'autres termes, si mon heure d'ouverture est le 10/09/2020 03h12, j'en ai besoin pour arrondir au 10/09/2020 04h00.
Inversement, j'ai Closetimes dans le même format et je voudrais fixer l'une de ces dates qui se produisent entre 1 h et 3 h 59 pour "arrondir" à 1 h du matin.
En d'autres termes, si mes heures de garde sont le 10/09/2020 03h12, j'en ai besoin pour arrondir au 10/09/2020 01h00.
J'utilise l'éditeur de formule dans JMP pour toutes mes formules, donc si je peux coller la solution dans l'éditeur de formule, ce serait super!
J'ai joint un exemple de tableau.
Merci pour votre aide.
Fiona
Tableau de donnéesRe: Comment arrondir les dates à la hausse ou à la baisse?Ce script illustre l'approche:
Names Default to Here( 1 );
date time = 09Oct2020:03:12;
rounded date time = date time - Modulo( date time, In Hours( 1 ) ) + In Hours( 1 );
formatted rounded date time = Format( rounded date time, "m/d/y h:m" );
Show( date time, formatted rounded date time );
La formule réelle peut être compressée dans cette expression, en supposant que vous souhaitiez une valeur numérique avec l'attribut de colonne Format souhaité:
Modulo( date time, In Hours( 1 ) ) + In Hours( 1 )
Notez que l'arrondi à l'heure la plus proche supprimerait simplement l'ajout d'une heure à la fin de l'expression.
Re: Comment arrondir les dates à la hausse ou à la baisse?Il existe très probablement un moyen plus propre / plus efficace de le faire, mais cela devrait fonctionner:
Heures d'ouverture arrondies:
If(In Hours(1) <= Time Of Day(:Opentime) < In Hours(4),
(:Opentime - Time Of Day(:Opentime)) + In Hours(4),
:Opentime
)
Même idée pour un temps de fermeture arrondi:
If(In Hours(1) <= Time Of Day(:Closetime) < In Hours(4),
(:Closetime - Time Of Day(:Closetime)) + In Hours(1),
:Closetime
)
Solution basée sur les formules «pré-faites» par JMP lorsque vous faites un clic droit sur le nom de la colonne sur la colonne de date pour Date et Moment de la journée :

Re: Comment arrondir les dates à la hausse ou à la baisse?Merci beaucoup.
Cela marche!!