Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Débutez
Débutez Forum concentrant les premières questions que l'on se pose en tant que débutant
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2011, 14h10   #1
Membre à l'essai
 
Inscription : novembre 2009
Messages : 107
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 107
Points : 20
Points : 20
Par défaut supprimer un doublon de données

Bonjour

comment peux ton supprimer les données doublés voire dans une variables ?

car a fors ce merge des table pour avoir une reponse a une question qui se troive dans une variable via different corisement.
j ai la reponse a ma question mais avec des doublons voir sextuplons
d ou ma question

si on a une variable

A
A
A
B
B
B
B

comment faire pou n avoir que
A
B
asty69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 14h18   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
hello;
avec une proc sort;
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
 
 
 
DATA test;
input var $;
cards;
A
A
A
B
B
B
B
;
run;
 
proc sort DATA=test out=resultat nodupkey;
BY var;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/06/2011, 14h33   #3
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
ou une proc
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 15h40   #4
Membre à l'essai
 
Inscription : novembre 2009
Messages : 107
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 107
Points : 20
Points : 20
le pire dans tout ça c est que j'utilisais cette procédure sans savoir pourquoi
asty69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2011, 16h57   #5
Membre à l'essai
 
Inscription : novembre 2009
Messages : 107
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 107
Points : 20
Points : 20
j ai essayer et voila l erreur

Code :
1
2
3
Proc sort vac NODUPKEY;
BY sub_id;
run;
Code :
1
2
3
4
5
6
7
8
9
               --- --------
               22  202
ERROR 22-322: Syntax error, expecting one of the following: ;, ASCII, BUFFNO, DANISH, DATA,
              DATECOPY, DETAILS, DIAG, DUPOUT, EBCDIC, EQUALS, FINNISH, FORCE, IN, ISA, L,
              LEAVE, LIST, MESSAGE, MSG, NATIONAL, NODUP, NODUPKEY, NODUPKEYS, NODUPLICATE,
              NODUPLICATES, NODUPREC, NODUPRECS, NODUPS, NOEQUALS, NORWEGIAN, NOTHREADS, OSA,
              OUT, OVERWRITE, PAGESIZE, PSIZE, REVERSE, SIZE, SORTSEQ, SORTSIZE, SORTWKNO,
              SWEDISH, T, TAGSORT, TECH, TECHNIQUE, TESTHSI, THREADS, WKNO, WORKNO.
ERROR 202-322: The OPTION OR parameter IS NOT recognized AND will be ignored.
asty69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 17h19   #6
Invité régulier
 
Inscription : mars 2008
Messages : 10
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 10
Points : 5
Points : 5
Salut,
Disons que après avoir écrit proc sort, SAS s'attend à avoir quelque chose dans :

Citation:
;, ASCII, BUFFNO, DANISH, DATA,
DATECOPY, DETAILS, DIAG, DUPOUT, EBCDIC, EQUALS, FINNISH, FORCE, IN, ISA, L,
LEAVE, LIST, MESSAGE, MSG, NATIONAL, NODUP, NODUPKEY, NODUPKEYS, NODUPLICATE,
NODUPLICATES, NODUPREC, NODUPRECS, NODUPS, NOEQUALS, NORWEGIAN, NOTHREADS, OSA,
OUT, OVERWRITE, PAGESIZE, PSIZE, REVERSE, SIZE, SORTSEQ, SORTSIZE, SORTWKNO,
SWEDISH, T, TAGSORT, TECH, TECHNIQUE, TESTHSI, THREADS, WKNO, WORKNO
Et ce que tu as écrit n'est pas dans la liste...
n3mrod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 18h17   #7
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
t'as oublié data=
Code :
1
2
3
4
5
 
 
proc sort DATA=vac NODUPKEY;
BY sub_id;
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 09h55   #8
Membre à l'essai
 
Inscription : novembre 2009
Messages : 107
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 107
Points : 20
Points : 20
Par défaut pardon

j ai bien corrigé ce problème. j aivais oublié de le signaler
Pardon

Mais le probleme c est un peux plus compliqué

Je met une copie d ecran en PJ de la table c est plus simple

