Die Beispiele verwenden SASHELP-Daten (iris) und interne Tabellenerstellungen über DATA step, die im CAS-Speicher geladen werden.
1 Codeblock
PROC CAS / simple.summary
Erklärung : Dieses Beispiel demonstriert die einfachste Parameter-Koerzition für eine Parameterliste. Der Parameter `table=` erwartet normalerweise eine Liste mit Optionen wie `name=`. Hier wird 'iris' direkt als Zeichenfolge bereitgestellt, und der CAS-Server interpretiert dies standardmäßig als Wert für den Parameter `name`. Dies vereinfacht die Syntax, indem die geschweiften Klammern und der Schlüssel 'name=' weggelassen werden. Die `caslib` wird angegeben, um den Speicherort der Tabelle 'iris' zu gewährleisten.
Kopiert!
proc cas;
session casauto;
/* Utilisation avec coercition: 'iris' est coercé en name="iris" */
/* La caslib SASHELP est généralement accessible par défaut. */
simple.summary / table="iris", caslib="SASHELP";
run;
quit;
1
PROC CAS;
2
SESSION casauto;
3
4
/* Utilisation avec coercition: 'iris' est coercé en name="iris" */
5
/* La caslib SASHELP est généralement accessible par défaut. */
6
SIMPLE.summary / TABLE="iris", caslib="SASHELP";
7
RUN;
8
QUIT;
2 Codeblock
PROC CAS / dataPreprocess.binning Data
Erklärung : Dieses Beispiel veranschaulicht die Koerzition für ein Parameter-Array, wie den Parameter `inputs` der `binning`-Aktion. Anstatt `inputs={{name="SepalLength"}, {name="PetalLength"}}` anzugeben, können wir die Variablennamen direkt in einem Zeichenfolgen-Array (`{"SepalLength", "PetalLength"}`) auflisten. Der CAS-Server interpretiert jede Zeichenfolge als den Wert des `name`-Parameters für jedes Element des Arrays. Dies macht den Code prägnanter und lesbarer. Die `iris`-Tabelle wird in `casuser` geladen, um die Autonomie des Beispiels zu gewährleisten.
Kopiert!
proc cas;
session casauto;
/* S'assurer que la caslib 'casuser' existe et est active */
caslib _all_ assign;
/* Charger la table iris dans la caslib 'casuser' pour l'exemple */
proc casutil;
load casdata="iris" incaslib="SASHELP" outcaslib="casuser" replace;
run;
/* Utilisation avec coercition pour le tableau 'inputs' */
dataPreprocess.binning /
table="iris",
caslib="casuser",
inputs={"SepalLength", "PetalLength"};
/* Nettoyage: suppression de la table temporaire */
table.dropTable / name="iris", caslib="casuser";
run;
quit;
1
PROC CAS;
2
SESSION casauto;
3
/* S'assurer que la caslib 'casuser' existe et est active */
4
caslib _all_ assign;
5
6
/* Charger la table iris dans la caslib 'casuser' pour l'exemple */
/* Utilisation avec coercition pour le tableau 'inputs' */
12
dataPreprocess.binning /
13
TABLE="iris",
14
caslib="casuser",
15
inputs={"SepalLength", "PetalLength"};
16
17
/* Nettoyage: suppression de la table temporaire */
18
TABLE.dropTable / name="iris", caslib="casuser";
19
RUN;
20
QUIT;
3 Codeblock
PROC CAS / regression.logistic Data
Erklärung : Dieses fortgeschrittene Beispiel zeigt, wie koerzierte Parameter mit vollständigen Spezifikationen innerhalb desselben Arrays kombiniert werden können, wobei der Parameter `class=` verwendet wird, der häufig in statistischen Aktionen (hier `regression.logistic`) vorkommt. Für die Variable 'var1' wird nur die Zeichenfolge (`"var1"`) bereitgestellt, wobei auf die Koerzition für `name="var1"` zurückgegriffen wird. Für 'var2' wird eine vollständige Spezifikation (`{name="var2", order="FORMATTED"}`) verwendet, um eine `order`-Option einzuschließen. Dies veranschaulicht die Flexibilität, die einfachste Form zu verwenden, wenn dies möglich ist, und die vollständige Form, wenn zusätzliche Optionen erforderlich sind.
Kopiert!
proc cas;
session casauto;
caslib _all_ assign;
/* Création d'une table d'exemple en mémoire CAS */
data casuser.mydata;
input var1 $ var2 var3;
datalines;
A 10 1
B 20 0
A 15 1
C 25 0
B 12 1
D 30 1
;
run;
/* Exemple d'action utilisant le paramètre 'class' avec coercition partielle */
/* Charger l'actionSet 'regression' si ce n'est pas déjà fait */
builtins.loadActionSet / actionSet="regression";
regression.logistic /
table={name="mydata", caslib="casuser"},
model={target="var3"},
inputs="var2",
class={
"var1", /* Coercition pour name="var1" */
{name="var2", order="FORMATTED"} /* Spécification complète pour var2 avec option */
};
/* Nettoyage de la table */
table.dropTable / name="mydata", caslib="casuser";
run;
quit;
1
PROC CAS;
2
SESSION casauto;
3
caslib _all_ assign;
4
5
/* Création d'une table d'exemple en mémoire CAS */
6
DATA casuser.mydata;
7
INPUT var1 $ var2 var3;
8
DATALINES;
9
A 101
10
B 20 0
11
A 151
12
C 25 0
13
B 121
14
D 301
15
;
16
RUN;
17
18
/* Exemple d'action utilisant le paramètre 'class' avec coercition partielle */
19
/* Charger l'actionSet 'regression' si ce n'est pas déjà fait */
20
BUILTINS.LOADACTIONSET / actionSet="regression";
21
22
regression.logistic /
23
TABLE={name="mydata", caslib="casuser"},
24
model={target="var3"},
25
inputs="var2",
26
class={
27
"var1", /* Coercition pour name="var1" */
28
{name="var2", order="FORMATTED"} /* Spécification complète pour var2 avec option */
Erklärung : Dieses Beispiel demonstriert die Koerzition beim Laden einer Tabelle in CAS. Zuerst wird eine lokale SAS-Tabelle (`work.local_data`) erstellt. Anschließend wird die Aktion `table.loadtable` verwendet, um diese Tabelle in den CAS-Speicher zu laden. Hier wird der Wert von `path` (`"work.local_data"`) direkt bereitgestellt, wobei der CAS-Server ihn koerziert, um die Quelle zu bezeichnen. Ebenso wird der Parameter `target` zu `"my_loaded_table"` vereinfacht, wobei der Server ihn als `name="my_loaded_table"` interpretiert. Die explizite Verwendung von `caslib="casuser"` in der Aktion zeigt, wie eine bestimmte Bibliothek angesprochen wird.
Kopiert!
proc cas;
session casauto;
/* S'assurer que la caslib 'casuser' existe et est active */
caslib _all_ assign;
/* Créer une table SAS locale pour l'exemple */
data work.local_data;
input id name $;
datalines;
1 Alpha
2 Beta
3 Gamma
;
run;
/* Charger la table locale 'local_data' dans la caslib 'casuser' de CAS */
/* 'path' est coercé, 'target' est coercé */
table.loadtable /
caslib="casuser",
path="work.local_data",
promote=TRUE,
target="my_loaded_table";
/* Afficher les informations de la table chargée */
table.tableInfo / name="my_loaded_table", caslib="casuser";
/* Nettoyage : supprimer la table chargée de CAS */
table.dropTable / name="my_loaded_table", caslib="casuser";
/* Nettoyage : supprimer la table de travail SAS locale */
proc datasets lib=work nolist;
delete local_data;
run; quit;
run;
quit;
1
PROC CAS;
2
SESSION casauto;
3
4
/* S'assurer que la caslib 'casuser' existe et est active */
5
caslib _all_ assign;
6
7
/* Créer une table SAS locale pour l'exemple */
8
DATA work.local_data;
9
INPUT id name $;
10
DATALINES;
11
1 Alpha
12
2 Beta
13
3 Gamma
14
;
15
RUN;
16
17
/* Charger la table locale 'local_data' dans la caslib 'casuser' de CAS */
18
/* 'path' est coercé, 'target' est coercé */
19
TABLE.loadtable /
20
caslib="casuser",
21
path="work.local_data",
22
promote=TRUE,
23
target="my_loaded_table";
24
25
/* Afficher les informations de la table chargée */
/* Nettoyage : supprimer la table de travail SAS locale */
32
PROC DATASETS lib=work nolist;
33
delete local_data;
34
RUN; QUIT;
35
36
RUN;
37
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.