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/12/2010, 20h13   #1
Invité régulier
 
Robert Pythagore
Inscription : janvier 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : Robert Pythagore

Informations forums :
Inscription : janvier 2010
Messages : 23
Points : 8
Points : 8
Par défaut Mise à jour table & index

Bonjour,

Pour alimenter une table sas indexée, dois-je supprimer les index puis les recréer ? Si oui comment supprimer proprement un index ?

Merci.
Qings est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 10h50   #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
tu utilises la proc datasets. Regarde la doc c'est très explicite.
__________________
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 06/12/2010, 11h35   #3
Membre éclairé
 
Avatar de Filippo
 
Homme Philippe
Statisticien
Inscription : mai 2004
Messages : 654
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 38
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Statisticien

Informations forums :
Inscription : mai 2004
Messages : 654
Points : 396
Points : 396
Bonjour,
on peut créer des index avec la proc datasets ou bien avec la proc sql.

Pour avoir une table compressée et indexée, j'utilise l'option :

Ensuite je crée mon index :

Code :
1
2
3
proc sql;
	CREATE INDEX NomDeLIndex ON MaTable (var1, var2, var3);
quit;
Là MaTable possède un index et est compressée.


Création index avec proc sql : http://support.sas.com/documentation...a001395386.htm

Doc de la proc datasets : http://support.sas.com/documentation...a000055590.htm
__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit"
Filippo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/12/2010, 16h44   #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
et pourquoi pas Compress=Binary ?

Utilises-tu des index composés ?

A partir de combien de modalités répétées considères-tu qu'un index est pertinent ? (ex : un ID client unique par ligne doit-il être indexé ?)
__________________
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 06/12/2010, 16h52   #5
Membre éclairé
 
Avatar de Filippo
 
Homme Philippe
Statisticien
Inscription : mai 2004
Messages : 654
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 38
Localisation : France, Eure (Haute Normandie)

Informations professionnelles :
Activité : Statisticien

Informations forums :
Inscription : mai 2004
Messages : 654
Points : 396
Points : 396
J'utilise compress=yes pour ne pas saturer notre espace réseau qui est limité; sur mon sasuser ce n'est pas utile.

J'ai mis plusieurs variables pour l'exemple, en fait je n'indexe que sur une seule variable qui est censée être un Id (ça l'est à plus de 95%, il y a quelques données manquantes dans les données que l'on reçoit).

J'ai de gros traitements qui utilisent des proc freq et des proc sql. En tout ça dure 1h30.

Je me suis aperçu qu'un proc freq qui durait environ 1 minute ne dure que 2 secondes sur la même table indexée; même avec 2 secondes pour la création de l'index et 4 Mo de fichier d'index en plus (la table non compressée fait plus d'1Go et 350 Mo compressée) je suis gagnant.
__________________
"Le sage ne dit pas ce qu'il sait alors que le sot ne sait pas ce qu'il dit"
Filippo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2010, 20h54   #6
Invité régulier
 
Robert Pythagore
Inscription : janvier 2010
Messages : 23
Détails du profil
Informations personnelles :
Nom : Robert Pythagore

Informations forums :
Inscription : janvier 2010
Messages : 23
Points : 8
Points : 8
Merci pour vos réponses
Qings 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 13h59.


 
 
 
 
Partenaires

Hébergement Web