Type : CREACION_INTERNA
Todas las tablas se crean dinámicamente utilizando bucles y asignaciones de variables dentro de los pasos DATA.
| 1 | /* |
| 2 | Demonstration: Simple Illustration of How DO Loops Work |
| 3 | */ |
| 4 | DATA simple1; |
| 5 | DO i = 1 to 4; |
| 6 | answer = 1 + i; |
| 7 | END; |
| 8 | RUN; |
| 9 | |
| 10 | PROC PRINT DATA=simple1 noobs; |
| 11 | RUN; |
| 1 | /* |
| 2 | Demonstration: Using the Output Statement |
| 3 | */ |
| 4 | DATA simple2; |
| 5 | DO i = 1 to 4; |
| 6 | answer = 1 + i; |
| 7 | OUTPUT; |
| 8 | END; |
| 9 | RUN; |
| 10 | |
| 11 | PROC PRINT DATA=simple2 noobs; |
| 12 | RUN; |
| 1 | *Simple example #3; |
| 2 | DATA simple3 (drop=i); |
| 3 | DO i = 1 to 4; |
| 4 | answer = 1 + i; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | PROC PRINT DATA=simple3 noobs; |
| 10 | RUN; |
| 1 | *Simple example #4; |
| 2 | DATA simple4 (drop=i); |
| 3 | DO i = 0 to 10 BY 2; |
| 4 | answer = 1 + i; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | PROC PRINT DATA=simple4 noobs; |
| 10 | RUN; |
| 1 | *Simple example #5; |
| 2 | DATA simple5 (drop=i); |
| 3 | DO i = 0 to 10 BY .25; |
| 4 | answer = 1 + i; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | PROC PRINT DATA=simple5 noobs; |
| 10 | RUN; |
| 1 | *Simple example 6; |
| 2 | DATA simple6 (drop=i); |
| 3 | DO i = 10 to 1 BY -1; |
| 4 | answer = 1 + i; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | PROC PRINT DATA=simple6 noobs; |
| 10 | RUN; |
| 1 | *Simple example 7; |
| 2 | DATA simple7 (drop=i); |
| 3 | DO i = 10, 12, 23, 147; |
| 4 | answer = 1 + i; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | PROC PRINT DATA=simple7 noobs; |
| 10 | RUN; |
| 1 | *Nesting do loops; |
| 2 | DATA nested; |
| 3 | DO i = 1 to 10; |
| 4 | DO j = i**2; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | END; |
| 8 | RUN; |
| 9 | |
| 10 | PROC PRINT DATA=nested noobs; |
| 11 | RUN; |
| 1 | *Example of using do while; |
| 2 | DATA simple8; |
| 3 | DO while (answer < 11); |
| 4 | answer + 1; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | PROC PRINT DATA=simple8 noobs; |
| 10 | RUN; |
| 1 | *Example of using do until; |
| 2 | DATA simple9; |
| 3 | DO until (answer > 9); |
| 4 | answer + 1; |
| 5 | OUTPUT; |
| 6 | END; |
| 7 | RUN; |
| 8 | |
| 9 | PROC PRINT DATA=simple9 noobs; |
| 10 | RUN; |