Aider! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesSalut! J'ai deux listes de dates pour un projet, l'une est les dates de maintenance et l'autre les dates de production. J'essaie de comprendre pour chaque date de production, combien de temps s'est-il écoulé depuis la dernière date de maintenance. Les dates de maintenance seront bien moins fréquentes que les dates de production, évidemment, mais il y en a beaucoup donc il serait beaucoup plus facile d'avoir une formule pour calculer ce delta. Quelqu'un a des suggestions?
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesOui! Je pense que cela fonctionnera ! Il me faudra un peu de temps pour comprendre comment y mettre mes tables (je suis un noob total chez jmp
) mais le principe semble juste. Merci!
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesVoici 2 tables de données sans clés qui font une différence de date.Est-ce ce que vous recherchez?
Names Default To Here( 1 );
// Create some sample date data tables
dtProd = New Table( "Production Data",
Add Rows( 15 ),
New Column( "Production Date",
Numeric,
"None",
Format( "ddMonyyyy", 12 ),
Input Format( "ddMonyyyy" ),
Set Values(
[3461875200, 3469737600, 3485462400, 3506630400, 3509049600, 3530217600, 3545942400, 3567110400, 3590697600,
3606422400, 3614284800, 3651177600, 3659040000, 3666902400, 3688070400]
)
)
);
dtMaint = New Table( "Maintenance Data",
Add Rows( 4 ),
New Column( "Maintain Date",
Numeric,
"Continuous",
Format( "ddMonyyyy", 12 ),
Input Format( "ddMonyyyy" ),
Set Values( [3444163200, 3528316800, 3603744000, 3689539200] )
)
);
// Create a new column in the Production Data table
dtProd << New Column( "Days since maintenance", Format( "Fixed Dec", 8,0 ) );
// Populate the new column by finding the most recent value of the Maintain Date
// that is less than the current Production Date, and then find the Difference
// in days
For( i = 1, i <= N Rows( dtProd ), i++,
selectionMatrix = dtMaint << get rows where( dtMaint:Maintain Date <= dtProd:Production Date[i] );
dtProd:Days since maintenance[i] = Date Difference(
Max( dtMaint:Maintain Date[selectionMatrix] ),dtProd:Production Date[i], "Day");
);
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesJe ne peux pas vraiment joindre les données car c'est IP... Mais les deux ensembles de données se trouvent dans des tables JMP.
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesSalut kevin_c_anderso ! Mon problème n'est pas nécessairement de trouver la différence entre les dates, mais plutôt que j'ai deux listes de dates qui ne sont pas liées l'une à l'autre, et pour une liste j'ai besoin du temps écoulé depuis l'événement le plus proche/le plus récent de l'autre liste. La liste A a plus d'entrées que la liste B, et il n'y a aucune colonne dans l'une ou l'autre liste qui ait quoi que ce soit que je puisse utiliser pour les joindre. Je veux juste comprendre pour chaque élément de la liste A, quel est l'événement le plus récent de la liste B, puis je peux calculer le temps qui s'est écoulé entre eux. Cela a-t-il du sens?
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesAvez-vous vos données dans des listes JMP ou dans des tableaux de données JMP ?Pouvez-vous joindre des exemples de vos données à la discussion ?
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesHum je n'arrive pas à le faire fonctionner... C'est peut-être parce que les listes sont générées indépendamment et n'ont rien à voir les unes avec les autres (pour autant que JMP puisse le dire). Permettez-moi de reformuler ma question : j'ai 1 liste avec le lot de production, la date/l'heure de la production, l'équipement de production. Dans une liste séparée, j'ai l'équipement des installations (pas la même chose que l'équipement de production), l'événement de maintenance des installations, la date/heure de la maintenance des installations. Ce sont deux listes distinctes, je n'ai aucun moyen de les rejoindre (aucune clé ne peut être générée qui fonctionnerait), mais je veux déterminer pour chaque date/heure de production quelle était la date/heure de maintenance des installations la plus récente ( et je suppose que l'événement de maintenance des installations, bien que ce ne soient que des événements "on/off"). Cela a-t-il du sens?
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesSi vous avez 2 listes de dates, une appelée Prod (dates de production) et une appelée Maint (dates de maintenance), vous pouvez utiliser ce qui suit pour obtenir la dernière date de maintenance.Ensuite, en utilisant une fonction Date Difference(), vous pouvez trouver la différence en jours
Remarque : La liste/matrice de maintenance doit être en ordre croissant.
names default to here(1);
maint={.............};
prod={..............................};
For(i=1,i<=N Rows(prod),i++,
LastMaintDate=loc sorted(matrix(maint),matrix(prod[i]));
DaysDifference = Date Difference(prod,LastMaintDate,"Day");
);
Re : A l'aide ! Essayer de calculer les décalages horaires en utilisant deux listes de dates différentesSalut Winslow !
JMP garde une trace des dates et heures en nombre de secondes depuis minuit, le 1er janvier 1904.Par exemple, en ce moment, c'est 3599388994. Cela rend incroyablement facile le suivi des différences de temps... cela nécessite juste un peu d'arithmétique et un peu de formatage.Les formats JMP prennent en charge un tas (14?) Formats de date ISO différents, et vous pouvez même analyser n'importe quel format de date non pris en charge dans un format JMP avec une formule ou un script.
Vous aurez peut-être plus de difficulté à assembler vos deux listes afin de pouvoir effectuer correctement toutes les opérations arithmétiques.Répondez si vous avez besoin d'aide ou si vous avez des questions.