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é !
data student;
infile datalines dlm=",";
input
std_id $
name $
gender $
age
height
weight
;
datalines;
101,ABC,F,23,167,76,102,DEF,M,25,176,87
;
run;
1
DATA student;
2
INFILEDATALINES dlm=",";
3
INPUT
4
std_id $
5
name $
6
gender $
7
age
8
height
9
weight
10
;
11
DATALINES;
12
101,ABC,F,23,167,76,102,DEF,M,25,176,87
13
;
14
RUN;
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é !
data student;
infile datalines dlm="," ;
input
std_id $
name $
gender $
age
height
weight
@code_sas_json/hsdua2304@gmail.com_SAS_Assignment_1.json
;
datalines;
101,ABC,F,23,167,76,102,DEF,M,25,176,87
103,GHI,M,25,176,87
;
run;
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é !
proc print data=student;
run;
1
PROC PRINTDATA=student;
2
RUN;
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é !
data student;
length std_id $3. gender $1.;
infile datalines dlm=",";
input
std_id $
name $
gender $
age
height
weight
;
datalines;
101,ABC,F,23,167,76
102,DEF,M,25,176,87
;
run;
1
DATA student;
2
LENGTH std_id $3. gender $1.;
3
INFILEDATALINES dlm=",";
4
INPUT
5
std_id $
6
name $
7
gender $
8
age
9
height
10
weight
11
;
12
DATALINES;
13
101,ABC,F,23,167,76
14
102,DEF,M,25,176,87
15
;
16
RUN;
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.