Trucos SAS. Eliminación de espacios en blanco

Truco SAS práctico para aquellos que os estáis iniciando en el uso de las funciones de texto con SAS. Se trata de eliminar aquellos espacios en blanco que no son necesarios en una variable. Quería plantearos las posibles soluciones que se me han ido ocurriendo. Algunas de ellas no son eficientes, pero es necesario que dispongáis de todas. En la línea habitual, planteo un ejemplo para que lo ejecutéis y así podáis analizar los resultados: ...

10 de enero de 2012 · rvaquerizo

Trucos Excel. Transformar un carácter a fecha

Si tenemos en Excel celdas con valores en la forma: viernes 1 de enero de 2010 sábado 2 de enero de 2010 domingo 3 de enero de 2010 … y deseamos transformarlo en fecha, podemos hacer lo siguiente: =TEXTO(IZQUIERDA(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 2) & EXTRAE(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 6; 4) & DERECHA(EXTRAE(A2; ENCONTRAR(" "; A2; 1) + 1; 30); 4); "dd/mm/aaaa") * 1 ¡Toma función! Vamos a contar paso por paso cómo funciona: ...

13 de marzo de 2011 · rvaquerizo

Trucos SAS. Borrando blancos innecesarios con COMPBL

Me ha llegado hoy una duda interesante. El problema era eliminar espacios en blanco innecesarios mediante alguna función de SAS. Más concretamente, teníamos algo parecido a: data prueba; nombre = "DE PEDRO MARTINEZ ESTEBAN JOSE"; /* QUEREMOS LLEGAR A: DE PEDRO MARTINEZ ESTEBAN JOSE */ run; Pues bien, esto se puede hacer con la función COMPBL, que removes multiple blank spaces with SAS: data prueba; nombre = "DE PEDRO MARTINEZ ESTEBAN JOSE"; nombre2 = compbl(nombre); put nombre2; run; Una función fácil y práctica que seguro conocéis, pero que no está mal recordar. Saludos.

1 de febrero de 2011 · rvaquerizo

Macros SAS. Calcular 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 un parámetro que ha de ser un número y lo que hace es transformarlo a carácter comprimido y calcular su longitud. Veamos ejemplos de uso: ...

27 de octubre de 2009 · rvaquerizo

Truco SAS. Función para contar caracteres

Si deseamos contar cuántas veces aparece un carácter dentro de una cadena en SAS, nos encontramos con que no existe ninguna función de texto específica en SAS para ello. No obstante, podemos utilizar otras funciones de texto existentes. La idea es determinar el length de la cadena con el carácter en cuestión y restarle el length de la cadena sin dicho carácter. Es decir, ¿cuántas “A” hay en la frase “Menuda crisis financiera”? Longitud con “A” y sin espacios = 22; longitud sin “A” y sin espacios = 19; luego 22 - 19 = 3 aes. Para este ejemplo no se tienen en cuenta los espacios en blanco. Veamos el programa en SAS: ...

27 de octubre de 2008 · rvaquerizo