Publicado el :
Macro CREATION_INTERNE

Macro AHGaddordvar - Creación de variable de ordenación

Este código también está disponible en: Deutsch English Français
Esta macro está diseñada para ser invocada dentro de un DATA Step. Analiza una variable fuente (`var`) para detectar la presencia de dígitos. Si hay dígitos presentes, construye una variable de ordenación (`ordVar`) normalizando los segmentos numéricos (probablemente separados por puntos). Utiliza un bucle de macro para generar instrucciones `tranwrd` que añaden ceros no significativos (relleno) a los dígitos del 0 al 9 rodeados de puntos, permitiendo así una ordenación alfanumérica coherente (ej: tratar '1.2' como inferior a '1.10').
Análisis de datos

Type : CREATION_INTERNE


El código define una macro de software y no carga ni manipula directamente datos externos durante su compilación.

1 Bloque de código
MACRO
Explicación :
Definición de la macro `AHGaddordvar`. Genera una lógica condicional `IF` para el DATA Step. Transforma la cadena duplicando los delimitadores '.' y añadiendo un prefijo '0' a los dígitos únicos encontrados entre estos delimitadores para estandarizar el formato de ordenación.
¡Copiado!
1%macro AHGaddordvar(var,ordVar);
2 %local i;
3 IF anydigit(&var) THEN
4 DO;
5 &ordvar='..'||trim(substr(tranwrd(&var,'.','..'),anydigit(&var)))||'..';
6
7 %DO i=0 %to 9;
8 &ordvar=tranwrd(&ordvar,".&i..",".0&i..");
9 %END;
10 &ordvar=substr(&var,1,anydigit(&var)-1)||&ordvar;
11 END;
12%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.