Contrôle d'ensemble de données

Optimisation SAS : Boostez vos performances avec l'option INDEX= dans l'étape DATA

Ce code est également disponible en : Deutsch English Español
Niveau de difficulté
Débutant
Publié le :
Michael

Le Conseil de l'Expert

Michael
Responsable de l'infrastructure Viya.

N'abusez pas des index. Si un index accélère considérablement les lectures (WHERE, BY, MERGE), il ralentit légèrement l'écriture des données car SAS doit mettre à jour l'index pour chaque nouvelle ligne. Indexez uniquement les variables que vous utilisez systématiquement comme filtres ou comme clés de jointure

L'option d'ensemble de données INDEX= permet de créer des index lors de la création d'un nouvel ensemble de données SAS©. Les index peuvent être simples (basés sur une seule variable) ou composites (basés sur plusieurs variables). Des options supplémentaires comme UNIQUE et NOMISS peuvent être spécifiées pour affiner la création de l'index. UNIQUE garantit que toutes les valeurs des variables clés doivent être uniques, tandis que NOMISS exclut les observations avec des valeurs manquantes des variables d'index.
Analyse des données

Type : IMPLICITE


Les exemples fournis se concentrent sur la syntaxe de l'option INDEX= et n'incluent pas de code de création de données explicite (datalines ou SASHELP), mais supposent l'existence de données en entrée ou la création de nouvelles variables.

1 Bloc de code
DATA STEP
Explication :
Cet exemple montre comment définir un index simple sur la variable 'ssn' lors de la création d'un nouvel ensemble de données nommé 'new'.
Copié !
1 
2DATA new(index=(ssn));
3/* ... more SAS code ... */
4RUN;
5 
2 Bloc de code
DATA STEP
Explication :
Cet exemple illustre la création d'un index composite nommé 'cityst' utilisant les variables 'city' et 'state' pour le nouvel ensemble de données 'new'.
Copié !
1 
2DATA new(index=(cityst=(city state)));
3/* ... more SAS code ... */
4RUN;
5 
3 Bloc de code
DATA STEP
Explication :
Cet exemple combine la définition d'un index simple sur 'ssn' et d'un index composite sur 'city' et 'state' pour le nouvel ensemble de données 'new'.
Copié !
1 
2DATA new(index=(ssn cityst=(city state)));
3/* ... more SAS code ... */
4RUN;
5 
4 Bloc de code
DATA STEP
Explication :
Cet exemple montre comment définir un index simple sur 'ssn' en garantissant que toutes les valeurs de 'ssn' sont uniques dans le nouvel ensemble de données.
Copié !
1 
2DATA new(index=(ssn /unique));
3/* ... more SAS code ... */
4RUN;
5 
5 Bloc de code
DATA STEP
Explication :
Cet exemple illustre la création d'un index simple sur 'ssn', en excluant les observations avec des valeurs manquantes pour cette variable de l'index dans le nouvel ensemble de données.
Copié !
1 
2DATA new(index=(ssn /nomiss));
3/* ... more SAS code ... */
4RUN;
5 
6 Bloc de code
DATA STEP
Explication :
Cet exemple définit un index simple unique et sans valeurs manquantes pour 'ssn', ainsi qu'un index composite unique et sans valeurs manquantes pour 'city' et 'state' dans le nouvel ensemble de données.
Copié !
1 
2DATA new(index=(ssn /unique/nomiss cityst=(city state) /unique/nomiss));
3/* ... more SAS code ... */
4RUN;
5 
L'Astuce Pro
Pour optimiser les performances de vos recherches, utilisez l option /unique lors de la creation d un index sur une colonne de type identifiant (comme ssn) car cela permet au moteur SAS de stopper la lecture d un bloc d index des que la correspondance est trouvee, tout en garantissant l integrite de vos donnees en bloquant l ajout de toute ligne possedant une cle dejà existante.
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.

Documentation liée

Aucune documentation spécifique pour cette catégorie.