comment supprimer ce type de doublons
asty69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 10h03   #9
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
Code :
1
2
3
4
 
DATA=vac NODUPKEY out=vac1;
BY sub_id var2 var3;
run;
var2 et var 3 c'est les deux autres variables que je ne connais pas. ( sur la PJ je voie des label et non pas des noms de variables.)

- si tu veux supprimer les lignes dupliquées, remplace nodupkey par NODUPRECS
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 10h45   #10
Membre à l'essai
 
Inscription : novembre 2009
Messages : 107
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 107
Points : 20
Points : 20
ok je vois le truc
mais le problème se pose en suite dans le trie
Code :
Proc sort DATA=Vac out=Vac1; BY Descending (Sub_id AND date); run;
log

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
105
106  Proc sort DATA=Vac out=Vac1; BY Descending (Sub_id AND VAC_DX ); run;
                                                -                   -
                                                22                  200
ERROR 22-322: Syntax error, expecting one of the following: a name, _ALL_, _CHARACTER_, _CHAR_,
              _NUMERIC_.
 
ERROR 200-322: The symbol IS NOT recognized AND will be ignored.
 
                                                 ------
                                                 202
ERROR 202-322: The OPTION OR parameter IS NOT recognized AND will be ignored.
 
106! Proc sort DATA=Vac out=Vac1; BY Descending (Sub_id AND date ); run;
                                                                   -
                                                                   22
ERROR: Variable AND NOT found.
 
ERROR 22-322: Syntax error, expecting one of the following: a name, ;, -, :, DECENDING,
              DESCENDING, DESENDING, _ALL_, _CHARACTER_, _CHAR_, _NUMERIC_.
 
NOTE: The SAS System stopped processing this step because of errors.
WARNING: The DATA SET WORK.VAC1 may be incomplete.  When this step was stopped there were 0
         observations AND 0 VARIABLES.
WARNING: DATA SET WORK.VAC1 was NOT replaced because this step was stopped.
NOTE: PROCEDURE SORT used (Total process time):
      real time           0.01 seconds
      cpu time            0.01 seconds
asty69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h16   #11
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
Est ce que dans le code que je t'ai envoyé , j'ai mis des parenthèses et un AND?

Code :
1
2
3
4
 
 
Proc sort DATA=Vac out=Vac1; 
BY Descending Sub_id   Descending date; run;
Une petite révision de la proc sort t'éclairera les choses.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h19   #12
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
ça fait classe une parenthèse en un AND
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h39   #13
Membre à l'essai
 
Inscription : novembre 2009
Messages : 107
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 107
Points : 20
Points : 20
Par défaut on parle de date

je sais bien mais j avais tenté ca en depit du resultat.

Car on parle de date

et donc avoir un tri comme 21 Mars 2010
22 Avril 2010
23 Janvier 2010 c est pas tres logique et c'est comme ca que SAS me trie le smillblic
asty69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 11h48   #14
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Si ta variable est du date et non des caractères, ça va passer
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 13h23   #15
Membre à l'essai
 
Inscription : novembre 2009
Messages : 107
Détails du profil
Informations forums :
Inscription : novembre 2009
Messages : 107
Points : 20
Points : 20
c est du caractere donc ca passe pas
asty69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2011, 13h38   #16
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 006
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 006
Points : 1 703
Points : 1 703
Bon aller un coup de pouce.

Essaies de t'inspiré de ce code;

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
DATA date;
	input var :$20. var1 $2.;
	cards;
01janvier2010 aa
30mai2010 aa
20janvier2010 ab
01janvier2010 aa
03février2008 cd
01janvier2010 cc
20mars1999 ac
20mars1999 cb
30mai2010 da
01mai2010 ae
;
run;
 
DATA date1 (DROP=_temp);
	SET date (RENAME=(var=_temp));
	var=input(_temp,nldate.);
run;
 
proc Sort DATA=date1 out=date2 noduprec;
	BY descending var descending var1;
run;
 
DATA date3 (DROP=_temp);
	SET date2 (RENAME=(var=_temp));
	var=put(_temp,nldate.);
run;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h50.


 
 
 
 
Partenaires

Hébergement Web