A veces hay problemas a la hora de importar un fichero de texto a SAS. Por ejemplo el fichero proviene de Access y tiene los números con formato europeo. El siguiente programa hace un buscar y reemplazar pero con SAS. Partimos de un fichero de texto ubicado en c:\temp\pepin.txt así:
4.497,31 2.776,50
2.555,46 6.782,73
3.752,77 8.791,32
1.599,49 6.903,17
8.584,16 7.050,30
8.061,74 2.605,04
3.666,99 7.319,29
751,63 1.919,96
5.635,12 4.795,78
9.714,18 5.342,31
9.160,85 9.752,27
7.609,17 2.409,43
1.855,36 8.768,07
1.715,74 4.031,63
8.775,23 7.256,52
2.339,50 9.234,67
6.268,95 1.531,50
4.406,24 5.395,50
Y ejecutamos el siguiente código SAS:
*MACRO PARA PREPARAR FICHEROS DE TEXTO CON EL FORMATO MAS ADECUADO;%macro reemplazar(ubicacion,fich);
data _null_;
length char 1.;
infile "&ubicacion./&fich." lrecl=1 recfm=F missover dsd;
file "&ubicacion./DEP_&fich." lrecl=1 recfm=F;
input charASCII.;
if char ="." then delete;
else if char="," then char=".";/*LINEAS A VARIAR*/
put char;
run;
%mend;
%reemplazar(c:\temp,pepin.txt);
Tras ejecutar este código en c:\temp tenemos DEP_pepin.txt con la siguiente información:
4497.31 2776.50
2555.46 6782.73
3752.77 8791.32
1599.49 6903.17
8584.16 7050.30
8061.74 2605.04
3666.99 7319.29
751.63 1919.96
5635.12 4795.78
9714.18 5342.31
9160.85 9752.27
7609.17 2409.43
1855.36 8768.07
1715.74 4031.63
8775.23 7256.52
2339.50 9234.67
6268.95 1531.50
4406.24 5395.50
Esto es mucho más fácil de leer para SAS.
Muy práctico pero ¡OJO QUE SE CEPILLA COMAS Y PUNTOS EN VARIABLES DE TEXTO! Por supuesto para cualquier duda o mejora: rvaquerizo@analisisydecision.es
Por favor la funcion BUSCARV que es de excel como la reeplazaria en sas