Publicado el :
ETL MIXTE

Ejemplo de programas de carga masiva

Este código también está disponible en: Deutsch English Français
En espera de validación
El script comienza con la asignación de una libname SAS© (`mybulk`) a una fuente de datos externa (potencialmente SQL Server a través de ODBC), con la opción de carga masiva activada (`bcp=yes`). Luego elimina una tabla existente (`DUBLKTAB`) en esta fuente de datos para asegurar un estado limpio. Se crea un dataset SAS© temporal (`work.DUBLKDAT`) en memoria a partir de datos literales (`datalines`). Este dataset se utiliza posteriormente para poblar la tabla `DUBLKTAB` en la base de datos externa, realizando así la operación de carga masiva. Finalmente, el script utiliza `PROC PRINT` para mostrar el contenido de la tabla `DUBLKTAB` de la base de datos externa, formateando una columna de fecha para una mejor legibilidad.
Análisis de datos

Type : MIXTE


Los datos iniciales se crean internamente a través de un DATA STEP con `datalines` (`work.DUBLKDAT`). Luego se transfieren a una tabla de base de datos externa (`mybulk.DUBLKTAB`) a través de ODBC.

1 Bloque de código
LIBNAME Statement
Explicación :
Asigna una libname SAS llamada `mybulk` a una fuente de datos externa. Las macrovariables `&dbms` y `&connopt` deberían contener la información de conexión específica de la base de datos (probablemente ODBC). La opción `bcp=yes` activa el protocolo de copia masiva, generalmente utilizado con SQL Server, para transferencias de datos optimizadas.
¡Copiado!
1LIBNAME mybulk &dbms &connopt bcp=yes;
2 Bloque de código
PROC DELETE
Explicación :
Elimina la tabla `DUBLKTAB` de la fuente de datos externa (identificada por la libname `mybulk`). Esto garantiza que cualquier ejecución anterior no deje residuos, permitiendo una recreación limpia de la tabla.
¡Copiado!
1PROC DELETE DATA=mybulk.DUBLKTAB;
2RUN;
3 Bloque de código
DATA STEP Data
Explicación :
Crea un dataset SAS temporal llamado `work.DUBLKDAT`. Los datos se definen en línea usando la instrucción `cards;`. Este dataset contiene cuatro variables: `name` (carácter), `age` (numérica), `sex` (carácter) y `bdate` (fecha en formato MMDDYY).
¡Copiado!
1DATA work.DUBLKDAT;
2 INPUT name $ age sex $ bdate mmddyy.;
3 CARDS;
4amy 3 f 030185
5bill 12 m 121277
6charlie 35 m 010253
7david 19 m 101469
8elinor 42 f 080845
9pearl 78 f 051222
10vera 96 f 101200
11frank 24 m 092663
12georgia 1 f 040687
13henry 46 m 053042
14joann 27 f 020461
15buddy 66 m 101432
16;
17RUN;
4 Bloque de código
DATA STEP Data
Explicación :
Este DATA STEP lee el dataset `work.DUBLKDAT` y escribe sus registros en una nueva tabla de base de datos llamada `DUBLKTAB` bajo la libname `mybulk`. Esta es la etapa donde se realiza la carga masiva de datos a la base de datos externa.
¡Copiado!
1DATA mybulk.DUBLKTAB;
2 SET work.DUBLKDAT;
3RUN;
5 Bloque de código
PROC PRINT
Explicación :
Muestra el contenido de la tabla `DUBLKTAB` de la base de datos externa. La instrucción `format bdate date7.;` se utiliza para mostrar la variable `bdate` en un formato de fecha legible (DDMMAA). El título 'proc print of table' se añade a la salida.
¡Copiado!
1PROC PRINT DATA=mybulk.DUBLKTAB;
2 FORMAT bdate date7.;
3title 'proc print of table';
4RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : S A S S A M P L E L I B R A R Y