Das Skript erstellt wiederholt einen Datensatz namens 'student'. Zunächst liest ein DATA-Schritt Daten aus 'datalines' und versucht, mehrere Datensätze auf einer einzigen physischen Zeile zu verarbeiten. Ein zweiter DATA-Schritt überschreibt den vorherigen Datensatz, indem er eine potenziell fehlerhafte Zeile in die INPUT-Anweisung einfügt und Inlinedaten bereitstellt, darunter eine Zeile mit mehreren Datensätzen und eine weitere mit einem einzelnen Datensatz. Anschließend wird eine PROC PRINT-Prozedur verwendet, um den aktuellen Inhalt des Datensatzes 'student' anzuzeigen. Schließlich erstellt ein dritter DATA-Schritt den Datensatz 'student' neu, indem er explizit die Längen der Zeichenvariablen 'std_id' und 'gender' angibt und dann zwei separate Datensätze aus 'datalines' liest.
Datenanalyse
Type : INTERNE_ERSTELLUNG
Die in diesem Skript verwendeten Daten sind vollständig integriert und intern über die `datalines`-Anweisung in jedem `DATA`-Schritt definiert. Es werden keine externen Datenquellen (Dateien, Datenbanken) oder SAS-Bibliotheken außer den impliziten Systembibliotheken verwendet.
1 Codeblock
DATA STEP Data
Erklärung : Erstellt den Datensatz 'student'. Es versucht, durch Kommas getrennte Daten aus der `datalines`-Anweisung zu lesen. Die Variablen `std_id`, `name`, `gender` (Zeichen), `age`, `height`, `weight` (numerisch) werden definiert. Das Fehlen spezifischer Optionen für das Lesen mehrerer Datensätze pro Zeile kann zu einer unvollständigen Lesung der Datenzeile führen.
Kopiert!
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 Codeblock
DATA STEP Data
Erklärung : Dieser DATA-Schritt erstellt den Datensatz 'student' neu und überschreibt die vorherige Version. Er verwendet `infile datalines` für die Eingabe. Die Zeile ` @code_sas_json/hsdua2304@gmail.com_SAS_Assignment_1.json` in der `input`-Anweisung ist ein Syntaxfehler, der von SAS nicht korrekt als Eingabeoption interpretiert wird. Es werden zwei Datenzeilen bereitgestellt, wobei die erste aufgrund des Lesens ohne ` @@` potenziell einen Teildatensatz erstellen kann und die zweite einen vollständigen Datensatz liefert.
Kopiert!
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;
Erklärung : Führt die Prozedur `PROC PRINT` aus, um den gesamten Inhalt des Datensatzes 'student' im Ausgabefenster anzuzeigen. Dies ist eine Standardmethode zur Dateninspektion.
Kopiert!
proc print data=student;
run;
1
PROC PRINTDATA=student;
2
RUN;
4 Codeblock
DATA STEP Data
Erklärung : Dieser letzte DATA-Schritt erstellt den Datensatz 'student' erneut. Er verwendet die `length`-Anweisungen, um explizit die Länge der Zeichenvariablen `std_id` (3 Zeichen) und `gender` (1 Zeichen) zu definieren, bevor die Daten gelesen werden. Zwei vollständige Datensätze werden aus den separaten `datalines` gelesen.
Kopiert!
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.