La question suivante a été posée sur la page interne de la communauté d'utilisateurs JMP de P&G. Passage sur ce forum :
J'ai deux tables que je veux joindre en fonction des horodatages. Cependant, en raison de la source de données, ils n'ont pas les mêmes heures. La seule option dans JMP que je peux trouver est une correspondance exacte. Existe-t-il une option dans JMP pour utiliser une jointure la plus proche similaire à la façon dont pandas join ou Excel Vlookup fonctionne ?
La communauté d'utilisateurs P&G JMP a tenté de donner quelques réponses. Existe-t-il une meilleure solution que celle que nous avons essayé de recommander ?
Réponse 1:
Déposez les deux tables dans Excel en tant que feuilles séparées, ajoutez une colonne vlookup à la feuille 1 faisant référence à la feuille 2, puis retournez à JMP pour la jointure ? Je n'ai pas vu de fonction de correspondance la plus proche dans JMP, mais je serais intéressé si elle existe...
Réponse #2 :
Les définitions de "jointure la plus proche" sont incohérentes. Ma mémoire de RECHERCHEV (à moins qu'elle ne soit modifiée) est de prendre le temps X de la table de données X et de le faire correspondre avec le temps le plus proche Y de la table de données Y tel que X<=Y (ou est-ce Y<=X), qui peut parfois être un très long écart, surtout si les données sont collectées à intervalles irréguliers dans le tableau de données X ou le tableau de données Y. La possibilité d'intervalles irréguliers peut vraiment compliquer les jointures comme celle-ci.
Malheureusement, il n'existe pas d'approches rapides dans JMP, mais vous pouvez essayer plusieurs choses.
Une approche que j'ai déjà essayée consiste à ajuster une spline aux mesures critiques d'intérêt (avec X variable = temps), puis à enregistrer la formule de prédiction et à la transférer dans l'autre table. Si cela est fait correctement, cela interpole essentiellement les mesures critiques et les fait correspondre.
Une autre option consiste à effectuer une jointure complète (les horodatages ne correspondent pas), puis à créer une colonne de formule pour vérifier si l'heure dans la table de données X est manquante ; si c'est le cas, utilisez le temps du tableau de données Y, sinon utilisez le temps du tableau de données X. Triez ensuite sur cette nouvelle colonne de temps. Créez ensuite des formules sur chaque mesure critique d'intérêt. Dans ces formules, vérifiez si la mesure critique est manquante ou non. S'il ne manque pas, ramenez la mesure critique, et sinon, utilisez la fonction Lag (groupe de fonctions Row dans l'éditeur de formule) par rapport à ce que vous nommez cette nouvelle colonne de formule pour faire baisser l'observation d'une ligne vers le haut.
Réponse #3 :
Dans de nombreux cas, vous pouvez créer une correspondance la plus proche lorsque vous regroupez les deux horodatages de la même manière (par exemple, regroupez les données par secondes, 10 secondes, 1 minute...) avant de vous joindre. Cela fonctionne assez bien tant que les horodatages ne sont pas "trop différents" et que vous pouvez accepter une agrégation de données.
Le regroupement est une fonction de colonne dans JMP
Suivi du questionneur initial :
Merci pour les suggestions. Je ferai très probablement la jointure en dehors de JMP, puis je ferai une analyse après la combinaison.
Je ne sais pas combien d'autres rencontrent cela, mais cela pourrait être une suggestion à transmettre à JMP pour que cette fonctionnalité soit intégrée dans la boîte de dialogue de jointure au lieu d'étapes supplémentaires en dehors de celle-ci.
@mjoner , Il existe une solution de contournement avec les formules rapides à l'intérieur de l'option de clic droit sur les en-têtes de formule.Cela permettra d'arrondir la date et l'heure à la minute la plus proche, seconde cinq secondes.Je sais que ce n'est pas aussi pratique qu'une correspondance floue, mais c'est une autre option.Je m'assurerai que le développement sache