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 06/01/2012, 10h43   #1
Membre du Club
 
Inscription : juillet 2002
Messages : 156
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 156
Points : 40
Points : 40
Envoyer un message via MSN à foxrol
Par défaut Optimisation d'un programme

Bonjour à tous

Je cherche à optimiser un programme SAS donc une partie est la suivante:
Code sas :
1
2
3
4
5
6
7
8
9
 
DATA cp;
SET ba.cp;
IF lib_produit_cp NOT IN ("Refac","Service");
IF lib_vendeur NOT IN ("Internes","CE");
IF lib_region ne "titi";
IF pdtcode ne "PORTE" AND lib_produit_cp NOT IN ("Fr","Ca","Ech")
AND visi_lign ne "N";
run;
faut-il créer un index sur les variables lib_produit_cp, lib_vendeur, lib_region?

Merci d'avance
foxrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h02   #2
Membre expérimenté
 
Inscription : avril 2009
Messages : 538
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 538
Points : 541
Points : 541
Salut,

Déjà utilise un where au lieu de ifs et cela marchera mieux

Après pose toi la question si tu as besoin de créer cette table, pourquoi tu utilises une table temporaire...

X
xav2229 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h02   #3
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
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 012
Points : 1 717
Points : 1 717
passes au sql; replaces les if par des where et les ; par des and
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h08   #4
Membre Expert
 
Homme
Biostatisticien
Inscription : juin 2009
Messages : 1 150
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Irlande

Informations professionnelles :
Activité : Biostatisticien
Secteur : Industrie Pharmaceutique

Informations forums :
Inscription : juin 2009
Messages : 1 150
Points : 1 772
Points : 1 772
place ton where dans le dataset entree (ba.cp)

Code :
1
2
3
DATA cp;
SET ba.cp(WHERE=(lib_produit_cp NOT IN ("Refac","Service") AND lib_vendeur NOT IN ("Internes","CE") AND lib_region ne "titi" AND pdtcode ne "PORTE" AND lib_produit_cp NOT IN ("Fr","Ca","Ech") AND visi_lign ne "N"))
run;
ou version sql equivalente
Manoutz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/01/2012, 11h33   #5
Membre du Club
 
Inscription : juillet 2002
Messages : 156
Détails du profil
Informations forums :
Inscription : juillet 2002
Messages : 156
Points : 40
Points : 40
Envoyer un message via MSN à foxrol
merci à tous pour votre aide.
foxrol est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h22.


 
 
 
 
Partenaires

Hébergement Web