Die bereitgestellten Beispiele verwenden generische Dateisystempfade (`/tmp/mydata`, `/project/data`, `/cas/data/dynamic_source`, `/tmp/my_user_data`), die auf dem Dateisystem des CAS-Servers existieren oder erstellt werden müssen. Das erweiterte Beispiel verwendet auch eine SASHELP-Tabelle (`CARS`) zur Datenlade-Demonstration.
1 Codeblock
PROC CAS Data
Erklärung : Dieses Beispiel zeigt die Erstellung einer einfachen Caslib namens 'mybasiccaslib', die auf das Verzeichnis `/tmp/mydata` im Dateisystem des CAS-Servers verweist. Anschließend wird die Erstellung dieser Caslib überprüft.
Kopiert!
proc cas;
session casauto;
table.addCaslib /
name="mybasiccaslib",
description="Caslib de base pour mes données",
dataSource={srctype="path"},
path="/tmp/mydata";
run;
/* Vérifier que la caslib a été ajoutée */
proc cas;
session casauto;
table.caslibinfo / caslib="mybasiccaslib";
run;
1
PROC CAS;
2
SESSION casauto;
3
TABLE.addCaslib /
4
name="mybasiccaslib",
5
description="Caslib de base pour mes données",
6
dataSource={srctype="path"},
7
path="/tmp/mydata";
8
RUN;
9
10
/* Vérifier que la caslib a été ajoutée */
11
PROC CAS;
12
SESSION casauto;
13
TABLE.caslibinfo / caslib="mybasiccaslib";
14
RUN;
2 Codeblock
PROC CAS Data
Erklärung : Dieses Beispiel erstellt eine Caslib namens 'global_project_data', die gängige Optionen enthält. Die Option `subdirs=TRUE` ermöglicht es der Caslib, Unterverzeichnisse des angegebenen Pfads zu erkennen und darauf zuzugreifen. Die Option `globals=TRUE` macht diese Caslib für alle CAS-Sitzungen zugänglich und nicht nur für die Sitzung des Benutzers, der sie erstellt hat.
Kopiert!
proc cas;
session casauto;
table.addCaslib /
name="global_project_data",
description="Données de projet avec sous-répertoires et accès global",
dataSource={srctype="path"},
path="/project/data",
subdirs=TRUE,
globals=TRUE;
run;
/* Vérifier la configuration de la caslib */
proc cas;
session casauto;
table.caslibinfo / caslib="global_project_data";
run;
1
PROC CAS;
2
SESSION casauto;
3
TABLE.addCaslib /
4
name="global_project_data",
5
description="Données de projet avec sous-répertoires et accès global",
6
dataSource={srctype="path"},
7
path="/project/data",
8
subdirs=TRUE,
9
globals=TRUE;
10
RUN;
11
12
/* Vérifier la configuration de la caslib */
13
PROC CAS;
14
SESSION casauto;
15
TABLE.caslibinfo / caslib="global_project_data";
16
RUN;
3 Codeblock
PROC CAS / Commandes Shell Data
Erklärung : Dieses erweiterte Beispiel veranschaulicht die dynamische Erstellung und Verwaltung einer Caslib mithilfe von SAS-Makrovariablen. Es beginnt mit der Erstellung eines Verzeichnisses im Dateisystem des CAS-Servers über einen Shell-Befehl. Anschließend wird eine Caslib (`DynamicCaslib`) hinzugefügt, die auf dieses Verzeichnis verweist, und anfänglich als nicht aktiv (`active=FALSE`) definiert. Die Caslib wird dann aktiviert und ihr Status überprüft. Schließlich enthält das Beispiel Bereinigungsschritte zum Löschen der Caslib und des erstellten Verzeichnisses, wodurch ein vollständiger Lebenszyklus demonstriert wird.
Kopiert!
%let myCaslibName = DynamicCaslib;
%let myCaslibPath = /cas/data/dynamic_source;
/* Assurez-vous que le chemin existe pour l'exemple */
/* Ceci exécute une commande shell pour créer le répertoire sur le serveur CAS */
filename _TEMP_CMD_ pipe "mkdir -p &myCaslibPath";
data _null_; infile _TEMP_CMD_ ; input; run;
proc cas;
session casauto;
table.addCaslib /
name="&myCaslibName",
description="Caslib créée dynamiquement via macro-variables",
dataSource={srctype="path"},
path="&myCaslibPath",
active=FALSE; /* La caslib n'est pas activée immédiatement */
run;
/* Activer la caslib et vérifier */
proc cas;
session casauto;
table.caslibinfo / caslib="&myCaslibName";
table.setCaslib / caslib="&myCaslibName", active=TRUE;
table.caslibinfo / caslib="&myCaslibName";
run;
/* Nettoyage : Supprimer la caslib et le dossier créé */
proc cas;
session casauto;
table.dropCaslib / caslib="&myCaslibName";
run;
filename _TEMP_CMD_ pipe "rmdir &myCaslibPath";
data _null_; infile _TEMP_CMD_ ; input; run;
1
%let myCaslibName = DynamicCaslib;
2
%let myCaslibPath = /cas/DATA/dynamic_source;
3
4
/* Assurez-vous que le chemin existe pour l'exemple */
5
/* Ceci exécute une commande shell pour créer le répertoire sur le serveur CAS */
/* Nettoyage : Supprimer la caslib et le dossier créé */
28
PROC CAS;
29
SESSION casauto;
30
TABLE.dropCaslib / caslib="&myCaslibName";
31
RUN;
32
filename _TEMP_CMD_ pipe "rmdir &myCaslibPath";
33
DATA _null_; INFILE _TEMP_CMD_ ; INPUT; RUN;
4 Codeblock
PROC CAS / PROC CASUTIL Data
Erklärung : Dieses Beispiel demonstriert die Erstellung einer persönlichen Caslib (`personal=TRUE`), die nur für die CAS-Sitzung des Benutzers sichtbar ist, der sie erstellt. Der Pfad `/tmp/my_user_data` wird verwendet. Anschließend wird die Aktion `loadcasdata` verwendet, um die Tabelle `CARS` aus der SASHELP-Bibliothek in diese persönliche Caslib zu laden, wodurch sie im Speicher in CAS unter dem Namen `cars_in_cas` verfügbar gemacht wird. Das Beispiel listet dann die Tabellen in dieser Caslib auf und löscht schließlich die persönliche Caslib. Es ist wichtig sicherzustellen, dass das Verzeichnis `/tmp/my_user_data` existiert und für den CAS-Benutzer beschreibbar ist.
Kopiert!
/* Création d'une caslib personnelle temporaire */
/* Note: Le chemin doit être accessible et en écriture pour l'utilisateur CAS */
proc cas;
session casauto;
table.addCaslib /
name="my_personal_caslib",
description="Caslib personnelle temporaire pour chargement de données",
dataSource={srctype="path"},
path="/tmp/my_user_data",
personal=TRUE,
subdirs=TRUE; /* Permettre les sous-répertoires */
run;
/* Vérifier l'existence et l'activation de la caslib personnelle */
proc cas;
session casauto;
table.caslibinfo / caslib="my_personal_caslib";
run;
/* Charger des données SASHELP dans cette caslib personnelle */
/* Assurez-vous que le répertoire '/tmp/my_user_data' existe et est accessible en écriture */
proc cas;
session casauto;
loadcasdata /
caslib="my_personal_caslib",
path="CARS", /* Chargement de la table CARS de SASHELP */
casout="cars_in_cas",
promote=TRUE; /* Promote la table en mémoire pour être accessible */
run;
/* Lister les tables dans la caslib personnelle */
proc cas;
session casauto;
table.tableinfo / caslib="my_personal_caslib";
run;
/* Supprimer la caslib personnelle */
proc cas;
session casauto;
table.dropCaslib / caslib="my_personal_caslib";
run;
/* Nettoyage : Si des fichiers ont été écrits, ils doivent être supprimés manuellement du chemin /tmp/my_user_data */
1
/* Création d'une caslib personnelle temporaire */
2
/* Note: Le chemin doit être accessible et en écriture pour l'utilisateur CAS */
3
PROC CAS;
4
SESSION casauto;
5
TABLE.addCaslib /
6
name="my_personal_caslib",
7
description="Caslib personnelle temporaire pour chargement de données",
8
dataSource={srctype="path"},
9
path="/tmp/my_user_data",
10
personal=TRUE,
11
subdirs=TRUE; /* Permettre les sous-répertoires */
12
RUN;
13
14
/* Vérifier l'existence et l'activation de la caslib personnelle */
15
PROC CAS;
16
SESSION casauto;
17
TABLE.caslibinfo / caslib="my_personal_caslib";
18
RUN;
19
20
/* Charger des données SASHELP dans cette caslib personnelle */
21
/* Assurez-vous que le répertoire '/tmp/my_user_data' existe et est accessible en écriture */
22
PROC CAS;
23
SESSION casauto;
24
loadcasdata /
25
caslib="my_personal_caslib",
26
path="CARS", /* Chargement de la table CARS de SASHELP */
27
casout="cars_in_cas",
28
promote=TRUE; /* Promote la table en mémoire pour être accessible */
29
RUN;
30
31
/* Lister les tables dans la caslib personnelle */
32
PROC CAS;
33
SESSION casauto;
34
TABLE.tableinfo / caslib="my_personal_caslib";
35
RUN;
36
37
/* Supprimer la caslib personnelle */
38
PROC CAS;
39
SESSION casauto;
40
TABLE.dropCaslib / caslib="my_personal_caslib";
41
RUN;
42
43
/* Nettoyage : Si des fichiers ont été écrits, ils doivent être supprimés manuellement du chemin /tmp/my_user_data */
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.