Publicado el :

Demostración de bucles DO y procesamiento iterativo

Este código también está disponible en: Deutsch English Français
En espera de validación
Este programa presenta una serie de ejemplos progresivos para comprender cómo funcionan los bucles en SAS©. Cubre la sintaxis básica de un bucle iterativo, el impacto de la instrucción OUTPUT para controlar la escritura de observaciones, las variaciones de incremento (paso positivo, negativo, decimal), la iteración sobre una lista de valores específicos, los bucles anidados, así como los bucles condicionales DO WHILE y DO UNTIL.
Análisis de datos

Type : CREACION_INTERNA


Todas las tablas se crean dinámicamente utilizando bucles y asignaciones de variables dentro de los pasos DATA.

1 Bloque de código
DATA STEP Data
¡Copiado!
1/*
2Demonstration: Simple Illustration of How DO Loops Work
3*/
4DATA simple1;
5 DO i = 1 to 4;
6 answer = 1 + i;
7 END;
8RUN;
9 
10PROC PRINT DATA=simple1 noobs;
11RUN;
2 Bloque de código
DATA STEP Data
¡Copiado!
1/*
2Demonstration: Using the Output Statement
3*/
4DATA simple2;
5 DO i = 1 to 4;
6 answer = 1 + i;
7 OUTPUT;
8 END;
9RUN;
10 
11PROC PRINT DATA=simple2 noobs;
12RUN;
3 Bloque de código
DATA STEP Data
¡Copiado!
1*Simple example #3;
2DATA simple3 (drop=i);
3 DO i = 1 to 4;
4 answer = 1 + i;
5 OUTPUT;
6 END;
7RUN;
8 
9PROC PRINT DATA=simple3 noobs;
10RUN;
4 Bloque de código
DATA STEP Data
¡Copiado!
1*Simple example #4;
2DATA simple4 (drop=i);
3 DO i = 0 to 10 BY 2;
4 answer = 1 + i;
5 OUTPUT;
6 END;
7RUN;
8 
9PROC PRINT DATA=simple4 noobs;
10RUN;
5 Bloque de código
DATA STEP Data
¡Copiado!
1*Simple example #5;
2DATA simple5 (drop=i);
3 DO i = 0 to 10 BY .25;
4 answer = 1 + i;
5 OUTPUT;
6 END;
7RUN;
8 
9PROC PRINT DATA=simple5 noobs;
10RUN;
6 Bloque de código
DATA STEP Data
¡Copiado!
1*Simple example 6;
2DATA simple6 (drop=i);
3 DO i = 10 to 1 BY -1;
4 answer = 1 + i;
5 OUTPUT;
6 END;
7RUN;
8 
9PROC PRINT DATA=simple6 noobs;
10RUN;
7 Bloque de código
DATA STEP Data
¡Copiado!
1*Simple example 7;
2DATA simple7 (drop=i);
3 DO i = 10, 12, 23, 147;
4 answer = 1 + i;
5 OUTPUT;
6 END;
7RUN;
8 
9PROC PRINT DATA=simple7 noobs;
10RUN;
8 Bloque de código
DATA STEP Data
¡Copiado!
1*Nesting do loops;
2DATA nested;
3 DO i = 1 to 10;
4 DO j = i**2;
5 OUTPUT;
6 END;
7 END;
8RUN;
9 
10PROC PRINT DATA=nested noobs;
11RUN;
9 Bloque de código
DATA STEP Data
¡Copiado!
1*Example of using do while;
2DATA simple8;
3 DO while (answer < 11);
4 answer + 1;
5 OUTPUT;
6 END;
7RUN;
8 
9PROC PRINT DATA=simple8 noobs;
10RUN;
10 Bloque de código
DATA STEP Data
¡Copiado!
1*Example of using do until;
2DATA simple9;
3 DO until (answer > 9);
4 answer + 1;
5 OUTPUT;
6 END;
7RUN;
8 
9PROC PRINT DATA=simple9 noobs;
10RUN;
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.