Publié le :
ETL CREATION_INTERNE

Création et Affichage de Données Étudiantes

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script procède à la création répétée d'un jeu de données nommé 'student'. Initialement, une étape DATA lit des données depuis 'datalines' en tentant de traiter plusieurs enregistrements sur une seule ligne physique. Une deuxième étape DATA écrase le jeu de données précédent, en incluant une ligne potentiellement erronée dans l'instruction INPUT et en fournissant des données en ligne, dont une ligne avec plusieurs enregistrements et une autre avec un seul. Ensuite, une procédure PROC PRINT est utilisée pour afficher le contenu actuel du jeu de données 'student'. Enfin, une troisième étape DATA recrée le jeu de données 'student', en spécifiant explicitement les longueurs des variables caractères 'std_id' et 'gender', puis lit deux enregistrements distincts à partir de 'datalines'.
Analyse des données

Type : CREATION_INTERNE


Les données utilisées dans ce script sont entièrement intégrées et définies en interne via l'instruction `datalines` dans chaque étape `DATA`. Aucune source de données externe (fichiers, bases de données) ou bibliothèque SAS autre que les bibliothèques système implicites n'est sollicitée.

1 Bloc de code
DATA STEP Data
Explication :
Crée le jeu de données 'student'. Il tente de lire des données délimitées par des virgules à partir de l'instruction `datalines`. Les variables `std_id`, `name`, `gender` (caractères), `age`, `height`, `weight` (numériques) sont définies. L'absence d'options spécifiques pour la lecture multi-enregistrements par ligne peut entraîner la lecture incomplète de la ligne de données.
Copié !
1DATA student;
2 INFILE DATALINES dlm=",";
3 INPUT
4 std_id $
5 name $
6 gender $
7 age
8 height
9 weight
10 ;
11 DATALINES;
12101,ABC,F,23,167,76,102,DEF,M,25,176,87
13 ;
14RUN;
2 Bloc de code
DATA STEP Data
Explication :
Cette étape DATA recrée le jeu de données 'student', écrasant la version précédente. Elle utilise `infile datalines` pour l'entrée. La ligne `@code_sas_json/hsdua2304@gmail.com_SAS_Assignment_1.json` dans l'instruction `input` est une erreur syntaxique qui ne sera pas correctement interprétée par SAS comme une option d'entrée. Deux lignes de données sont fournies, la première pouvant potentiellement créer un enregistrement partiel en raison de la lecture sans `@@`, et la seconde fournissant un enregistrement complet.
Copié !
1DATA student;
2 INFILE DATALINES dlm="," ;
3 INPUT
4 std_id $
5 name $
6 gender $
7 age
8 height
9 weight
10 @code_sas_json/hsdua2304@gmail.com_SAS_Assignment_1.json
11 ;
12 DATALINES;
13101,ABC,F,23,167,76,102,DEF,M,25,176,87
14103,GHI,M,25,176,87
15 ;
16RUN;
3 Bloc de code
PROC PRINT
Explication :
Exécute la procédure `PROC PRINT` pour afficher l'intégralité du contenu du jeu de données 'student' dans la fenêtre de sortie. C'est une méthode standard pour inspecter les données.
Copié !
1PROC PRINT DATA=student;
2RUN;
4 Bloc de code
DATA STEP Data
Explication :
Cette dernière étape DATA recrée une fois de plus le jeu de données 'student'. Elle utilise les instructions `length` pour définir explicitement la longueur des variables caractères `std_id` (3 caractères) et `gender` (1 caractère) avant que les données ne soient lues. Deux enregistrements complets sont lus à partir des `datalines` distinctes.
Copié !
1DATA student;
2 LENGTH std_id $3. gender $1.;
3 INFILE DATALINES dlm=",";
4 INPUT
5 std_id $
6 name $
7 gender $
8 age
9 height
10 weight
11 ;
12 DATALINES;
13101,ABC,F,23,167,76
14102,DEF,M,25,176,87
15 ;
16RUN;
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.