Les exemples utilisent des données SASHELP (iris) et des créations de tables internes via DATA step, chargées en mémoire CAS.
1 Bloc de code
PROC CAS / simple.summary
Explication : Cet exemple démontre la coercition de paramètre la plus simple pour une liste de paramètres. Le paramètre `table=` attend normalement une liste avec des options comme `name=`. Ici, 'iris' est directement fourni en tant que chaîne, et le serveur CAS l'interprète comme la valeur du paramètre `name` par défaut. Cela simplifie la syntaxe en omettant les accolades et la clé 'name='. La `caslib` est spécifiée pour garantir l'emplacement de la table 'iris'.
Copié !
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 Bloc de code
PROC CAS / dataPreprocess.binning Data
Explication : Cet exemple illustre la coercition pour un tableau de paramètres, tel que le paramètre `inputs` de l'action `binning`. Au lieu de spécifier `inputs={{name="SepalLength"}, {name="PetalLength"}}`, nous pouvons directement lister les noms des variables dans un tableau de chaînes (`{"SepalLength", "PetalLength"}`). Le serveur CAS interprète chaque chaîne comme la valeur du paramètre `name` pour chaque élément du tableau. Ceci rend le code plus concis et lisible. La table `iris` est chargée dans `casuser` pour garantir l'autonomie de l'exemple.
Copié !
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 Bloc de code
PROC CAS / regression.logistic Data
Explication : Cet exemple avancé montre comment combiner des paramètres coercés avec des spécifications complètes au sein d'un même tableau, en utilisant le paramètre `class=` souvent présent dans les actions statistiques (ici, `regression.logistic`). Pour la variable 'var1', seule la chaîne est fournie (`"var1"`), s'appuyant sur la coercition pour `name="var1"`. Pour 'var2', une spécification complète est utilisée (`{name="var2", order="FORMATTED"}`) pour inclure une option `order`. Cela illustre la flexibilité d'utiliser la forme la plus simple lorsque c'est possible et la forme complète lorsque des options supplémentaires sont nécessaires.
Copié !
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 */
Explication : Cet exemple démontre la coercition lors du chargement d'une table dans CAS. D'abord, une table SAS locale (`work.local_data`) est créée. Ensuite, l'action `table.loadtable` est utilisée pour charger cette table dans la mémoire CAS. Ici, la valeur de `path` (`"work.local_data"`) est directement fournie, le serveur CAS la coercant pour désigner la source. De même, le paramètre `target` est simplifié à `"my_loaded_table"`, le serveur l'interprétant comme `name="my_loaded_table"`. L'utilisation de `caslib="casuser"` explicitement dans l'action montre comment cibler une bibliothèque spécifique.
Copié !
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;
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.