Publicado el :
ETL SASHELP

Ejecución de un bucle DO iterativo

Este código también está disponible en: Deutsch English Français
En espera de validación
El programa lee los dos primeros registros de la tabla `sashelp.shoes`. Para cada registro leído, ejecuta un bucle `DO` tres veces (para `Year` de 1 a 3). Dentro del bucle, aumenta el valor de `ProjectedSales` en un 5% y escribe un nuevo registro en la tabla `forecast` en cada iteración gracias a la instrucción `OUTPUT`. Finalmente, solo conserva ciertas columnas y aplica un formato monetario a `ProjectedSales`. Las instrucciones `PUTLOG` ayudan a seguir la ejecución en el registro SAS©.
Análisis de datos

Type : SASHELP


Los datos provienen de la tabla `sashelp.shoes`. El script solo lee las dos primeras observaciones (opción obs=2).

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque de código es un paso DATA que crea la tabla `forecast`. Comienza leyendo las dos primeras observaciones de `sashelp.shoes` renombrando la columna `Sales`. Se utiliza un bucle `DO` para iterar tres veces por cada observación de entrada. En cada iteración, la variable `ProjectedSales` se recalcula (aumentada en un 5%) y se escribe explícitamente un nuevo registro en la tabla de salida con la instrucción `OUTPUT`. Después del bucle, la instrucción `KEEP` selecciona las columnas a conservar y `FORMAT` aplica un formato monetario a `ProjectedSales`.
¡Copiado!
1DATA forecast;
2 putlog 'Top of DATA Step ' Year= _N_=;
3 SET sashelp.shoes(obs=2 rename=(Sales=ProjectedSales));
4 DO Year = 1 to 3;
5 ProjectedSales=ProjectedSales*1.05;
6 OUTPUT;
7 putlog 'Value of Year written to table: ' Year=;
8 END;
9 putlog 'Outside of DO Loop: ' Year=;
10 keep Region Product Subsidiary Year ProjectedSales;
11 FORMAT ProjectedSales dollar10.;
12RUN;
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.