BookmarkSubscribeRSS Feed
Tip Semanal: SAS Programación – Retain
CaioFlorencio
SAS Employee

¿Conoce la instrucción RETAIN para un DATA STEP?

/*Ejemplo sencillo */

data vendas;
set sashelp.prdsale;
retain actual predict;

acum_actual+actual  /*es lo mismo que escribir acum_actual=acum_atual+actual */;
acum_predic+predict;
run;

 

Existen varios enfoques para inicializar variables con la declaración RETAIN y cada enfoque tiene su utilidad única según sus necesidades de programación. La siguiente lista muestra algunos ejemplos de especificación e inicialización de variables con la declaración RETAIN:

a) RETAIN" var1; define el valor inicial de var1 como vacío (faltante).

b) RETAIN" var1-var3 0; establece los valores iniciales de var1, var2, var3 en 0.

c) RETAIN var1-var3 (0); solo var1 se establece en 0, var2-3 se establece en vacío.

d) RETAIN var1 0 var2 1 var3 1; establece el valor inicial de var1 en 0, var2 y var3 en 1.

e) RETAIN var1-var3 (0 1); establece los valores iniciales de var1 en 0; var2 en 1, var3 en vacío.

f) RETAIN var1-var3 (1 2 3); o RETAIN var1-var3 (1,2,3); define var1 como 1, var2 como 2, var3 como 3. La coma es opcional.

g) RETAIN; o RETAIN _ALL_; [o _CHAR_, _NUMERIC_]; se retendrán todas las variables. La diferencia es que el primero hace que se retengan todas las variables, mientras que el segundo afecta solo aquellas variables definidas antes de la declaración RETAIN. Si el Se especifica el nombre de la variable en la instrucción RETAIN y no se especifica un valor inicial, la variable no se escribe en el dataset y se escribe una nota que indica que la variable no está inicializada en el registro SAS. Si se especifica un valor inicial, la variable se escribirá en el dataset de salida

 

Referências:

Effective Use of RETAIN Statement in SAS® Programming (Microsoft Word - D14-2009 rough final.doc (mwsug.org))

How to Use the RETAIN Statement in SAS (With Examples) - Statology

Tip Semanal 014: Crear variables acumulativas - SAS Support Communities

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Article Labels
Article Tags
Contributors