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 l'un de mes rapports qui peut 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 veux calculer ce qui suit :
1. Durée entre ces deux jours hors week-end
2, la 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é la formule "Formule(Jour(:E - :A))", j'obtiens une valeur de 10, au lieu de quelque chose de plus grand. 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 aider avec les deux questions?
Merci,
Re : Calcul de la durée entre deux dates d'années différentesOui ça a marché..merci beaucoup !!
Re : Calcul de la durée entre deux dates d'années différentesOk je pense avoir compris 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 le 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 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 )
Voici ma sortie de test et cela semble fonctionner. Le "comptoir" s'arrête le week-end (sam-dim là où j'habite). Supprimez le -1 si vous entendez par "durée entre deux dates" inclure la durée complète 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 | sept |
| 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 : Calcul de la durée entre deux dates d'années différentesLes données sont numériques continues, au format date..et je veux calculer le nombre de jours de 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 |
| 03/01/2013 | 03/01/2013 |
| 03/01/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 | 1/11/2013 |
| 09/01/2013 | 09/01/2013 |
| 09/01/2013 | 10/01/2013 |
| 09/01/2013 | 09/01/2013 |
| 10/01/2013 | 1/11/2013 |
| 10/01/2013 | 1/11/2013 |
Re : Calcul de la durée entre deux dates d'années différentesJ'ai essayé votre formule .. cela 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 | MME |
| 03/01/2013 | 03/01/2013 | 0 |
| 03/01/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 | 1/11/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 | 1/11/2013 | 0 |
| 10/01/2013 | 1/11/2013 | 0 |
| 02/01/2013 | 02/01/2013 | 0 |
| 02/01/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 | 1/7/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 | 1/7/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 | 1/7/2013 | 1 |
| 1/7/2013 | 08/01/2013 | 1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 04/01/2013 | 04/01/2013 | -1 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/2013 | 09/01/2013 | 2 |
| 10/01/2013 | 10/01/2013 | 0 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/2013 | 08/01/2013 | 1 |
| 08/01/2013 | 09/01/2013 | 1 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/2013 | 08/01/2013 | 1 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/2013 | 1/7/2013 | 0 |
| 1/7/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 | 1/11/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 |
| 1/11/2013 | 1/11/2013 | -1 |
| 1/11/2013 | 1/11/2013 | -1 |
| 1/11/2013 | 1/11/2013 | -1 |
| 1/11/2013 | 14/01/2013 | 1 |
Re : Calcul de la durée entre deux dates d'années différentesAvez-vous déjà essayé la formule dans ma réponse ? Il é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 : Calcul de la durée entre deux dates d'années différentesCela calcule 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 : Calcul de 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 : Calcul de 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 date(
informat(:Date de début, "m/j/a"),
informat(:Date de fin, "m/j/a"),
"journée")
Re : Calcul de 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 : Calcul de la durée entre deux dates d'années différentesQue diriez-vous d'utiliser les informations de colonne et de spécifier les colonnes de date de début et de date de fin avec le type de données = numérique, le type de modélisation = continu, le format = date = m/d/y, le 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, puis choisissez Format Durée :jour:h:min
Re : Calcul de la durée entre deux dates d'années différentespouvez-vous le rendre plus général? Je vais expliquer mes données clairement.. 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 veux 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 que 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 : Calcul de la durée entre deux dates d'années différentes1. Cette formule de colonne doit donner le nombre de jours ouvrables entre les deux jours :
Essayer ( Somme ( Jour de la semaine ( Indice ( : UN , : E , 86400 ) ) < 6 ) - 1 )
Collez-le dans l'éditeur de formules. 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 en 24 heures.
2. La formule de colonne équivalente à la suggestion PMroz serait :
( : E - : UN ) / 86400
Re : Calcul de la durée entre deux dates d'années différentesPouvez-vous fournir plus d'informations ?Quels sont 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" ) ;
dater = informer ( "20/02/2013" , "m/j/a" ) ;
cdate = ( dater - Un rendez-vous ) / 3600 / 24 ;
Cela se traduit par
112