Publicado el :
Général CREATION_INTERNE

Sans titre

Este código también está disponible en: Deutsch English Français
En espera de validación
La instrucción OUTPUT indica a SAS© que escriba la observación actual en un conjunto de datos SAS© inmediatamente, y no al final del paso DATA. Si no se especifica ningún nombre de conjunto de datos en la instrucción OUTPUT, la observación se escribe en el conjunto o conjuntos de datos listados en la instrucción DATA.
Por defecto, cada paso DATA contiene una instrucción OUTPUT implícita al final de cada iteración que indica a SAS© que escriba las observaciones en el conjunto o conjuntos de datos que se están creando. La inclusión de una instrucción OUTPUT explícita en un paso DATA anula la salida automática, y SAS© solo añade una observación a un conjunto de datos cuando se ejecuta una instrucción OUTPUT explícita. Sin embargo, una vez que se utiliza una instrucción OUTPUT para escribir una observación en un conjunto de datos, ya no hay una instrucción OUTPUT implícita al final del paso DATA. En esta situación, un paso DATA escribe una observación en un conjunto de datos solo cuando se ejecuta una instrucción OUTPUT explícita. Se puede utilizar la instrucción OUTPUT sola o como parte de una instrucción IF-THEN, SELECT o de un proceso de bucle DO.
Cuando se utiliza la instrucción MODIFY con la instrucción OUTPUT, las instrucciones REMOVE y REPLACE anulan la acción de escritura implícita al final de cada iteración del paso DATA. Si ambas instrucciones OUTPUT y REPLACE o REMOVE se ejecutan en una observación dada, realice la acción de salida al final para mantener la posición correcta del puntero de observación.
Análisis de datos

Type : CREATION_INTERNE


Los ejemplos utilizan datos generados (datalines) o SASHELP.

1 Bloque de código
DATA STEP
Explicación :
Estos fragmentos de código muestran usos simples de la instrucción OUTPUT. La primera línea escribe la observación actual. La segunda escribe la observación si 'deptcode' es mayor que 2000. La tercera escribe la observación en el conjunto de datos 'markup' si la variable 'phone' es faltante.
¡Copiado!
1/* Écrit l'observation courante dans un ensemble de données SAS spécifié dans l'instruction DATA */
2OUTPUT;
3 
4/* Écrit l'observation courante dans un ensemble de données SAS lorsqu'une condition spécifiée est vraie */
5IF deptcode gt 2000 THEN OUTPUT;
6 
7/* Écrit une observation dans l'ensemble de données MARKUP lorsque la valeur de PHONE est manquante */
8IF phone=. THEN OUTPUT markup;
2 Bloque de código
DATA STEP Data
Explicación :
Este ejemplo crea tres observaciones en el conjunto de datos 'response' para cada observación del conjunto de datos 'sulfa'. El conjunto de datos 'sulfa' se crea primero con datos en línea (datalines). Luego, el paso DATA 'response' lee cada observación de 'sulfa' y utiliza la instrucción OUTPUT tres veces para crear tres nuevas observaciones, cada una con un valor 'time' diferente proveniente de las variables 'time1', 'time2' y 'time3'.
¡Copiado!
1DATA sulfa;
2 INPUT patient $ time1 time2 time3;
3 DATALINES;
4pat1 10 20 30
5pat2 15 25 35
6;
7RUN;
8 
9DATA response(drop=time1-time3);
10 SET sulfa;
11 time=time1;
12 OUTPUT;
13 time=time2;
14 OUTPUT;
15 time=time3;
16 OUTPUT;
17RUN;
3 Bloque de código
DATA STEP Data
¡Copiado!
1DATA _null_;
2 file 'input_data.txt';
3 put 'London 01JAN2025 O3 25';
4 put 'Paris 01JAN2025 NOx 15';
5 put 'Berlin 01JAN2025 O3 30';
6 put 'Rome 01JAN2025 SO2 10';
7RUN;
8 
9DATA ozone oxides;
10 INFILE 'input_data.txt';
11 INPUT city $ 1-15 date date9.
12 chemical $ 26-27 ppm 29-30;
13 IF chemical='O3' THEN OUTPUT ozone;
14 ELSE OUTPUT oxides;
15RUN;
4 Bloque de código
DATA STEP Data
¡Copiado!
1DATA gadgets;
2 INPUT defects;
3 DATALINES;
41
52
63
74
85
96
107
118
129
1310
1411
1512
16;
17RUN;
18 
19DATA discards;
20 SET gadgets;
21 drop defects;
22 reps+1;
23 IF reps=1 THEN total=0;
24 total+defects;
25 IF reps=10 THEN DO;
26 OUTPUT;
27 stop;
28 END;
29RUN;
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 : Copyright © SAS Institute Inc. All Rights Reserved