|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Charles Mercier Inscription : janvier 2010 Messages : 18 ![]() |
Bonjour,
Malgré de nombreux sujets sur les doublons dans le forum, je n'ai pas trouvé de réponse à ma question précise. En fait, j'ai des observations et j'aimerais créer une table où il y a tous les doublons selon certaines variables, c'est-à-dire même les "originaux". Je connais l'option nodupkey de la proc sort ; malheureusement, cela me permet uniquement d'avoir les doublons, mais pas les originaux. Quelqu'un pourrait-il m'aider ? Merci ! |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Bonjour Carl,
La table avant suppression contient les originaux ainsi que les doublons. Je ne comprends pas ta question. |
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour Charles.
Tu peux recourir à une étape DATA en ayant trié au préalable. Le tri fait par SAS génère des marqueurs de blocs d'observations qui sont accessibles dans l'étape DATA : FIRST si c'est la 1e observation d'un bloc de valeurs semblables, et LAST si c'est la dernière observation du bloc. Un doublon, c'est une ligne qui n'est pas à la fois la 1e et la dernière observation d'un bloc. Code :
Olivier |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Si je comprends, tu veux sortir toutes les observations dont la valeur d'une variable clef est présente au moins deux fois dans le jeu de données. c'est très simple en sql car on peut directement compter le nombre de fois qu'est présente une modalité(sans traitement préalable):
Code :
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Charles Mercier Inscription : janvier 2010 Messages : 18 ![]() |
Merci pour votre intervention rapide !
Megamind2, je reformule ce que je voudrais : j'ai une table et j'aimerais sélectionner dans cette table les observations qui ont un certain nombre de variables en commun et les mettre dans une autre table pour les visualiser. Olivier & Manoutz, j'ai essayé vos solutions, mais le problème c'est que je ne sais pas comment faire lorsque je sélectionne selon plusieurs variables... Dans la proq sql, j'ai essayé count (varx, vary), mais ça ne marche pas. Comment dois-je faire ? |
|
|
00
|
|
|
#6 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
essaye cela:
Code :
|
||
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Charles Mercier Inscription : janvier 2010 Messages : 18 ![]() |
Voilà ce que me dit le journal, il n'a pas l'air d'être content avec l'étoile (je suis désolé, je ne m'y connais pas du tout en sql) :
1164 proc sql; 1165 CREATE TABLE DOUBLONS(WHERE=(CNT>1) AS 1166 SELECT *, count (*) AS CNT - 22 76 ERROR 22-322: Erreur de syntaxe ; syntaxe requise : CHAR, CHARACTER, DATE, DEC, DECIMAL, DOUBLE, FLOAT, INT, INTEGER, NUM, NUMERIC, REAL, SMALLINT, VARCHAR. |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
ça devait marcher Charles,
Code :
|
||
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Charles Mercier Inscription : janvier 2010 Messages : 18 ![]() |
J'ai fait la proc sql, et ça marche nickel ! (par contre j'ai essayé l'étape data avant, ça ne marche pas... et je ne vois pas à quoi ça sert en fait !).
Juste une vérification, il me dit : NOTE: La requête nécessite que les statistiques descriptives soient refusionnées avec les données originales. C'est normal ? En tout cas, ça a l'air de marcher je vous remercie tous, j'ai passé mon après midi dessus !!! |
|
|
00
|
|
|
#10 | ||
|
Nouveau Membre du Club
![]() Inscription : juillet 2010 Messages : 73 ![]() |
l'option dupout de la proc sort permet de récupérer la liste de doublons.
Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Je savais qu'il y avait une option, mais je me souvenais plus
![]() ps: BIENVENUE sur le forum Momo |
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
L'option dupout de la proc sort ne fait pas exactement la même chose: dans ce fichier sera conservé uniquement les doublons, et pas les valeurs qui sont conservées dans le out= possédant la même clé.
La proc sql procède différemment. Un bon exemple vaut bien tous les discours: Code :
Manoutz |
||
|
|
10
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2010 Messages : 73 ![]() |
Merci Megamind
Merci Manoutz. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com