Précédent   Forum du club des développeurs et IT Pro > 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
 
Outils de la discussion
Publicité
'
Vieux 21/11/2012, 11h21   #1
nanou2183
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 37
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 37
Points : 12
Points : 12
Par défaut PROC SQL; create table même table

Bonjour,

je suis actuellement en train de développer des programmes SAS et je fais plein de proc sql.
Je fais des create table en utilisant le même nom de table
exemple :

Code :
1
2
3
4
5
6
7
 
Proc sql;
CREATE TABLE toto AS
SELECT a.*, b.titi
FROM toto a LEFT OUTER JOIN titi b
ON a.id = b.id;
quit;
J'ai l'impression que sas me crée une table temporaire le temps de faire la jointure et ensuite il "écrase" ma toto par la nouvelle.
Est ce vrai ?
Du coup, ma proc est plus longue que si je créais une nouvelle table ?

Merci de votre aide
Nanou
nanou2183 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/11/2012, 11h46   #2
tdiallo
Membre régulier
 
Homme Thierno Diallo
SID
Inscription : mai 2012
Messages : 46
Détails du profil
Informations personnelles :
Nom : Homme Thierno Diallo
Localisation : France, Finistère (Bretagne)

Informations professionnelles :
Activité : SID
Secteur : Santé

Informations forums :
Inscription : mai 2012
Messages : 46
Points : 93
Points : 93
Slt,
Est ce vrai ? ==> c'est Oui
Si tu utilises le même nom de table ça met plus de temps (quelques secondes de différence) mais tu as plus d'espace dans ton répertoire.

SLt
tdiallo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 21/11/2012, 12h01   #3
nanou2183
Candidat au titre de Membre du Club
 
Inscription : avril 2009
Messages : 37
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 37
Points : 12
Points : 12
Ca se joue uniquement à quelques secondes ?
Si c'est le cas, alors ca vaut pas le coup de perdre de l'espace

Merci
nanou2183 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/11/2012, 13h45   #4
datametric
Rédacteur
 
Homme Stéphane Colas
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 2 315
Détails du profil
Informations personnelles :
Nom : Homme Stéphane Colas
Âge : 40
Localisation : France, Yvelines (Île de France)

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

Informations forums :
Inscription : avril 2009
Messages : 2 315
Points : 5 578
Points : 5 578
c'est aussi par commodité que tu écrases la table par elle-même. Ca t'évite d'en gérer plein.

Ajoute COMPRESS = YES ou BINARY pour accélérer les temps et ganger en place également. La compression chez SAS améliore les temps CPU.
__________________
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 10
Vieux 22/11/2012, 11h05   #5
xav2229
Membre chevronné
 
Inscription : avril 2009
Messages : 640
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 640
Points : 690
Points : 690
Tu as surtout un WARNING dans la log!

WARNING: This CREATE TABLE statement recursively references the target table. A consequence of this is a possible data integrity problem.


Dans certains cas SAS va planter et ne te créera pas la table en sortie.
xav2229 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web