Esta acción requiere privilegios elevados.
Código de elevación: proc cas; accessControl.assumeRole / adminRole="superuser"; run;
Carga una tabla desde el origen de datos de una caslib a la memoria del servidor CAS. Esta acción es fundamental para hacer que los datos almacenados en ficheros externos (como CSV, Parquet, SASHDAT, etc.) estén disponibles como una tabla en memoria para el procesamiento y análisis en paralelo. Es una de las formas más comunes de ingestar datos en SAS Viya.
| Parámetro | Descripción |
|---|---|
| path | El nombre del fichero o la ruta relativa dentro de la caslib que se va a cargar. Este es el parámetro principal para identificar el origen de los datos. |
| caslib | Especifica la caslib donde se encuentra el fichero de origen. Si se omite, se utiliza la caslib activa de la sesión actual. |
| casOut | Un objeto que define las propiedades de la tabla en memoria resultante. Incluye el nombre de la tabla ('name'), si debe reemplazar una tabla existente ('replace'), y si debe ser promocionada a un alcance global ('promote'). |
| importOptions | Permite especificar opciones de importación detalladas según el tipo de fichero. Por ejemplo, para un CSV, se puede definir el delimitador, el número de la fila de cabecera, o la codificación del fichero. |
| dataSourceOptions | Opciones específicas para orígenes de datos más complejos, como bases de datos. Permite pasar credenciales, propiedades de conexión, etc. |
| promote | Si se establece en 'true', la tabla cargada en memoria será visible y accesible por todas las sesiones de CAS, no solo la actual. Esta operación suele requerir privilegios de administrador, ya que afecta al estado global del servidor. |
| where | Una expresión de filtrado que permite cargar solo un subconjunto de filas del fichero de origen que cumplan con la condición especificada. |
| vars | Permite seleccionar, renombrar, formatear o cambiar el tipo de las columnas durante el proceso de carga, ofreciendo un control granular sobre el esquema de la tabla en memoria. |
El siguiente código SAS crea un fichero CSV llamado 'cars_data.csv' en una ubicación accesible por la caslib. Este fichero servirá como fuente de datos para los ejemplos de carga en CAS. Asume que la macro-variable _SASPROGRAMFILE apunta a un directorio donde se puede escribir.
| 1 | |
| 2 | DATA WORK.CARS_SAMPLE; |
| 3 | SET sashelp.cars; |
| 4 | where Make in ('Audi', 'BMW', 'Acura'); |
| 5 | |
| 6 | RUN; |
| 7 | |
| 8 | PROC EXPORT |
| 9 | DATA=WORK.CARS_SAMPLE outfile="%sysfunc(pathname(work))/cars_data.csv" dbms=csv replace; |
| 10 | |
| 11 | RUN; |
| 12 |
Este ejemplo muestra cómo cargar el fichero 'cars_data.csv' (previamente creado) desde la caslib 'CASUSER' a una tabla en memoria llamada 'CARS_CAS'. La opción 'replace=true' asegura que si la tabla ya existe, será sobrescrita.
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.loadTable / caslib='CASUSER' path='cars_data.csv' casOut={name='CARS_CAS', replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 |
Este ejemplo carga el mismo fichero CSV pero realiza varias operaciones avanzadas: 1) Selecciona solo las columnas 'Make', 'Model' y 'MSRP'. 2) Renombra 'MSRP' a 'Precio' y le aplica un formato de dólar. 3) Carga los datos en una tabla global llamada 'CARS_GLOBAL' para que sea accesible en otras sesiones (requiere privilegios de administrador).
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.loadTable / caslib='CASUSER' path='cars_data.csv' casOut={name='CARS_GLOBAL', promote=true, replace=true, label='Coches de Lujo Globales'} importOptions={fileType='CSV'} vars=[{name='Make', label='Fabricante'}, {name='Model'}, {name='MSRP', rename='Precio', FORMAT='DOLLAR12.2', label='Precio Minorista'}]; |
| 4 | |
| 5 | RUN; |
| 6 |