Comment supprimer les enregistrements dupliqués \ observations SANS trier dans SAS?
Je me demande si il existe un moyen de unduplicate enregistrements SANS tri?Parfois, je veux garder l'ordre original, et je veux juste supprimer des enregistrements dupliqués.
Est-il possible?
BTW, ci-dessous sont ce que je sais concernant unduplicating dossiers, qui ne tri à la fin..
1.
proc sql;
create table yourdata_nodupe as
select distinct *
From abc;
quit;
2.
proc sort data=YOURDATA nodupkey;
by var1 var2 var3 var4 var5;
run;
source d'informationauteur mj023119
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une table de hachage de l'objet à garder une trace des valeurs ont été vu que vous passez à travers l'ensemble de données. Sortie seulement lorsque vous rencontrez une clé qui n'a pas été encore observés. Ce sorties dans l'ordre les données ont été observés dans l'ensemble de données d'entrée.
Voici un exemple d'utilisation de l'ensemble de données d'entrée "sashelp.les voitures". Les données originales ont été dans l'ordre alphabétique par Faire ce que vous pouvez voir que la sortie de l'ensemble de données "nodupes", soutient la même ordonnance.
Je pense que la réponse courte est non, il n'y a pas, au moins pas d'une manière qui n'aurait pas beaucoup plus de performances qu'une méthode basée sur le tri.
Il peut y avoir des cas spécifiques, lorsque cela est possible (un jeu de données où toutes les variables sont indexés? Un relativement petit, le jeu de données que vous pourriez raisonnablement charger en mémoire et de travailler avec?) mais ce ne serait pas vous aider avec une méthode générale.
Quelque chose le long des lignes de Chris J la solution est probablement la meilleure façon d'obtenir les résultats que vous êtes après, mais ce n'est pas la réponse à votre question.
En fonction du nombre de variables dans votre ensemble de données, les éléments suivants pourraient être pratique:
C'est le moyen le plus rapide je pense. Il ne nécessite pas de tri.
Veuillez vous référer à Note d'Utilisation 37581: Comment puis-je éliminer le double des observations à partir d'un grand ensemble de données, sans trihttp://support.sas.com/kb/37/581.html . Note d'utilisation 37581 montre comment PROC RÉSUMÉ peut être utilisé plus efficacement supprimer les doublons sans l'utilisation de tri.
Les deux exemples donnés dans le post original ne sont pas identiques.
Si vous cherchez seulement pour les enregistrements ayant des variables clés, une autre solution, je pense, serait de créer un jeu de données avec seulement la variable clé(s) et trouver celui qui sont des doublons, puis appliquer un format aux données d'origine drapeau des enregistrements en double. Si plus d'une variable clé est présente dans le jeu de données, il serait nécessaire de créer une nouvelle variable contenant la concaténation de toutes les principales valeurs de la variable converti en caractère si nécessaire.
Ce ne sera pas trier les données, mais permettra de supprimer les doublons à l'intérieur de chaque groupe.