Die Beispiele verwenden generierte Daten (Datalines) für CAS-Demonstrationen, aber andere Beispiele hängen von externen Dateien ab, die nicht im Code erstellt wurden (markiert external_data_not_found: 1).
1 Codeblock
DATA STEP
Erklärung : Dieses Beispiel zeigt, wie Rohdaten aus einer externen Datei mithilfe der INFILE- und INPUT-Anweisungen gelesen werden. INFILE ist erforderlich, da die Quelldaten aus einer externen Textdatei stammen.
Kopiert!
data weight;
infile <fileref> or <path-to-file;
input PatientID $ Week1 Week8 Week16;
loss=Week1-Week16;
run;
1
DATA weight;
2
INFILE or
3
INPUT PatientID $ Week1 Week8 Week16;
4
loss=Week1-Week16;
5
RUN;
2 Codeblock
DATA STEP
Erklärung : Gibt die Datei an, die die Eingabedaten enthält, indem ihr physischer Name direkt in Anführungszeichen verwendet wird.
Erklärung : Identifiziert die Datei, in die die PUT-Anweisung die Daten schreibt. Dieses Beispiel zeigt das Schreiben von Bedingungen basierend auf einer Variablen 'loss'.
Kopiert!
file 'output-file';
data status;
if loss ge 5 and loss le 9 then
put idno loss 'AWARD STATUS=3';
else if loss ge 10 and loss le 14 then
put idno loss 'AWARD STATUS=2';
else if loss ge 15 then
put idno loss 'AWARD STATUS=1';
run;
1
file 'output-file';
2
DATASTATUS;
3
IF loss ge 5 and loss le 9THEN
4
put idno loss 'AWARD STATUS=3';
5
ELSEIF loss ge 10 and loss le 14THEN
6
put idno loss 'AWARD STATUS=2';
7
ELSEIF loss ge 15THEN
8
put idno loss 'AWARD STATUS=1';
9
RUN;
4 Codeblock
%INCLUDE statement
Erklärung : Ermöglicht es, Anweisungen oder Rohdaten aus einer anderen Datei in Ihren SAS-Job zu integrieren und auszuführen.
Kopiert!
%include 'source-file';
1
%include 'source-file';
5 Codeblock
DATA STEP / FILENAME statement
Erklärung : Weist einer Eingabedatei einen Fileref 'mydata' zu und verwendet diesen Fileref dann in der INFILE-Anweisung, um die Daten zu lesen.
Erklärung : Weist einer Eingabedatei einen Fileref 'mydata' zu und verwendet dann PROC IMPORT, um die Daten zu importieren, und PROC PRINT, um sie anzuzeigen.
Erklärung : Weist einer Ausgabedatei einen Fileref 'myreport' und einer Eingabedatei einen Fileref 'mydata' zu und liest dann die Daten, um einen neuen Datensatz zu erstellen.
Erklärung : Exportiert den SASHELP.SHOES-Datensatz in die durch 'myreport' referenzierte externe Datei, wobei ein Leerzeichen als Trennzeichen verwendet wird.
Erklärung : Weist einer Datei, die Programmanweisungen enthält, einen Fileref 'mypgm' zu.
Kopiert!
filename mypgm 'source-file';
1
filename mypgm 'source-file';
10 Codeblock
FILENAME statement
Erklärung : Weist einem Ausgabegerät einen Fileref 'myprinter' zu, der durch seinen Typ und die Host-Optionen angegeben wird.
Kopiert!
filename myprinter <device-type>
<host-options>;
1
filename myprinter
2
;
3
11 Codeblock
DATA STEP
Erklärung : Verwendet den (zuvor zugewiesenen) Fileref 'mydata' in der INFILE-Anweisung, um die Daten zu lesen.
Kopiert!
data weight;
infile mydata;
input idno $ week1 week16;
loss=week1-week16;
1
DATA weight;
2
INFILE mydata;
3
INPUT idno $ week1 week16;
4
loss=week1-week16;
12 Codeblock
DATA STEP
Erklärung : Verwendet den (zuvor zugewiesenen) Fileref 'myreport' in der FILE-Anweisung, um Daten bedingt zu schreiben.
Kopiert!
file myreport;
if loss ge 5 and loss le 9 then
put idno loss 'AWARD STATUS=3';
else if loss ge 10 and loss le 14 then
put idno loss 'AWARD STATUS=2';
else if loss ge 15 then
put idno loss 'AWARD STATUS=1';
run;
1
file myreport;
2
IF loss ge 5 and loss le 9THEN
3
put idno loss 'AWARD STATUS=3';
4
ELSEIF loss ge 10 and loss le 14THEN
5
put idno loss 'AWARD STATUS=2';
6
ELSEIF loss ge 15THEN
7
put idno loss 'AWARD STATUS=1';
8
RUN;
13 Codeblock
%INCLUDE statement
Erklärung : Bindet den Inhalt der durch 'mypgm' referenzierten Datei in den SAS-Job ein.
Kopiert!
%include mypgm;
1
%include mypgm;
14 Codeblock
FILENAME statement
Erklärung : Weist einem Verzeichnis oder einem PDS (Partitioned Data Set) einen Fileref 'mydir' zu, wodurch ein effizienter Zugriff auf mehrere Dateien ermöglicht wird.
Kopiert!
filename mydir 'directory-or-PDS-name';
1
filename mydir 'directory-or-PDS-name';
15 Codeblock
DATA STEP
Erklärung : Liest Daten aus der Datei 'qrt1.data' am aggregierten Speicherort, auf den 'mydir' verweist.
Erklärung : Schreibt Daten bedingt in die Datei 'awards' am aggregierten Speicherort, auf den 'mydir' verweist.
Kopiert!
file mydir(awards);
if loss ge 5 then put idno loss
'AWARD STATUS=3';
else if loss ge 10
then put idno loss 'AWARD STATUS=2';
else if loss ge 15
then put idno loss 'AWARD STATUS=1';
run;
1
file mydir(awards);
2
IF loss ge 5THEN put idno loss
3
'AWARD STATUS=3';
4
ELSEIF loss ge 10
5
THEN put idno loss 'AWARD STATUS=2';
6
ELSEIF loss ge 15
7
THEN put idno loss 'AWARD STATUS=1';
8
RUN;
17 Codeblock
%INCLUDE statement
Erklärung : Bindet den Inhalt der Datei 'whole.program' ein, die sich am aggregierten Speicherort befindet, auf den 'mydir' verweist.
Kopiert!
%include mydir(whole.program);
1
%include mydir(whole.program);
18 Codeblock
DATA STEP
Erklärung : Liest binäre Daten spaltenweise aus einer angegebenen Datei, wobei die INFILE-Optionen RECFM=F und LRECL=160 verwendet werden.
Kopiert!
data out;
infile file-specification or path-to-file recfm=f lrecl=160;
input var1;
run;
1
DATA out;
2
INFILE file-specification or path-to-file recfm=f lrecl=160;
3
INPUT var1;
4
RUN;
19 Codeblock
DATA STEP / PROC CASUTIL Data
Erklärung : Dieses Beispiel bereitet zunächst Daten in einer SAS-Arbeitsbibliothek (WORK) vor und verwendet dann PROC CASUTIL, um diese Daten auf den CAS-Server zu laden. Diese Standardmethode erlaubt keine direkte Anwendung der DVR-Optimierung während des Ladevorgangs.
Kopiert!
/* Préparation des données dans WORK */
data maTableWork;
input PatientID $ Week1 Week8 Week16;
datalines;
P1 100 95 90
P2 80 78 75
P3 120 115 110
;
run;
/* Méthode standard - ne permet pas l'optimisation DVR directe */
proc casutil;
load data=maTableWork casout="maTableCAS";
quit;
1
/* Préparation des données dans WORK */
2
DATA maTableWork;
3
INPUT PatientID $ Week1 Week8 Week16;
4
DATALINES;
5
P1 1009590
6
P2 807875
7
P3 120115110
8
;
9
RUN;
10
11
/* Méthode standard - ne permet pas l'optimisation DVR directe */
12
PROC CASUTIL;
13
load DATA=maTableWork casout="maTableCAS";
14
QUIT;
20 Codeblock
DATA STEP / PROC CAS Data
Erklärung : Dieses Beispiel erstellt zunächst eine temporäre SAS-Tabelle ('somedata') mit wiederholten Werten. Anschließend wird die UPLOAD-Anweisung von PROC CAS verwendet, um diese Tabelle auf den CAS-Server zu laden, wobei das DVR-Format und VARCHAR-Konvertierungsoptionen direkt angewendet werden. Dies optimiert die Speichernutzung in einem einzigen Schritt. Eine vorherige Bereinigungs- und Überprüfungsschritt ist enthalten.
Kopiert!
/* Création d'une table temporaire SAS pour l'exemple */
data somedata;
length id $8 name $20 value 8;
do id = 1 to 10;
name = cats('Item', id);
value = mod(id, 3) * 100;
output;
end;
/* Ajout de valeurs répétées pour montrer l'efficacité de DVR */
do id = 11 to 20;
name = 'Repeated';
value = 50;
output;
end;
run;
proc cas;
/* Nettoyage préalable si nécessaire */
action table.droptable / name="somedata" caslib="casuser" quiet=true;
/* Chargement optimisé */
upload /
/* Récupération dynamique du chemin physique de la table SAS */
path="%sysfunc(pathname(work))/somedata.sas7bdat"
/* Configuration de la table de sortie CAS */
casout={
caslib="casuser"
name="somedata"
promote=true, /* Rendre la table globale */
memoryformat="DVR", /* Activation de la compression DVR */
replication=0 /* Ajuster la réplication selon les besoins */
}
/* Options d'importation supplémentaires */
importoptions={
filetype="BASESAS",
varcharConversion=17 /* Convertit les CHAR > 16 octets en VARCHAR */
}
;
quit;
/* Vérification du format de la table en CAS (optionnel) */
proc casutil;
list tables caslib="casuser" level="memory";
quit;
1
/* Création d'une table temporaire SAS pour l'exemple */
2
DATA somedata;
3
LENGTH id $8 name $20 value 8;
4
DO id = 1 to 10;
5
name = cats('Item', id);
6
value = mod(id, 3) * 100;
7
OUTPUT;
8
END;
9
/* Ajout de valeurs répétées pour montrer l'efficacité de DVR */
/* Récupération dynamique du chemin physique de la table SAS */
24
path="%sysfunc(pathname(work))/somedata.sas7bdat"
25
26
/* Configuration de la table de sortie CAS */
27
casout={
28
caslib="casuser"
29
name="somedata"
30
promote=true, /* Rendre la table globale */
31
memoryformat="DVR", /* Activation de la compression DVR */
32
replication=0 /* Ajuster la réplication selon les besoins */
33
}
34
35
/* Options d'importation supplémentaires */
36
importoptions={
37
filetype="BASESAS",
38
varcharConversion=17/* Convertit les CHAR > 16 octets en VARCHAR */
39
}
40
;
41
QUIT;
42
43
/* Vérification du format de la table en CAS (optionnel) */
44
PROC CASUTIL;
45
list tables caslib="casuser" level="memory";
46
QUIT;
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.