Publié le :
ETL CREATION_INTERNE

Lecture directe de données avec index (KEY=)

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce programme illustre la technique de 'Direct Access' ou lecture par index dans une étape DATA SAS©. Il crée deux jeux de données temporaires (x et y), dont l'un est indexé. La troisième étape effectue une jointure où, pour chaque ligne de x, SAS© tente de récupérer directement la ligne correspondante dans y via l'index, en affichant le code retour _IORC_ pour le diagnostic.
Analyse des données

Type : CREATION_INTERNE


Toutes les données (tables x et y) sont générées dynamiquement dans le script à l'aide de boucles et de fonctions aléatoires (uniform, ranuni).

1 Bloc de code
DATA STEP Data
Explication :
Génération de la table source 'x' avec 3 itérations (i de 0 à 2).
Copié !
1DATA x ;
2 DO i=0 to 2 ;
3 j=round(uniform(i)*10) ;
4 put _all_ ;
5 OUTPUT ;
6 END ;
7RUN ;
2 Bloc de code
DATA STEP Data
Explication :
Génération de la table de recherche 'y' avec création immédiate d'un index sur la variable 'i'.
Copié !
1DATA y(index=(i)) ;
2 DO i=1 to 4 ;
3 j=round(ranuni(i)*3) ;
4 DO k=1 to j ;
5 put _all_ ;
6 OUTPUT ;
7 END ;
8 END ;
9RUN ;
3 Bloc de code
DATA STEP Data
Explication :
Étape DATA lisant 'x' séquentiellement et accédant à 'y' via l'index 'i' (KEY=i). L'affichage de _IORC_ permet de vérifier le succès de la recherche d'index.
Copié !
1DATA z ;
2 SET x(in=in_x) ;
3 SET y(in=in_y) key=i ;
4 put _iorc_= _all_ / ;
5RUN ;
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.