Publicado el :
Macro EXTERNE

Macro de definición de objeto Hash SAS

Este código también está disponible en: Deutsch English Français
Esta macro encapsula la sintaxis orientada a objetos del Data Step de SAS© para objetos Hash. Gestiona dinámicamente la inicialización de las claves (método definekey) y las variables de datos (método definedata) a partir de listas de variables proporcionadas como parámetros. Carga automáticamente el objeto Hash con el dataset especificado.
Análisis de datos

Type : EXTERNE


La macro espera un nombre de conjunto de datos como parámetro (&dataset) para cargar el objeto Hash. Este conjunto de datos debe existir en la sesión SAS durante la ejecución de la macro.

1 Bloque de código
DATA STEP
Explicación :
Definición de la macro 'create_hash'. Declara un objeto Hash vinculado a un conjunto de datos. Itera sobre la lista de variables clave para configurar 'definekey' y sobre la lista de variables de datos para configurar 'definedata', antes de finalizar la definición con 'definedone'.
¡Copiado!
1%macro create_hash(name,key,data_vars,dataset);
2 declare hash &name(dataset:&dataset);
3 %local i n d;
4 %let n=%sysfunc(countw(&key));
5 rc = &name..definekey(
6 %DO i=1 %to %eval(&n-1);
7 "%scan(&key,&i)",
8 %END;
9 "%scan(&key,&i)"
10 );
11 %let n=%sysfunc(countw(&data_vars));
12 %DO i=1 %to &n;
13 %let d=%scan(&data_vars,&i);
14 rc = &name..definedata("&d");
15 %END;
16 rc = &name..definedone();
17%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.
Información de copyright : Copyright (c) 2015 by The Financial Risk Group, Cary, NC, USA.