Die DELETE-Anweisung wird in einem DATA-Schritt verwendet, um die Verarbeitung der aktuellen Beobachtung zu stoppen. Wenn DELETE ausgeführt wird, wird die aktuelle Beobachtung nicht in die vom DATA-Schritt erstellten Datasets geschrieben, und die Steuerung kehrt sofort zum Anfang des DATA-Schritts für die nächste Iteration zurück. Sie wird oft in einer THEN-Klausel einer IF-THEN-Anweisung oder in einer bedingt ausgeführten DO-Gruppe verwendet. Im Gegensatz zur DROP-Anweisung, die Variablen aus einem Output-Dataset ausschließt, schließt DELETE ganze Beobachtungen aus.
Datenanalyse
Type : CREATION_INTERNE
Die Beispiele verwenden generierte Daten (Datalines).
1 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel erstellt ein Dataset 'new_data'. Es liest die Variablen 'id' und 'leafwt'. Wenn der Wert von 'leafwt' fehlt (dargestellt durch '.'), wird die DELETE-Anweisung ausgeführt, wodurch die gesamte Beobachtung aus dem finalen Dataset entfernt wird. Nur Beobachtungen mit einem nicht fehlenden Wert für 'leafwt' werden in 'new_data' aufgenommen.
Kopiert!
data new_data;
input id leafwt;
datalines;
1 10.5
2 .
3 25.3
4 .
5 18.0
;
if leafwt=. then delete;
run;
proc print data=new_data;
title 'Observations après suppression des valeurs manquantes de LEAFWT';
run;
1
DATA new_data;
2
INPUT id leafwt;
3
DATALINES;
4
110.5
5
2 .
6
325.3
7
4 .
8
518.0
9
;
10
IF leafwt=. THEN delete;
11
RUN;
12
13
PROC PRINTDATA=new_data;
14
title 'Observations après suppression des valeurs manquantes de LEAFWT';
15
RUN;
2 Codeblock
DATA STEP Data
Erklärung : Dieses Beispiel liest Rohdaten inline (simuliert eine externe Datei über 'infile datalines'). Es erstellt ein Dataset 'topsales'. Für jede gelesene Beobachtung wird geprüft, ob der Wert von 'yrsales' (Jahresumsatz) kleiner als 100.000 ist. Wenn dies der Fall ist, wird die DELETE-Anweisung ausgeführt, wodurch diese Beobachtung aus dem Dataset 'topsales' ausgeschlossen wird. Das finale Dataset 'topsales' enthält nur Beobachtungen, bei denen 'yrsales' größer oder gleich 100.000 ist.
Kopiert!
data topsales;
infile datalines;
input region $ office $ product $ yrsales;
if yrsales<100000 then delete;
datalines;
East Boston Hardware 120000
West LA Software 95000
North Chicago Electronics 200000
South Miami Services 80000
Central Dallas Retail 150000
;
run;
proc print data=topsales;
title 'Ventes annuelles supérieures à 100 000';
run;
1
DATA topsales;
2
INFILEDATALINES;
3
INPUT region $ office $ product $ yrsales;
4
IF yrsales<100000THEN delete;
5
DATALINES;
6
East Boston Hardware 120000
7
West LA Software 95000
8
North Chicago Electronics 200000
9
South Miami Services 80000
10
Central Dallas Retail 150000
11
;
12
RUN;
13
14
PROC PRINTDATA=topsales;
15
title 'Ventes annuelles supérieures à 100 000';
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.