El formato SAS percent nos ofrece una apariencia poco habitual a la hora de realizar informes con SAS. Necesitamos emplear el proc format ya que SAS no tiene un formato de porcentajes que se adecúe a los reportes de un buen gestor de la información. Para estudiar su uso emplearemos un ejemplo:
data uno;
format valor percent.3;
do valor=-1 to 1 by 0.25;
output;
end;
run;
proc print data=uno; run;
La ejecución de este programa nos ofrece:
Obs | valor |
1 | (100%) |
2 | ( 75%) |
3 | ( 50%) |
4 | ( 25%) |
5 | .00% |
6 | 25% |
7 | 50% |
8 | 75% |
9 | 100% |
Tenemos 3 problemas: 1. los valores negativos aparecen entre paréntesis 2. no empleamos la notación americana y nuestros decimales han de ir separados por una coma (,) 3. nos pone decimales en el 0. Debido a esta carencia de SAS necesitamos crear un formato a medida para que nuestros informes tengan un aspecto más profesional y empleen notación europea:
proc format ;
picture porcen
low-0='0009,0%' (PREFIX="-" MULTIPLIER=1000)
0='9%'
0-high='0009,0%'(MULTIPLIER=1000);
run;
data uno;
do valor=-1 to 1 by 0.25;
output;
end;
format valor porcen.;
run;
proc print; run;
El resultado obtenido tras esta ejecución:
Obs | valor |
1 | -100,0% |
2 | -75,0% |
3 | -50,0% |
4 | -25,0% |
5 | 0% |
6 | 25,0% |
7 | 50,0% |
8 | 75,0% |
9 | 100,0% |
En el proc format hemos empleado la instrucción picture, con ella formateamos cualquier número. Para ello hemos de jugar con las opciones en cada rango del formato. En nuestro ejemplo tenemos 3 rangos, números negativos, 0 y números positivos.En nuestro primer rango del formato low – 0 especificamos con 0009,0% que los valores menores que 0 tengan 5 posiciones de las cuales la última será un %, tendremos un decimal separado con ,. Por otro lado añadimos opciones entre paréntesis para mejorar la apariencia de nuestro valor. Con prefix= especificamos que caracter queremos que preceda a nuestro formato, en este caso, para valores negativos, tendremos un -. Con multiplier=1000 hacemos que nuestros números sean multiplicados para tener la apariencia de -100,0 [= -1] Se multiplican por 1000 debido a que hemos reservado 3 posiciones para la parte entera del número y una posición para la parte decimal, las otras dos posiciónes son para el – y el %.