Estoy creando un conjunto de datos SAS a partir de una base de datos que incluye un campo clave VARCHAR (5).¿Cómo rellenar los campos de caracteres en SAS?
Este campo incluye algunas entradas que usan los 5 caracteres y algunas que usan menos.
Cuando importo estos datos, prefiero rellenar todas las entradas más cortas para usar los cinco caracteres. Para este ejemplo, quiero rellenar a la izquierda con 0
, el carácter cero. Entonces, 114
se convertiría en 00114
, ABCD
se convertiría en 0ABCD
, y EA222
se mantendría como está.
He intentado esto con una declaración de datos simple, pero por supuesto el siguiente no funciona:
data test;
set databaseinput;
format key $5.;
run;
He tratado de hacer esto con un inf definida por el usuario, pero no lo hago Creo que es posible especificar los rangos correctamente en los campos de caracteres, por this SAS KB answer. Además, estoy bastante seguro de que el formato de proc no me permitirá definir el resultado dinámicamente en términos de la variable entrante.
Estoy seguro de que hay una solución obvia aquí, pero me la estoy perdiendo.
¿Cómo desea lidiar con 'ABC'? ¿Debería ser '00ABC'? – itzy
Sí, '00ABC' es correcto en mi caso. Además, buen punto sobre el uso de etiquetas de código. Publicación original actualizada. –
¿Pueden las entradas contener espacios? Por ejemplo 'AB_C' o incluso' _AB_' (donde el guión bajo representa un espacio)? –