Mejor que truco, tontería SAS pero sirve para entender mejor el paso DATA. Se trata de duplicar registros si cumplen una condición. Es decir, añadimos una fila en SAS si se cumple la condición:
data uno;
do id_cliente=1 to 10000;
output;
end;
run;
data uno;
set uno;
output;
if mod(id_cliente,2)=0 then output;
run;
No puede ser más sencillo pero me llegó esta duda y me parece un buen ejemplo de uso de OUTPUT.
El OUTPUT da mucho juego; podemos controlar la salida de determinadas filas y manipular los datos más allá de las filas, es decir, podemos con el OUTPUT manipular datos en diagonal (imaginemos una hoja de Excel: podemos hacer cálculos entre la celda A1 y B2, o bien, B1 y A2). Aún más, jugando con el OUTPUT, el RETAIN
y el FIRST o LAST junto al SET BY, podemos hacer auténticas virguerías.
un saludo,
Dani Fernandez.
Eso que cuentas es muy útil para los triángulos de siniestros. ¿No andarás liado con ellos?