Scénario de test & Cas d'usage
Laden, Speichern und Verwalten von Tabellen im Arbeitsspeicher.
Entdecken Sie alle Aktionen von tableErstellt eine Tabelle 'SENSOR_ROHDATEN' mit inkonsistenten Namen und einer Spalte ('UNUSED_FLAG'), die nur fehlende Werte enthält, um einen Grenzfall zu testen.
| 1 | DATA casuser.SENSOR_ROHDATEN; |
| 2 | LENGTH device_id $ 12; |
| 3 | INPUT device_id $ ts temp_celsius humidity_pct UNUSED_FLAG; |
| 4 | DATALINES; |
| 5 | SENSOR_A_01 1672531200 22.5 45 . |
| 6 | SENSOR_A_02 1672531260 22.6 45.1 . |
| 7 | SENSOR_B_01 1672531320 -5.0 88 . |
| 8 | ; |
| 9 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.loadTable / |
| 3 | caslib='CASUSER' |
| 4 | path='SENSOR_ROHDATEN.sashdat' |
| 5 | casOut={name='sensor_input', replace=true}; |
| 6 | RUN; |
| 1 | PROC CAS; |
| 2 | TABLE.alterTable / |
| 3 | name='sensor_input' |
| 4 | columns={ |
| 5 | {name='device_id', rename='SensorID'}, |
| 6 | {name='ts', rename='Zeitstempel', label='UNIX-Zeitstempel'}, |
| 7 | {name='UNUSED_FLAG', drop=true} |
| 8 | }; |
| 9 | RUN; |
| 10 | |
| 11 | TABLE.columnInfo / TABLE='sensor_input'; |
| 12 | RUN; QUIT; |
| 1 | PROC CAS; |
| 2 | TABLE.alterTable / |
| 3 | name='sensor_input' |
| 4 | columns={{name='NON_EXISTENT_COL', label='Dieser Test wird fehlschlagen'}}; |
| 5 | RUN; QUIT; |
Der erste `alterTable`-Aufruf (Schritt 2) wird erfolgreich ausgeführt. Die Tabelle 'sensor_input' hat nun die Spalten 'SensorID' und 'Zeitstempel', und die Spalte 'UNUSED_FLAG' ist nicht mehr vorhanden. Der zweite `alterTable`-Aufruf (Schritt 3) schlägt erwartungsgemäß fehl. Das SAS-Log sollte einen Fehler anzeigen, der besagt, dass die Spalte 'NON_EXISTENT_COL' in der Tabelle nicht gefunden werden konnte. Dies bestätigt, dass die Aktion ungültige Spaltennamen korrekt abfängt und die Tabellenintegrität nicht beeinträchtigt.