Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > SAS Base
SAS Base Forum d'entraide sur SAS base : étape data, procédures non statistiques, procédures non graphiques, SQL
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 05/04/2011, 17h22   #1
Invité régulier
 
Inscription : août 2008
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 32
Points : 6
Points : 6
Par défaut Proc SQL (condition if last then output)

Bonjour,

Je veux savoir comment écrire ma requête SQL seulement et non un data pour seulement conserver
la dernière information par personne et pays,
voici un exemple avec les 4 données :

Éric France 100$
Éric France 200$ <--- à conserver dans MA_TABLE
Éric Canada 300$
Éric Canada 400$ <--- à conserver dans MA_TABLE


Conserver uniquement la dernière valeur par Nom et pays, donc conserver
la ligne 2 et 4.

Voici le code avec une condition de sélection que je cherche a ajouter

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
PROC SQL;                                                              
CREATE TABLE MA_TABLE AS                                               
SELECT *                                                               
FROM CONNECTION TO ORACLE(                                             
SELECT                                                                 
      *                                                                
 
      FROM                                                             
          VERSEMENT X1                                                 
 
          ORDER BY A1.NOM, A1.NPAYS, A1.MONTANT                        
);                                                                     
QUIT;
SAS_ERIC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 17h28   #2
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
Bonjour,
Dis-moi si ça te convient

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DATA TEST;
INPUT NOM$1-5 PAYS$6-12 MT;
cards;
Éric France 100
Éric France 200
Éric Canada 300 
Éric Canada 400
;
run;
 
proc sql;
CREATE TABLE test2 AS SELECT Nom, PAYS, max(MT) AS MT
FROM TEST GROUP BY NOM,PAYS;
QUIT;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 20h45   #3
Invité régulier
 
Inscription : août 2008
Messages : 32
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 32
Points : 6
Points : 6
Si je veux inclure un where, où j'ajoute celui-ci ?
SAS_ERIC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 09h33   #4
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
Citation:
Envoyé par SAS_ERIC Voir le message
Si je veux inclure un where, où j'ajoute celui-ci ?
Code :
1
2
3
4
5
6
7
8
9
10
11
 
proc sql;
connect TO ODBC ; /* Oracle pour toi*/
 
CREATE TABLE ma_tables AS SELECT * FROM connection TO oracle ( SELECT Nom, PAYS, max(MT) AS MT
FROM TEST 
WHERE /*inclure la condition ici*/
 
GROUP BY NOM,PAYS);
disconnect FROM oracle;
QUIT;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h56.


 
 
 
 
Partenaires

Hébergement Web