Dépannage de jointure de tableJe rencontre fréquemment des problèmes lorsque je tente de joindre plusieurs tables de données et je ne suis pas sûr de ce qui me manque.
Le plus souvent, je cherche à rejoindre des tables en faisant correspondre une date. Parfois, cela ne fonctionne aucun problème, parfois j'ai beaucoup de mal et je dois essayer un grand nombre d'options différentes dans le dialogue de participation.
En règle générale, j'ai le tableau A avec des milliers de lignes enregistrant les données de la machine. Chaque ligne a un horodatage DateTime. Je crée une colonne Date à l'aide de la commande substr() sur les 10 premiers caractères de la chaîne DateTime, puis j'ai ma colonne date au format AAAA-MM-JJ. Chaque date peut être associée à des milliers de lignes individuelles.
Le tableau B est une liste de produits par jour.
J'essaie de joindre le tableau A au tableau B, de sorte que j'aie une étiquette de produit étiquetée sur chaque ligne individuelle du tableau A. (par exemple, si le tableau A contient 150 000 lignes représentant 100 jours de données, le tableau B contient 100 lignes de produits par date, le tableau C contient 150 000 lignes de données originales, avec une étiquette de produit tirée du tableau B.) Je l'ai fait avec succès plusieurs fois dans le passé, mais j'ai parfois rencontré des problèmes pour le reproduire, et je n'arrive pas à comprendre pourquoi.
Certaines choses que j'ai déjà essayées :
-Vérifiez que je n'essaie pas de faire correspondre les données AAAA-MM-JJ avec les données AAAA-MM-JJ H:M:S.
-Assurer que les formules utilisées pour extraire les données de date des colonnes DateTime correspondent exactement
-Copié les données de sortie de la colonne de date dans une nouvelle colonne sur les deux tables, puis faire correspondre cela pour éviter tout problème possible avec la formule
-Avoir essayé différents types de données/modélisation pour représenter la chaîne
Tout cela m'a donné des tables sans jointures réussies. Une idée de ce qui pourrait me manquer ici, ou des « conseils généraux sur les meilleures pratiques » pour les jointures de tables ? J'ai lu la documentation JMP et j'ai réussi à utiliser les jointures de tables dans le passé, mais je cherche à mieux comprendre ce qui peut se passer ici. Merci
Mélange et nettoyage des donnéesRe : Dépannage de jointure de tableToutes mes excuses pour ne pas avoir suivi ce fil au moment de la publication.
J'utilisais la commande SubStr pour extraire une date d'une chaîne datetime pour ma colonne de date. J'ai changé mes deux formules de colonne de date comme suit :
Abbrev Date( Num( :DateTime ), "YYYY-MM-DD" )
et cela a résolu mon problème. J'ai également déterminé que la fonction Update était probablement plus adaptée à mes besoins.
Re : Dépannage de jointure de tableLes données d'horodatage peuvent poser des problèmes car les valeurs peuvent contenir différentes heures au cours d'une journée donnée, mais si la formule utilisée pour afficher les données est un affichage « Date uniquement », avec le composant temporel n'étant pas affiché, l'utilisateur peut penser qu'il y a une correspondance, mais les valeurs numériques réelles sont différentes.
Si vous convertissez en chaîne de caractères, il est essentiel de s'assurer du format utilisé pour la conversion, comme vous le suggérez.L'autre élément que je trouve important est la possibilité de poursuivre ou de suivre des espaces vides.Donc, ce que je fais lors de la conversion en chaîne de caractères, c'est d'utiliser la fonction Trim() pour supprimer ces espaces vides potentiels.
Re : Dépannage de jointure de tableSalut,
Avez-vous un exemple de jointure où vous n'arrivez pas à obtenir le résultat souhaité ? Si tel est le cas, si vous joignez ce qui suit, je pense que nous aurons une meilleure idée de ce qui se passe exactement et comment vous conseiller :
- tableau A et tableau B (assainis, bien sûr, dans le cas où l'un ou l'autre contient des données sensibles). Celles-ci peuvent être partielles... pas besoin de télécharger des tableaux massifs.
- la (mauvaise) table C, avec son script "Source" intact
- au moins quelques lignes d'une table "C" réussie... au moins, à quoi ressemblerait la jointure réussie. Ou, à la place, une explication de ce qui ne va pas avec le tableau joint C (c'est-à-dire "la ligne 21 est incorrecte parce que..." ou "il devrait y avoir une ligne avec ces éléments, mais il n'y en a pas...")
Il existe de NOMBREUSES façons dont les jointures peuvent évoluer latéralement... cela nous aidera à comprendre votre cas particulier.
Acclamations,
Brady
Re : Dépannage de jointure de tableJe l'ai fait fonctionner en copiant et en collant chaque colonne Date dans Excel, puis en la recopiant et en la collant dans JMP pour les deux tables. Cependant, j'aimerais toujours comprendre ce qui se passe ici et qui cause ce problème.