Publicado el :
Macro TRANSFORMATION

Macro SAS mp_dropmembers

Este código también está disponible en: Deutsch English Français
Esta macro, `mp_dropmembers`, está diseñada para eliminar de forma segura tablas (datasets) y/o vistas SAS© de una librería especificada. Incluye una condición (`iftrue`) para permitir una ejecución condicional, y verifica si la lista de objetos a eliminar está vacía para evitar acciones innecesarias. Utiliza `PROC DATASETS` con la opción `nolist` para evitar una visualización excesiva en el log, y ejecuta dos comandos `delete`: uno para las tablas y otro para las vistas (`/mtype=view`), asegurando así que ambos tipos de objetos sean procesados si existen sin provocar errores si un tipo no está presente o si el objeto no existe. El ejemplo de uso muestra cómo utilizarla para tablas y vistas temporales.
Análisis de datos

Type : TRANSFORMATION


La macro `mp_dropmembers` no tiene como objetivo crear nuevos datos ni leer directamente datos de fuentes externas o de SASHELP. Su función es gestionar y eliminar tablas y vistas existentes dentro de una librería especificada por el usuario (`libref`). Los ejemplos de uso mencionan `sashelp.class` para la creación de tablas temporales con fines de demostración, pero esto no constituye una dependencia directa de la macro.

1 Bloque de código
MACRO mp_dropmembers
Explicación :
Este bloque define la macro `mp_dropmembers` con tres parámetros: `list` (lista de objetos a eliminar), `libref` (librería de destino, por defecto 'WORK'), e `iftrue` (condición de ejecución, por defecto '1=1'). La macro verifica primero la condición `iftrue` y termina si es falsa. Luego, verifica si la `list` de objetos está vacía utilizando la macro `mf_isblank`; si es así, muestra una nota y termina. Si la lista no está vacía, utiliza `PROC DATASETS` para eliminar los objetos. Se utilizan dos comandos `DELETE`: uno para las tablas y otro para las vistas (`/mtype=view`), asegurando una eliminación robusta sin generar errores si el objeto no existe o no es del tipo especificado.
¡Copiado!
1%macro mp_dropmembers(
2 list /* space separated list of datasets / views */
3 ,libref=WORK /* can only drop from a single library at a time */
4 ,iftrue=%str(1=1)
5)/*/STORE SOURCE*/;
6 
7 %IF not(%eval(%unquote(&iftrue))) %THEN %return;
8 
9 %IF %mf_isblank(&list) %THEN %DO;
10 %put NOTE: nothing to drop!;
11 %return;
12 %END;
13 
14 PROC DATASETS lib=&libref nolist;
15 delete &list;
16 delete &list /mtype=view;
17 RUN;
18%mend mp_dropmembers;
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) 2001-2006 Rodney Sparapani. Este archivo es software libre distribuido bajo los términos de la Licencia Pública General GNU (GPL) versión 2 o posterior.