Comment masquer/exclure les identifiants en double, à l'exception du premier identifiant ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Bonjour les gens formidables,
Je suis nouveau sur JMP et j'ai besoin d'aide pour nettoyer l'ensemble de données.
J'ai plusieurs doublons dans mon ensemble de données, où une personne est admise plusieurs fois au cours d'une période donnée.
Je souhaite uniquement le premier épisode de l'individu, selon la date d'admission (m/j/aaaa)
Par exemple,
Répondant avec un numéro d'identification ABC11 est apparu deux fois dans mon ensemble de données. L'intimé a été admis au traitement à 7.14.2013 puis réadmis dans 8 .25.2014.Je souhaite conserver uniquement les informations de ABC11 dans 7.14.2013 )
Grâce aux discussions précédentes, j'ai compris comment retirer les doublons rejoindre la table , faire correspondre les colonnes, et supprimer les doublons. De cette façon, je crée un nouveau fichier de données avec un échantillon de client unique (n = 4 000) sans les doublons du fichier d'origine avec un échantillon total admis (n = 6 000)
Cependant, maintenant je veux masquer/exclure ces doublons et les laisser dans le même fichier de données,
afin que je puisse comparer et contraster de manière flexible l'échantillon total admis (n = 6 000, avec des doublons) et l'échantillon de client unique (n = 4 000, sans doublons) lors d'une analyse ultérieure.
À moins que je doive exécuter une analyse séparément et combiner le résultat dans des rapports de données, cela semble compliqué.
Bénédictions,
Re : Comment masquer/exclure les identifiants en double, à l'exception du premier identifiant ?Chère Madame,
maintenant, la syntaxe ressemble à un langage pour moi mais Je suppose que j'ai encore un long chemin à parcourir
J'espère que tu passes une bonne journée
Re : Comment masquer/exclure les identifiants en double, à l'exception du premier identifiant ?Bien sûr, je vais essayer...
Rangée() est la ligne "actuelle".
Colonel Min ( Rangée () , : IDENTIFIANT ) renvoie le plus petit numéro de ligne pour chaque :ID
dt << sélectionner où (... ) parcourt toutes les lignes et sélectionne celles qui correspondent à la condition entre parenthèses.
Ici, la condition être testé est Colonel Min ( Rangée () , : IDENTIFIANT ) < Rangée () . Il évalue à Vrai pour chaque ligne dont le numéro de ligne est supérieur à la première ligne de chaque ID. Seule la première instance d'un ID, c'est-à-dire où Col Min(Row(), :ID) est égal à Row(), sera évaluée à false et ne sera donc pas sélectionnée.
<< masquer et exclure envoyer un message à la table de données pour masquer et exclure toutes les lignes sélectionnées.
J'ai appris JSL en lisant le Scripting Guide (livre PDF), interagir avec les utilisateurs sur ce forum et faire beaucoup d'essais et d'erreurs.
Également Index des scripts (un excellent Ressource dans le menu Aide) a été indispensable pour rechercher la syntaxe en déplacement.
Mais je pense que le plus important pour ma courbe d’apprentissage JSL a été ma longue expérience de JMP. Sans connaître JMP, JSL n'aurait pas eu beaucoup de sens pour moi.
Re : Comment masquer/exclure les identifiants en double, à l'exception du premier identifiant ?Merci beaucoup, ça a fonctionné !
Si vous avez le temps, voudriez-vous développer la signification de ce script ?
Ou où puis-je trouver un moyen d'apprendre à utiliser JSL ?
Re : Comment masquer/exclure les identifiants en double, à l'exception du premier identifiant ?Désolé, j'ai été trop rapide pour répondre. La colonne Date ne doit pas être une variable de regroupement dans ce cas.
Triez par date et essayez ceci :
dt << sélectionner où ( Colonel Min ( Rangée () , : IDENTIFIANT ) < Rangée ()) << masquer et exclure ;
Re : Comment masquer/exclure les identifiants en double, à l'exception du premier identifiant ?Bonjour merci pour votre réponse,
J'ai copié et collé le JSL dans mon script mais pour une raison quelconque, cela n'a pas fonctionné.
Plus précisément, cela n’a fonctionné que pour quelques-uns, mais pas pour tous.

Cela n'a pas fonctionné pour ceux-là.

Comme vous pouvez le voir (désolé pour la mauvaise résolution), nous avons au total trois ID AL2063098, et je voulais que les lignes 333 et 334 soient supprimées, mais seule la ligne 334 a été exclue/masquée.
Vous trouverez ci-dessous le JSL que j'ai utilisé.
// Exclure tous les multiples sauf la première ligne (trier par date pour obtenir le plus ancien...)
dt = Tableau de données actuel () ;
dt << sélectionner où ( Colonel Min ( Rangée () , : IDENTIFIANT , : Date ) < Rangée ()) << masquer et exclure ;
Re : Comment masquer/exclure les identifiants en double, à l'exception du premier identifiant ?Avec JSL :
// Exclure tous les multiples sauf la première ligne (trier par date pour obtenir le plus ancien...)
dt = Tableau de données actuel () ;
dt << sélectionner où ( Colonel Min ( Rangée () , : Intimé , : Date ) < Rangée ()) << masquer et exclure ;
Même approche avec la formule de colonne :
dt << nouvelle colonne ( "exclure" , État de la ligne , Formule ( État exclu ( Colonel Min ( Rangée () , : Intimé , : Date ) < Rangée ())))