Calcul de la durée entre deux dates d'années différentes<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'utilise des scripts JSL pour exécuter un de mes rapports permettant de calculer la durée entre deux dates. Mon rapport a une date de début dans la colonne « A » et une date de fin dans la colonne « E ». Je souhaite calculer les éléments suivants :
1. Durée entre ces deux jours hors week-end
2, Durée entre ces deux jours, la date de début est le 31/10/2012 et la date de fin est le 20/02/2013, et lorsque j'ai utilisé le forum "Formula(Day(:E - :A) )", j'obtiens une valeur de 10, au lieu de quelque chose de plus gros. La date de début est en 2012 et la date de fin est en 2013, dois-je donc apporter des modifications à mon script ? Les autres durées qui tombent dans la même année sont calculées correctement en utilisant la même formule... mais les dates qui tombent dans des années différentes ne sont pas calculées avec précision.
quelqu'un peut-il m'aider avec les deux questions ?
merci,
Re : Calculer la durée entre deux dates d'années différentesOui, ça a fonctionné..merci beaucoup !!
Re : Calculer la durée entre deux dates d'années différentesOk, je pense que je comprends le problème. JMP ne suit apparemment pas la norme ISO 8601 (c'est-à-dire que le premier jour de la semaine est le lundi), mais la tradition américaine de célébrer le dimanche comme premier jour de la semaine. Cela explique parfaitement vos résultats ci-dessus car ma formule suppose le premier. Cependant, il est trivial d'adapter la formule pour en tenir compte (ou de toute autre définition locale du jour de la semaine ou des jours considérés comme appartenant au week-end).
Essayez par exemple ceci :
Essayer ( Somme ( 1 < Jour de la semaine ( Indice ( : UN , : E , 86400 ) ) <= 6 ) - 1 )
Vous trouverez ci-dessous le résultat de mon test et cela semble fonctionner. Le "comptoir" s'arrête le week-end (samedi-dim là où j'habite). Supprimez le -1 si vous entendez par "durée entre deux dates" inclure la durée totale des dates de début et de fin. (Ici A = aujourd'hui, E = jours futurs)
| UN | E | Jour de la semaine | Jours de travail |
| 2013-04-05 | 2013-04-05 | Vendredi | 0 |
| 2013-04-05 | 2013-04-06 | Samedi | 0 |
| 2013-04-05 | 2013-04-07 | Dimanche | 0 |
| 2013-04-05 | 2013-04-08 | Lundi | 1 |
| 2013-04-05 | 2013-04-09 | Mardi | 2 |
| 2013-04-05 | 2013-04-10 | Mercredi | 3 |
| 2013-04-05 | 2013-04-11 | Jeudi | 4 |
| 2013-04-05 | 2013-04-12 | Vendredi | 5 |
| 2013-04-05 | 2013-04-13 | Samedi | 5 |
| 2013-04-05 | 2013-04-14 | Dimanche | 5 |
| 2013-04-05 | 2013-04-15 | Lundi | 6 |
| 2013-04-05 | 2013-04-16 | Mardi | 7 |
| 2013-04-05 | 2013-04-17 | Mercredi | 8 |
| 2013-04-05 | 2013-04-18 | Jeudi | 9 |
| 2013-04-05 | 2013-04-19 | Vendredi | dix |
| 2013-04-05 | 2013-04-20 | Samedi | dix |
| 2013-04-05 | 2014-04-21 | Lundi | 271 |
| 2013-04-05 | 2015-04-22 | Mercredi | 533 |
Re : Calculer la durée entre deux dates d'années différentesLes données sont au format numérique continu, date..et je souhaite calculer le nombre de jours de la semaine à l'exclusion des week-ends.. exemples de données : -
| Date de début prévue | Date d'achèvement de la nouvelle tâche |
| 1/3/2013 | 1/3/2013 |
| 1/3/2013 | 04/01/2013 |
| 08/01/2013 | 08/01/2013 |
| 08/01/2013 | 08/01/2013 |
| 09/01/2013 | 09/01/2013 |
| 09/01/2013 | 09/01/2013 |
| 09/01/2013 | 11/01/2013 |
| 09/01/2013 | 09/01/2013 |
| 09/01/2013 | 10/01/2013 |
| 09/01/2013 | 09/01/2013 |
| 10/01/2013 | 11/01/2013 |
| 10/01/2013 | 11/01/2013 |
Re : Calculer la durée entre deux dates d'années différentesJ'ai essayé votre formule..elle fonctionne pour quelques cellules..voir mes données ci-dessous..en utilisant votre formule..les lignes 1 et 2 se contredisent..
| Date de début prévue | Date d'achèvement de la nouvelle tâche | MS |
| 1/3/2013 | 1/3/2013 | 0 |
| 1/3/2013 | 04/01/2013 | 0 |
| 08/01/2013 | 08/01/2013 | 0 |
| 08/01/2013 | 08/01/2013 | 0 |
| 09/01/2013 | 09/01/2013 | 0 |
| 09/01/2013 | 09/01/2013 | 0 |
| 09/01/2013 | 11/01/2013 | 1 |
| 09/01/2013 | 09/01/2013 | 0 |
| 09/01/2013 | 10/01/2013 | 1 |
| 09/01/2013 | 09/01/2013 | 0 |
| 10/01/2013 | 11/01/2013 | 0 |
| 10/01/2013 | 11/01/2013 | 0 |
| 1/2/2013 | 1/2/2013 | 0 |
| 1/2/2013 | 08/01/2013 | 4 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 07/01/2013 | 1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 08/01/2013 | 2 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 07/01/2013 | 1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 08/01/2013 | 2 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 07/01/2013 | 1 |
| 07/01/2013 | 08/01/2013 | 1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 09/01/2013 | 2 |
| 10/01/2013 | 10/01/2013 | 0 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 08/01/2013 | 1 |
| 08/01/2013 | 09/01/2013 | 1 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 08/01/2013 | 1 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 07/01/2013 | 0 |
| 07/01/2013 | 08/01/2013 | 1 |
| 08/01/2013 | 08/01/2013 | 0 |
| 08/01/2013 | 08/01/2013 | 0 |
| 08/01/2013 | 09/01/2013 | 1 |
| 09/01/2013 | 16/01/2013 | 5 |
| 16/01/2013 | 22/01/2013 | 4 |
| 08/01/2013 | 08/01/2013 | 0 |
| 08/01/2013 | 08/01/2013 | 0 |
| 09/01/2013 | 09/01/2013 | 0 |
| 09/01/2013 | 10/01/2013 | 1 |
| 10/01/2013 | 10/01/2013 | 0 |
| 15/01/2013 | 15/01/2013 | 0 |
| 15/01/2013 | 16/01/2013 | 1 |
| 15/01/2013 | 16/01/2013 | 1 |
| 18/01/2013 | 19/02/2013 | 22 |
| 19/02/2013 | 19/02/2013 | 0 |
| 15/01/2013 | 15/01/2013 | 0 |
| 15/01/2013 | 16/01/2013 | 1 |
| 16/01/2013 | 18/01/2013 | 1 |
| 15/01/2013 | 15/01/2013 | 0 |
| 15/01/2013 | 16/01/2013 | 1 |
| 16/01/2013 | 18/01/2013 | 1 |
| 09/01/2013 | 09/01/2013 | 0 |
| 09/01/2013 | 09/01/2013 | 0 |
| 09/01/2013 | 10/01/2013 | 1 |
| 10/01/2013 | 10/01/2013 | 0 |
| 10/01/2013 | 10/01/2013 | 0 |
| 10/01/2013 | 10/01/2013 | 0 |
| 10/01/2013 | 10/01/2013 | 0 |
| 10/01/2013 | 10/01/2013 | 0 |
| 10/01/2013 | 11/01/2013 | 0 |
| 10/01/2013 | 10/01/2013 | 0 |
| 16/01/2013 | 29/01/2013 | 9 |
| 16/01/2013 | 29/01/2013 | 9 |
| 29/01/2013 | 01/02/2013 | 2 |
| 11/01/2013 | 11/01/2013 | -1 |
| 11/01/2013 | 11/01/2013 | -1 |
| 11/01/2013 | 11/01/2013 | -1 |
| 11/01/2013 | 14/01/2013 | 1 |
Re : Calculer la durée entre deux dates d'années différentesAvez-vous déjà essayé la formule de ma réponse ? C'était censé exclure les jours de la semaine et cela fonctionne pour moi si les colonnes sont au format date (pas de chaînes).
Re : Calculer la durée entre deux dates d'années différentesCeci revient à calculer la même chose que l'utilisation de la différence de date..mais cela inclut également les week-ends..existe-t-il un moyen de calculer UNIQUEMENT les jours de la semaine ?
Re : Calculer la durée entre deux dates d'années différentesCela fonctionne, mais je ne veux pas inclure les week-ends dans mon calcul. Existe-t-il un moyen de calculer uniquement les jours de semaine ?
Re : Calculer la durée entre deux dates d'années différentesSi vos colonnes de date de début et de fin sont au format Continu, Numérique, Date ; alors la formule pour la durée entre les deux colonnes en jours pourrait être quelque chose comme : Date Difference(:Start Date, :End Date, "day")
Si vos colonnes de date contiennent des caractères, vous pouvez analyser le texte comme PMroz l'a fait ci-dessus avec :
Différence de dates (
informat(:Date de début, "m/j/a"),
informat(:Date de fin, "m/j/a"),
"jour")
Re : Calculer la durée entre deux dates d'années différentesCela vous donnera le temps écoulé en jours.
Tout d’abord, ajoutez une nouvelle variable/colonne numérique.
Dans la fenêtre de l'éditeur de formule, sélectionnez la première date, cliquez sur soustraire, sélectionnez la deuxième date, puis divisez par, sélectionnez la fonction Date Heure, en jours, mettez un 1 entre parenthèses, cliquez sur Appliquer.
(:diagnosis_date - :dob_date) / En jours( 1 )
Re : Calculer la durée entre deux dates d'années différentesQue diriez-vous d'utiliser les informations sur la colonne et de spécifier les colonnes Date de début et Date de fin avec Type de données = Numérique, Type de modélisation = Continue, Format=Date=m/d/y, Format d'entrée=Date=m/d/y. Ajoutez ensuite une colonne supplémentaire et, à l'aide de la formule de colonne, spécifiez Date de fin-Date de début et choisissez également Format Durée : jour: heures: min.
Re : Calculer la durée entre deux dates d'années différentespouvez-vous le rendre plus général ? Je vais expliquer clairement mes données. J'ai une colonne "Date de début" au format Date (mm/jj/aaaa) et une autre colonne "Date de fin" au format mm/jj/aaaa. Je souhaite soustraire la date de début de la date de fin, ma date est
Date de début Date de fin
31/10/2012 31/03/2013
15/09/2012 13/02/2013
15/08/2012 29/01/2013
Maintenant, je veux soustraire la date de fin - la date de début pour obtenir la valeur en jours
puisque la date de début est en 2012 et les dates de fin sont en 2013, je n'obtiens pas la valeur correcte si je dis simplement : Date de fin - : Date de début
Re : Calculer la durée entre deux dates d'années différentes1. Cette formule de colonne doit donner le nombre de jours ouvrés entre les deux jours :
Essayer ( Somme ( Jour de la semaine ( Indice ( : UN , : E , 86400 ) ) < 6 ) - 1 )
Collez-le dans l'éditeur de formule. Le Try() n'est nécessaire que si vous avez des cellules vides dans la colonne de date. Le -1 est là pour exclure la date de début (ou de fin) de la somme. 86400 est le nombre de secondes dans 24 heures.
2. La formule de colonne équivalente à la suggestion PMroz serait :
( : E - : UN ) / 86400
Re : Calculer la durée entre deux dates d'années différentesPouvez-vous fournir plus d'informations?Quel est le type de données et le format des colonnes A et E ?De plus, lorsque vous soustrayez des dates, vous obtenez le nombre de secondes qui les séparent.Voici un exemple simple qui calcule la différence de date en jours :
Un rendez-vous = informer ( "31/10/2012" , "m/j/a" ) ;
date = informer ( "20/02/2013" , "m/j/a" ) ;
cdate = ( date - Un rendez-vous ) / 3600 / 24 ;
Cela se traduit par
112