Espacios en SAS

  Las funciones SAS más habituales para eliminar blancos son las que tenéis en la figura de arriba. Para llegar a ese conjunto de datos SAS hemos ejecutado el siguiente paso data: data ejemplo; st = ” Cuando brilla el sol “; l_st=length(st); output; funcion=”COMPRESS “; st1 = compress(st); l_st1=length(st1); output; funcion=”COMPBL”; st1 = compbl(st); […]

Leer más
Macros SAS. Limpiar una cadena de caracteres

Macro de SAS que he utilizado hoy para limpiar caracteres en una cadena de texto. Está muy limitada y es muy sencilla pero puede serviros: %macro valida(in,out); length escribe $55.; escribe=””; do i=1 to length(&in.);   j=substr(&in.,i,1);  if j in (‘A’,’B’,’C’,’D’,’E’,’F’,’G’,’H’,’I’,’J’,’K’,  ‘L’,’M’,’N’,’O’,’P’,’Q’,’R’,’S’,’T’,’U’,’V’,’W’,’X’,’Y’,’Z’,’Ñ’) then escribe=trim(escribe)||j;  else if substr(&in.,i,1)=” ” then escribe=trim(escribe)||”-“;  else escribe=trim(escribe);  drop i j […]

Leer más
Macros SAS. Calular la longitud de un número.

Ha llegado hoy una búsqueda que no ha permanecido en AyD ni 20 segundos. Quería calcular la longitud de un número con SAS. Como yo estoy aquí para compartir mis conocimientos y hay una persona que los necesita aquí está esta macro que espero o sea de utilidad: %macro largo(num); length(compress(put(&num.,32.))) %mend; Esta macro recibe […]

Leer más