Problema de programación sas retrasado o retenido
datos
prueba;
entrada
mes
$
val
porcentaje5.;
tarjetas;
9/1
25%
9/2
50%
9/3
70%
9/4
10%
9/5
20%
9/6
32%
9/7
18 %
ejecutar;
* Condicione previamente los siguientes datos para que los valores 1233457, 23456, 34567, 4567, 567, 67 y 7 estén en una fila separada; p>
Datos
prueba2;
fusionar
prueba
prueba(firstobs=2
mantener=val p>
rename=(val=nextval2))
prueba(firstobs=3
mantener=val
rename=( val=nextval3))
prueba(firstobs=4
mantener=val
rename=(val=nextval4))
prueba (firstobs=5
mantener=val
rename=(val=nextval5))
prueba(firstobs=6
mantener= val
rename=(val=nextval6))
test(firstobs=7
keep=val
rename=(val= nextval7));
run;
* Calcula el promedio de 123 y resta los datos 4567, 234 y 567, 345 y 67, 456 y 7;
datos
prueba3;
establecer
prueba2;
com1
=abs(
media(val,
nextval2,
nextval3)
-
nextval4);
com2
=abs(
media(val,
nextval2,
nextval3)
-
nextval5);
com3
=abs(
media(val,
nextval2,
nextval3)
-
nextval6);
com4
=abs(
media(val ,
nextval2,
nextval3)
-
nextval7);
ejecutar;
*Compare con el 20 % para determinar VERDADERO y FALSO;
datos
test4;
set
test3;
p>si
com1
>
0.2
entonces
flag1='TRUE '
si no
si
com1=.
entonces
flag1=.;
si no
>
flag1='FALSE';
si
com2
>
0.2
entonces
flag2='TRUE'
si no
si
com2=.
entonces
flag2=.;
else
flag2='FALSE';
si
com3
>
0.2
entonces
flag3='TRUE'
si no
si
com3=.
entonces
flag3=.;
else
flag3='FALSO';
si
com4
>
0.2
entonces
flag4='VERDADERO' p>
si no
si
com4=.
entonces
flag4=.;
else
flag4='FALSE';
*mantener
mes
val
flag1
bandera2
bandera3
bandera4;
ejecutar;