Publicado el :
Macro CREATION_INTERNE

Macro SAS para eliminar comas

Este código también está disponible en: Deutsch English Français
Esta macro SAS©, llamada `nocommas`, está diseñada para traducir todas las comas presentes en una cadena de caracteres de entrada por espacios. Utiliza la función `translate` para realizar el reemplazo y `qsubstr` para manejar la sintaxis de llamada del parámetro posicional. El objetivo es limpiar una cadena antes de su uso por otra macro o función, sin realizar 'limpieza' adicional (como la eliminación de múltiples espacios o la compresión de espacios consecutivos). Debe usarse con un único parámetro posicional.
Análisis de datos

Type : CREATION_INTERNE


La macro opera sobre una cadena de caracteres proporcionada como parámetro posicional durante su llamada. Ningún dato externo o interno (SASHELP) es leído por la propia macro. Los datos se procesan directamente a partir de los argumentos de llamada de la macro.

1 Bloque de código
MACRO nocommas
Explicación :
Este bloque define la macro `%nocommas`. La opción `PARMBUFF` permite a la macro acceder a la cadena de caracteres completa pasada como parámetro, incluyendo los paréntesis. La función `%SYSFUNC(TRANSLATE(&SYSPBUFF, %STR( ), %STR(,)))` se utiliza para reemplazar todas las ocurrencias del carácter coma (`,`) por un espacio (` `) en la cadena `&SYSPBUFF`. Luego, `%QSUBSTR(..., 2, %LENGTH(&SYSPBUFF)-2)` extrae una subcadena del resultado, eliminando el primer y el último carácter (correspondientes generalmente al `%` de la llamada a la macro y al `;` final, o a los paréntesis que engloban el parámetro) para obtener únicamente la cadena procesada.
¡Copiado!
1%put MACRO CALLED: nocommas v1.0;
2 
3%macro nocommas/parmbuff;
4%qsubstr(%sysfunc(translate(&syspbuff,%str( ),%str(,))),2,%LENGTH(&syspbuff)-2)
5%mend nocommas;
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.
Información de copyright : This is public domain software. No guarantee as to suitability or accuracy is given or implied. User uses this code entirely at their own risk.