table

loadTable

Beschreibung

Lädt eine Tabelle aus der Datenquelle einer Caslib in den In-Memory-Speicher des CAS-Servers. Diese Aktion ist fundamental, um Daten für die Analyse in SAS Viya verfügbar zu machen. Sie unterstützt eine Vielzahl von Dateitypen (wie CSV, SASHDAT, Parquet, Excel) und bietet Optionen zur Umbenennung, Ersetzung und zur globalen Promotion von Tabellen, sodass sie über verschiedene Sessions hinweg zugänglich sind.

table.loadTable / caslib="string" path="string" casOut={...} importOptions={...} promote=boolean ...;
Einstellungen
ParameterBeschreibung
attrTableGibt den Namen einer vorhandenen Tabelle mit erweiterten Attributen an, die mit einer ADD-, UPDATE- oder CONVERT-Aufgabe verwendet werden soll.
caslibGibt die Caslib an, aus der die Datenquelle geladen werden soll. Standardmäßig wird die aktive Caslib verwendet.
casOutGibt die Parameter für die resultierende In-Memory-Tabelle an, z. B. Name, Caslib, ob sie ersetzt oder global promotet werden soll.
dataSourceOptionsGibt datenquellenspezifische Optionen an, z. B. Anmeldeinformationen für eine Datenbank oder Konfigurationen für externe Dateisysteme.
importOptionsGibt die Einstellungen zum Lesen der Quelldatei an, z. B. den Dateityp (CSV, EXCEL, JMP usw.) und spezifische Parameter wie Trennzeichen oder zu importierendes Arbeitsblatt.
loadAttrsWenn auf TRUE gesetzt, werden erweiterte Attribute automatisch aus einer Begleitdatei (.ATTRS.sashdat) geladen.
maximumRecordsGibt die maximale Anzahl der zu ladenden Datensätze an. Nützlich für das Testen mit großen Datensätzen.
pathGibt den Dateinamen an, der aus der Quell-Caslib geladen werden soll. Dies ist ein erforderlicher Parameter.
promoteWenn auf TRUE gesetzt, wird die geladene Tabelle mit globalem Geltungsbereich erstellt, sodass sie für andere CAS-Sessions sichtbar ist. Erfordert Administratorrechte.
readAheadWenn auf TRUE gesetzt, wird die Tabelle sofort nach der Aktion in den Speicher geladen, anstatt zu warten, bis sie zum ersten Mal verwendet wird.
varsErmöglicht die Änderung von Variablenattributen (wie Name, Format, Label) während des Ladevorgangs.
whereGibt eine WHERE-Klausel als Zeichenfolge an, um die aus der Quelldatei gelesenen Zeilen zu filtern.
Erstellung einer Beispieldatei

Um die `loadTable`-Aktion zu demonstrieren, erstellen wir zunächst eine CSV-Datei und legen sie in der `casuser`-Caslib ab. Dieser SAS-Code verwendet `proc export`, um den `sashelp.cars`-Datensatz in eine CSV-Datei zu konvertieren.

Kopiert!
1 
2PROC EXPORT
3DATA=sashelp.cars outfile="/cas/
4data/casuser/cars.csv" dbms=csv replace;
5 
6RUN;
7 

Beispiele

Dieses Beispiel lädt die Datei 'cars.csv' aus der 'casuser' Caslib in eine In-Memory-Tabelle namens 'CARS'. Die `replace=true`-Option stellt sicher, dass eine bereits vorhandene Tabelle gleichen Namens überschrieben wird.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.loadTable / caslib="casuser" path="cars.csv" casOut={name="CARS", replace=true};
4 
5RUN;
6 
7QUIT;
8 
Ergebnis :
Eine neue In-Memory-Tabelle namens 'CARS' wird in der 'casuser' Caslib erstellt. Eine Meldung im SAS-Log bestätigt das Laden der Tabelle und die Anzahl der geladenen Zeilen und Spalten.

Lädt 'cars.csv' und macht es als globale Tabelle 'CARS_GLOBAL' verfügbar, sodass andere Benutzer und Sessions darauf zugreifen können. Diese Aktion erfordert Administratorrechte, die durch `accessControl.assumeRole` angenommen werden.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3ACCESSCONTROL.assumeRole / adminRole="superuser";
4 
5RUN;
6TABLE.loadTable / caslib="casuser" path="cars.csv" casOut={name="CARS_GLOBAL", promote=true, replace=true};
7 
8RUN;
9ACCESSCONTROL.dropRole / adminRole="superuser";
10 
11RUN;
12 
13QUIT;
14 
Ergebnis :
Die Tabelle 'CARS_GLOBAL' ist für alle Sessions verfügbar. Im Log wird die erfolgreiche Promotion und das Laden der Tabelle vermerkt.

Lädt Daten aus einer Excel-Datei. Der Parameter `importOptions` wird verwendet, um den Dateityp ('EXCEL') anzugeben und mit `sheet` ein bestimmtes Arbeitsblatt auszuwählen.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.loadTable / caslib="
4data" path="quartalsbericht.xlsx" importOptions={fileType="EXCEL", sheet="Quartal4"} casOut={name="verkaeufe_q4", replace=true};
5 
6RUN;
7 
8QUIT;
9 
Ergebnis :
Eine In-Memory-Tabelle 'verkaeufe_q4' wird erstellt, die ausschließlich die Daten aus dem Arbeitsblatt 'Quartal4' der Excel-Datei enthält.

Lädt eine SASHDAT-Datei, aber filtert die Daten während des Ladevorgangs, sodass nur Zeilen, die der WHERE-Bedingung entsprechen (hier: Fahrzeuge der Marke 'BMW'), in die In-Memory-Tabelle geladen werden.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1 
2PROC CAS;
3TABLE.loadTable / caslib="casuser" path="cars.sashdat" where="Make = 'BMW'" casOut={name="bmw_cars", replace=true};
4 
5RUN;
6 
7QUIT;
8 
Ergebnis :
Die Tabelle 'bmw_cars' wird im Speicher erstellt und enthält nur die Datensätze für BMW-Fahrzeuge. Dies ist effizienter, als die vollständige Tabelle zu laden und sie anschließend zu filtern.

FAQ

Was ist der Zweck der Aktion `loadTable`?
Welche Dateitypen können mit `loadTable` geladen werden?
Wie gibt man die zu ladende Datei an?
Kann `loadTable` eine bereits existierende In-Memory-Tabelle überschreiben?
Was bewirkt die Option `promote`?