Diese Aktion erfordert erhöhte Rechte.
Erweiterungscode: proc cas; accessControl.assumeRole / adminRole="superuser"; run;
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.
| Parameter | Beschreibung |
|---|---|
| attrTable | Gibt den Namen einer vorhandenen Tabelle mit erweiterten Attributen an, die mit einer ADD-, UPDATE- oder CONVERT-Aufgabe verwendet werden soll. |
| caslib | Gibt die Caslib an, aus der die Datenquelle geladen werden soll. Standardmäßig wird die aktive Caslib verwendet. |
| casOut | Gibt die Parameter für die resultierende In-Memory-Tabelle an, z. B. Name, Caslib, ob sie ersetzt oder global promotet werden soll. |
| dataSourceOptions | Gibt datenquellenspezifische Optionen an, z. B. Anmeldeinformationen für eine Datenbank oder Konfigurationen für externe Dateisysteme. |
| importOptions | Gibt die Einstellungen zum Lesen der Quelldatei an, z. B. den Dateityp (CSV, EXCEL, JMP usw.) und spezifische Parameter wie Trennzeichen oder zu importierendes Arbeitsblatt. |
| loadAttrs | Wenn auf TRUE gesetzt, werden erweiterte Attribute automatisch aus einer Begleitdatei (.ATTRS.sashdat) geladen. |
| maximumRecords | Gibt die maximale Anzahl der zu ladenden Datensätze an. Nützlich für das Testen mit großen Datensätzen. |
| path | Gibt den Dateinamen an, der aus der Quell-Caslib geladen werden soll. Dies ist ein erforderlicher Parameter. |
| promote | Wenn auf TRUE gesetzt, wird die geladene Tabelle mit globalem Geltungsbereich erstellt, sodass sie für andere CAS-Sessions sichtbar ist. Erfordert Administratorrechte. |
| readAhead | Wenn auf TRUE gesetzt, wird die Tabelle sofort nach der Aktion in den Speicher geladen, anstatt zu warten, bis sie zum ersten Mal verwendet wird. |
| vars | Ermöglicht die Änderung von Variablenattributen (wie Name, Format, Label) während des Ladevorgangs. |
| where | Gibt eine WHERE-Klausel als Zeichenfolge an, um die aus der Quelldatei gelesenen Zeilen zu filtern. |
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.
| 1 | |
| 2 | PROC EXPORT |
| 3 | DATA=sashelp.cars outfile="/cas/ |
| 4 | data/casuser/cars.csv" dbms=csv replace; |
| 5 | |
| 6 | RUN; |
| 7 |
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.
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.loadTable / caslib="casuser" path="cars.csv" casOut={name="CARS", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
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.
| 1 | |
| 2 | PROC CAS; |
| 3 | ACCESSCONTROL.assumeRole / adminRole="superuser"; |
| 4 | |
| 5 | RUN; |
| 6 | TABLE.loadTable / caslib="casuser" path="cars.csv" casOut={name="CARS_GLOBAL", promote=true, replace=true}; |
| 7 | |
| 8 | RUN; |
| 9 | ACCESSCONTROL.dropRole / adminRole="superuser"; |
| 10 | |
| 11 | RUN; |
| 12 | |
| 13 | QUIT; |
| 14 |
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.
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.loadTable / caslib=" |
| 4 | data" path="quartalsbericht.xlsx" importOptions={fileType="EXCEL", sheet="Quartal4"} casOut={name="verkaeufe_q4", replace=true}; |
| 5 | |
| 6 | RUN; |
| 7 | |
| 8 | QUIT; |
| 9 |
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.
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.loadTable / caslib="casuser" path="cars.sashdat" where="Make = 'BMW'" casOut={name="bmw_cars", replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |