table

copyTable

Descripción

Copia una tabla en memoria de CAS a otra tabla en memoria. Esta acción es fundamental para duplicar datos, crear copias de seguridad o preparar conjuntos de datos para diferentes análisis sin alterar la tabla original. Permite copiar la tabla completa o un subconjunto de ella aplicando filtros.

table.copyTable / casout={...} table={...} <distributeRows=TRUE|FALSE>;
Parámetros
ParámetroDescripción
casoutEspecifica la tabla de salida que se creará. Debe incluir al menos el nombre de la nueva tabla.
tableEspecifica la tabla de entrada que se va a copiar.
distributeRowsCuando se establece en TRUE, las filas de la tabla original se redistribuyen entre los workers en la copia. Por defecto (FALSE), las filas permanecen en su worker original.
Creación de Datos de Ejemplo

Este bloque de código crea una tabla en memoria llamada `CARS_SOURCE` en la caslib `CASUSER`. Esta tabla contiene una selección de coches de la tabla `sashelp.cars` y servirá como base para los siguientes ejemplos.

¡Copiado!
1DATA casuser.CARS_SOURCE;
2 SET sashelp.cars;
3 where Make in ('Audi', 'BMW', 'Mercedes-Benz');
4RUN;

Ejemplos

Este ejemplo realiza una copia exacta de la tabla `CARS_SOURCE` a una nueva tabla llamada `CARS_COPIA_SIMPLE` dentro de la misma caslib (`CASUSER`).

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3TABLE.copyTable / TABLE={name='CARS_SOURCE'} casout={name='CARS_COPIA_SIMPLE', replace=true};
4 
5RUN;
6 
7QUIT;
8 
Resultado :
Se crea una nueva tabla en memoria `CARS_COPIA_SIMPLE` que es una copia idéntica de `CARS_SOURCE`.

Este ejemplo copia solo los coches de tipo 'Sedan' de la tabla `CARS_SOURCE` a una nueva tabla llamada `SEDANES_GLOBALES`. La opción `promote=true` hace que la tabla sea visible y accesible para todas las demás sesiones de CAS, no solo la actual (sujeto a los controles de acceso). La opción `replace=true` asegura que si la tabla ya existe, será reemplazada.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3TABLE.copyTable / TABLE={name='CARS_SOURCE', where='Type="Sedan"'} casout={name='SEDANES_GLOBALES', promote=true, replace=true};
4 
5RUN;
6 
7QUIT;
8 
Resultado :
Se crea una nueva tabla global llamada `SEDANES_GLOBALES` que contiene únicamente las filas de `CARS_SOURCE` donde el tipo de coche es 'Sedan'.

Este ejemplo copia la tabla `CARS_SOURCE` a una nueva tabla llamada `COPIA_MARKETING` en una caslib diferente (asumiendo que `Public` es una caslib existente). También se le asigna una etiqueta descriptiva a la nueva tabla.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1 
2PROC CAS;
3TABLE.copyTable / TABLE={caslib='CASUSER', name='CARS_SOURCE'} casout={caslib='Public', name='COPIA_MARKETING', label='Copia para análisis de marketing', replace=true};
4 
5RUN;
6 
7QUIT;
8 
Resultado :
Se crea una nueva tabla `COPIA_MARKETING` en la caslib `Public`. Esta tabla es una copia de `CARS_SOURCE` y tiene la etiqueta 'Copia para análisis de marketing'.

FAQ

¿Para qué sirve la acción copyTable?
¿Qué especifica el parámetro 'table'?
¿Cómo se define la tabla de destino?
¿Es posible sobrescribir una tabla existente con copyTable?
¿Qué hace el parámetro 'distributeRows'?