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 14/10/2011, 16h35   #1
Invité régulier
 
Femme Stéphanie
Business Analyst
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme Stéphanie

Informations professionnelles :
Activité : Business Analyst

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 5
Points : 5
Par défaut Sous requête lorsque lien avec Oracle

Salut à tous,

Je me pose la question suivante. J'avais pour habitude d'utiliser des sous requetes en utilisant SQL Oracle qui faisait référence à une autre table (exemple: une table incluant une liste de clients déjà filtrée sous certains critères).

Or quand je tente de reproduire la même chose en faisant un proc sql (connect to oracle), cela ne fonctionne pas.
Est ce possible de faire ceci avec SAS? Quelles sont mes erreurs?

Voici un exemple de code utilisé

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
proc sql;
 connect TO oracle (user=blabla password=blabla path=blabla);
CREATE TABLE lib.CLIENTS_ADRESS AS 
SELECT * FROM connection TO oracle 
( 
SELECT adresse
FROM subscriber_dim
WHERE code_postal IN ('blabla','blabla')
 AND subscriber_id IN (SELECT DISTINCT subscriber_id FROM lib.TABLE_A)
)
;
disconnect FROM oracle;
quit;

Merci d'avance
StephMtl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 16h41   #2
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
bah tout simplement que ORACLE ne connais pas lib.TABLE_A mais TABLE_A
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 17h04   #3
Invité régulier
 
Femme Stéphanie
Business Analyst
Inscription : juillet 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Femme Stéphanie

Informations professionnelles :
Activité : Business Analyst

Informations forums :
Inscription : juillet 2011
Messages : 14
Points : 5
Points : 5
Je précise que Table A est un SAS data set, et non pas une table dans Oracle.
StephMtl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/10/2011, 17h12   #4
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
Donc tu ne peux pas. Puisque ORACLE ne loge pas dans le même immeuble que SAS il ne voit pas les mêmes tables.

Il faudrait créer une requête avec le résultat de SELECT DISTINCT subscriber_id FROM lib.TABLE_A dans une macro variable (voir SELECT ... INTO ) et passer se résultat dans le WHERE de la requête ORACLE.
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 15h55   #5
Membre expérimenté
 
Inscription : avril 2009
Messages : 538
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 538
Points : 541
Points : 541
Autre possibilité : mettre ta table SAS a disposition de Oracle.

Regarde du coté "temporary table support"

X
xav2229 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/10/2011, 16h05   #6
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 011
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 011
Points : 1 712
Points : 1 712
Peut être un libname vers Oracle et travailer que sous SAS par la suite ?
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 07h25.


 
 
 
 
Partenaires

Hébergement Web