La macro procesa una lista de cadenas de caracteres proporcionada como argumento de entrada, no lee datos de archivos externos o bibliotecas SAS.
1 Bloque de código
MACRO
Explicación : Este bloque de código define la macro `%nodup`. Acepta dos parámetros: `list` (la cadena de entrada que contiene los elementos separados por espacios) y `casesens` (un indicador 'Y'/'N' para activar/desactivar la sensibilidad a mayúsculas y minúsculas, por defecto 'N'). La macro primero convierte `casesens` a mayúsculas y toma la primera letra. Determina el número de elementos en la lista (`NumItems`). Un bucle externo itera sobre cada elemento (`item`) de la lista. Para cada `item`, un bucle interno compara este `item` con los siguientes elementos de la lista. La comparación se realiza teniendo en cuenta la sensibilidad a mayúsculas y minúsculas (si `casesens` es 'Y', la comparación es directa; de lo contrario, se realiza después de la conversión a mayúsculas). Si un elemento no tiene duplicados después de la posición actual, se muestra como salida de la macro. Las variables `i`, `j`, `match`, `item` y `NumItems` se declaran como locales para evitar interferencias con otras macros o variables globales.
%IF"&item." = "%scan(&list.,&j.,%str( ))" %THEN %let match = Y ;
33
%END;
34
%ELSE %DO;
35
%IF"%upcase(&item.)" = "%upcase(%scan(&list.,&j.,%str( )))" %THEN %let match = Y ;
36
%END;
37
%END;
38
39
%IF (&match. = N) %THEN &item. ;
40
%END;
41
42
%mend ;
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.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.