Este script ilustra cómo crear formatos de imagen personalizados (picture formats) para mostrar números fraccionarios. Cubre la visualización de un número específico de decimales, el comportamiento de truncamiento predeterminado de los formatos picture, y cómo activar el redondeo con la opción (round).
Análisis de datos
Type : CREATION_INTERNE
Los conjuntos de datos 'vallist' y 'x' se generan directamente en el script a través de bucles DO.
1 Bloque de código
PROC FORMAT
Explicación : Definición de tres formatos personalizados de tipo 'picture' para controlar la visualización de números: entero (showval), un decimal (withdec) y dos decimales (twodec).
¡Copiado!
title1 '12.2.2 Working with Fractional Values';
title2 'Showing Decimals';
proc format;
picture showval
other = '0000';
picture withdec
other = '00.0';
picture twodec
other = '09.00';
run;
1
title1 '12.2.2 Working with Fractional Values';
2
title2 'Showing Decimals';
3
4
PROC FORMAT;
5
picture showval
6
other = '0000';
7
picture withdec
8
other = '00.0';
9
picture twodec
10
other = '09.00';
11
RUN;
2 Bloque de código
DATA STEP Data
Explicación : Creación de un conjunto de datos de prueba 'vallist' que contiene valores de 0 a 3 en incrementos de 0.25. Aplicación de los formatos definidos previamente para observar las diferencias de visualización.
¡Copiado!
data vallist;
do val = 0 to 3 by .25;
val2 = val;
val3 = val;
val4 = val;
output;
end;
format val2 showval. val3 withdec. val4 twodec.;
run;
1
DATA vallist;
2
DO val = 0 to 3BY .25;
3
val2 = val;
4
val3 = val;
5
val4 = val;
6
OUTPUT;
7
END;
8
FORMAT val2 showval. val3 withdec. val4 twodec.;
9
RUN;
3 Bloque de código
PROC PRINT
Explicación : Visualización del contenido de la tabla 'vallist' para verificar la renderización de los formatos.
¡Copiado!
proc print data=vallist;
run;
1
PROC PRINTDATA=vallist;
2
RUN;
4 Bloque de código
PROC FORMAT
Explicación : Definición de un formato 'showdec' que muestra dos decimales. Sin la opción 'round', este formato truncará los valores.
¡Copiado!
proc format;
picture showdec
other = '09.00';
run;
1
PROC FORMAT;
2
picture showdec
3
other = '09.00';
4
RUN;
5 Bloque de código
DATA STEP Data
Explicación : Creación de un conjunto de datos 'x' con valores fraccionarios específicos para probar el comportamiento del formato en los decimales.
¡Copiado!
data x;
do x = .007,.017,.123,1.234, 12.345, 1234;
y=x;
output;
end;
format y showdec. x 8.3;
run;
1
DATA x;
2
DO x = .007,.017,.123,1.234, 12.345, 1234;
3
y=x;
4
OUTPUT;
5
END;
6
FORMAT y showdec. x 8.3;
7
RUN;
6 Bloque de código
PROC PRINT
Explicación : Visualización para demostrar el truncamiento de decimales por defecto (ej: 1.234 mostrado como 1.23).
¡Copiado!
proc print data=x;
run;
1
PROC PRINTDATA=x;
2
RUN;
7 Bloque de código
PROC FORMAT
Explicación : Definición del formato 'showdecr' utilizando la opción '(round)' para forzar el redondeo aritmético en lugar del truncamiento.
¡Copiado!
proc format;
picture showdecr (round)
other = '00009.00';
run;
1
PROC FORMAT;
2
picture showdecr (round)
3
other = '00009.00';
4
RUN;
8 Bloque de código
DATA STEP Data
Explicación : Recreación del conjunto de datos 'x' y aplicación del nuevo formato con redondeo.
¡Copiado!
data x;
do x = .007,.017,.123,1.234, 12.345, 1234;
y=x;
output;
end;
format y showdecr.
x 8.3;
run;
1
DATA x;
2
DO x = .007,.017,.123,1.234, 12.345, 1234;
3
y=x;
4
OUTPUT;
5
END;
6
FORMAT y showdecr.
7
x 8.3;
8
RUN;
9 Bloque de código
PROC PRINT
Explicación : Visualización final que muestra que los valores ahora están correctamente redondeados (ej: 1.234 mostrado como 1.23, pero .007 mostrado como .01).
¡Copiado!
proc print data=x;
run;
1
PROC PRINTDATA=x;
2
RUN;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.