Die Quelldaten ('table_with_char') werden direkt innerhalb des Skripts über einen SAS DATA-Schritt zu Demonstrationszwecken generiert.
1 Codeblock
Konfiguration
Erklärung : Dieser Block konfiguriert ein LIBNAME `CASWORK`, um eine Verbindung zur Cloud Analytic Services (CAS)-Engine über die CASLIB 'casuser' herzustellen. Die Anweisung `options USER = CASWORK;` definiert die Standard-CASLIB für einstufige Tabellen. Schließlich zeigt `%put &_sessref_;` die ID der aktiven CAS-Sitzung an.
Kopiert!
libname CASWORK cas caslib=casuser;
options USER = CASWORK;
%put &_sessref_;
1
LIBNAME CASWORK cas caslib=casuser;
2
options USER = CASWORK;
3
4
%put &_sessref_;
2 Codeblock
PROC CAS
Erklärung : Dieser Block verwendet `PROC CAS`, um direkt mit dem CAS-Controller zu interagieren. Er entfernt stillschweigend die CASLIBs 'sas7bdat' und 'sashdat', falls diese existieren, um eine saubere Umgebung zu gewährleisten. Anschließend fügt er eine neue CASLIB namens 'sas7bdat` hinzu, die auf einen Dateisystempfad (`&datapath`) verweist. Die Anweisung `caslib _all_ assign;` wird verwendet, um alle CAS-Librefs und Standard-CASLIBs an die SAS-Client-Sitzung zu binden.
Kopiert!
proc cas;
file log;
table.dropCaslib /
caslib='sas7bdat' quiet = true;
run;
table.dropCaslib /
caslib='sashdat' quiet = true;
run;
addcaslib /
datasource={srctype="path"}
name="sas7bdat"
path="&datapath" ;
run;
quit;
/* Binds all CAS librefs and default CASLIBs to your SAS client */
caslib _all_ assign;
1
PROC CAS;
2
file log;
3
TABLE.dropCaslib /
4
caslib='sas7bdat' quiet = true;
5
RUN;
6
TABLE.dropCaslib /
7
caslib='sashdat' quiet = true;
8
RUN;
9
addcaslib /
10
datasource={srctype="path"}
11
name="sas7bdat"
12
path="&datapath" ;
13
RUN;
14
QUIT;
15
/* Binds all CAS librefs and default CASLIBs to your SAS client */
16
caslib _all_ assign;
3 Codeblock
DATA STEP Data
Erklärung : Dieser DATA-Schritt erstellt eine SAS-Tabelle namens `table_with_char` in der CASLIB 'sas7bdat'. Er initialisiert drei Zeichenvariablen (`a`, `b`, `c`) mit deklarierten Längen von 300, 15 und 16. Es werden Datensätze erstellt, von denen einige Daten enthalten, deren Länge die deklarierte Länge überschreitet, um den Effekt der VARCHAR-Konvertierung und der anschließenden Kürzung zu demonstrieren.
Kopiert!
data sas7bdat.table_with_char;
length a $ 300 b $ 15 c $ 16;
a='a300'; b='b15' ; c='c16' ; output;
a='a300300'; b='b151515'; c='c161616'; output;
c='c161616161616161';
b='b15151515151515';
a="a300qzwsxedcrfvtgbyhnujmiklopqazwsxedcrfvtgbyhnujmikolp12345678901234567890123456789012345678901234567890123456789012345678901234567890"; output;
run;
Erklärung : Dieser Block verwendet `PROC CASUTIL`, um die SAS-Tabelle `table_with_char` (in 'sas7bdat') in die CAS-Engine zu laden und sie in der CASLIB 'casuser' als `table_with_varchar` zu benennen. Die Option `importoptions=(filetype="basesas" varcharconversion=16)` ist entscheidend: Sie gibt an, dass Zeichenvariablen in CAS in den Typ VARCHAR konvertiert werden sollen und ihre maximale Länge auf 16 Bytes festgelegt wird, wobei längere Werte bei Bedarf gekürzt werden. Die Option `replace` stellt sicher, dass die Tabelle neu erstellt wird, falls sie bereits existiert.
Erklärung : Dieser letzte Block verwendet `PROC CAS`, um die neu erstellte CAS-Tabelle abzufragen. `sessionProp.setSessOpt` setzt die aktive CASLIB auf 'casuser'. Anschließend wird die Aktion `table.columninfo` auf `table_with_varchar` ausgeführt, um detaillierte Metadaten aller Spalten anzuzeigen, was die Überprüfung der Datentypen (insbesondere der VARCHAR-Konvertierung) und der effektiven Längen nach der Konvertierung ermöglicht.
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.