SAS COMPRESS para eliminar caracteres en una cadena.

Programacion SAS 1

Les cuento que en la base de teléfonos encontramos el pequeño detalle de que algunos registros contenían caracteres alfanuméricos (letras) cuando el campo debería de contener solo dígitos (números), pero el brillante que diseño la base lo permite desde origen al declarar el campo como tipo CHAR.

Al procesar la información obviamente causaba conflictos al enviar los datos a otros sistemas. La función COMPRESS resulto de mucha ayuda, ya que permite eliminar una lista de caracteres de una cadena de texto. La forma en que la implementamos fue así:

 

Ejemplo de la función COMPRESS.

DATA DataDestino ;

SET DataFuente ;

Telefono = COMPRESS(Telefono, 'abcdefghijklmnñopqrstuvwyxz ABCDEFGHIJKLMNÑOPQRSTUVWXYZ') ;

RUN ;

 

Nota.

  • Como podrás ver entre la lista de caracteres en minúscula y la lista de caracteres en mayúsculas hay un carácter espacio, este carácter espacio también forma parte de la lista de caracteres a eliminar, de tal forma que si queremos ser estrictos tendríamos que añadir símbolos y caracteres especiales.
  • Después del proceso la variable Telefono contiene solo números.
  • Fuente: https://sites.google.com/site/sasbuddy/sas-string-function-compress

 

¿Que tanto tamaño tiene la información que manejas?

¿Que te parecio el contenido?