Comment joindre deux tables de données sans perdre de données ?J'essaie de joindre deux tables. J'utilise trois colonnes source communes comme correspondances. Lorsque je reçois la nouvelle table de sortie, il manque des données. J'ai sélectionné "Fusionner les colonnes de même nom" et "Inclure les non-correspondances" avant de créer le nouveau tableau. Les trois colonnes source semblent être des correspondances exactes dans les lignes qui ont des données manquantes. Qu'est-ce qui me ferait perdre des données lors de la création de la nouvelle table ? Je ne fais pas de script et je préférerais une explication interactive faisant référence aux éléments de menu et aux fenêtres de l'interface graphique.
Merci pour tout conseil.
Re : Comment joindre deux tables de données sans perdre de données ?Merci pour toute l'aide sur ce tout le monde!
Re : Comment joindre deux tables de données sans perdre de données ?RECODE est votre ami ici. Coupez les espaces blancs en un rien de temps via le menu triangle rouge.
Cols > Recode ou Cols > Utilities > Recode selon votre version de JMP
Re : Comment joindre deux tables de données sans perdre de données ?cela poserait clairement un problèmeRe : Comment joindre deux tables de données sans perdre de données ?La colonne Année est un entier, pas une date.
En examinant votre question sur CASEID, il semble qu'il s'agisse du type de données Character. Je vois maintenant que parfois le CASEID a un espace avant le numéro. Pensez-vous que c'est le problème? Je vais travailler sur la suppression des espaces vides pour voir si cela résout mes problèmes de jointure. Merci pour votre aide!
Re : Comment joindre deux tables de données sans perdre de données ?Je veux toujours me concentrer sur les valeurs. Votre colonne Année est-elle une valeur de date JMP, formatée pour afficher uniquement la partie année de la date, ou s'agit-il d'un nombre entier ?
Quelles sont les spécificités de la colonne CASEID. Il est affiché sous forme de colonne de caractères. Est-ce le cas ou s'agit-il d'une colonne numérique affichée au format hexadécimal ?
S'il s'agit d'un caractère, il peut y avoir des blancs ou des caractères non imprimables dans la chaîne qui pourraient être à l'origine des incompatibilités. Si vous utilisez l'indicateur de correspondance, il est assez facile de vérifier cela lorsque vous trouvez la ligne avec l'indicateur de correspondance de 1 et de la comparer à la ligne de la ligne de l'indicateur de correspondance 2 qui aurait dû correspondre avec elle.
Re : Comment joindre deux tables de données sans perdre de données ?
Ceci est une capture d'écran de la boîte de dialogue Rejoindre que j'ai essayé. Pour la capture d'écran précédente, j'ai choisi YEAR, PSU, CASEID pour sortir des deux tables d'origine en les sélectionnant pour les "Colonnes de sortie", que je n'ai pas montrées ici. J'ai également fait une sortie Match Flag dans le passé et cela montre qu'il obtient les données d'une seule table dans de nombreux cas (drapeaux 1 ou 2). Cela confirme qu'il n'y a pas de correspondance, mais je ne sais pas pourquoi il ne trouve pas de correspondance alors que les données se trouvent dans les deux tables d'origine.
Re : Comment joindre deux tables de données sans perdre de données ?Merci pour la capture d'écran. Très utile. Pouvez-vous également inclure une capture d'écran de la boîte de dialogue ou le texte du script "Source" joint ? Il y a peut-être un problème avec la spécification de correspondance.
Un autre diagnostic consiste à activer l'option Match Flag pour créer une nouvelle colonne dans la sortie qui indique si la ligne provient d'une table ou des deux.
Dans votre image, il semble que la première ligne de la table jointe corresponde uniquement à la table principale et non à la table With, ce qui entraîne l'attribution de valeurs manquantes aux champs de la table With.
Puisqu'il y a des colonnes "PSU de ..." présentes, il semble que l'option "Fusionner les colonnes de même nom" n'ait pas été définie.
Re : Comment joindre deux tables de données sans perdre de données ?
Voici la capture d'écran.
Re : Comment joindre deux tables de données sans perdre de données ?Merci pour l'idée Jim. J'ai spécifié "Include Non Matches" pour les deux tables. Les colonnes que j'utilise pour faire correspondre les tables ne contiennent pas de blancs, mais les données de leurs lignes en ont. Est-ce important? J'ai considéré cela en regardant quelles lignes avaient des données complètes et lesquelles avaient des données manquantes et je ne peux pas trier la logique en fonction des blancs.
Voici quelques informations supplémentaires sur mon problème. J'ai inclus une capture d'écran qui montre trois tableaux. En haut se trouve la table principale, puis la table With et enfin la table de sortie. La rangée supérieure de chaque table est pour le cas 2001-2-14F (YEAR-PSU-CASEID que j'utilise pour attribuer ma correspondance entre les tables). Ce cas existe dans les tables Main et With, mais n'est pas mis en correspondance pour la table de sortie et laisse la colonne 'EVENTS' vide. Des idées sur la raison pour laquelle cela ne fonctionne pas comme je m'y attends?
Merci!
Re : Comment joindre deux tables de données sans perdre de données ?Je reçois souvent cette question et d'autres questions de manipulation de table de la part de mes utilisateurs. À tel point que j'ai ajouté une page "Comment faire" à ce sujet sur mon site interne JMP Sharepoint. Voici quelques vidéos/liens utiles :
Fractionner des colonnes
Joindre des tables
Article de blog sur l'empilement
Colonnes empilables
Une chose que j'ai apprise : si la boîte de dialogue comporte une case à cocher pour "garder la boîte de dialogue ouverte", cochez-la - vous vous trompez probablement la première fois...
Re : Comment joindre deux tables de données sans perdre de données ?spécifiez-vous "Inclure les non-correspondances" pour la table principale et la table avec ?
De plus, parfois, les colonnes correspondantes peuvent avoir un problème lorsqu'il y a des blancs précédents dans les données.