Come verificare se il set di dati esiste in sas (con esempio)


È possibile utilizzare la seguente macro in SAS per verificare rapidamente se esiste un set di dati:

 %macro check_exists(data);
   %if %sysfunc ( exist (&data.)) %then %do ;
      %put Dataset Exists;
   %end ;
   %else %do ;
      %put Dataset Does Not Exist;
   %end ;
%mend check_exists;

Quando si esegue questa macro, restituisce “Il set di dati esiste” se esiste un set di dati.

Altrimenti restituirà “Non esiste”.

L’esempio seguente mostra come utilizzare questa macro nella pratica.

Esempio: verificare se il set di dati esiste in SAS

Supponiamo di creare il seguente set di dati in SAS chiamato data1 :

 /*create dataset*/
data data1;
    input hours score;
    datalines ;
1 64
2 66
4 76
5 73
5 74
6 81
6 83
7 82
8 80
10 88
;
run ;

/*view dataset*/
proc print data =data1; 

Possiamo definire la seguente macro per verificare se esiste un set di dati:

 %macro check_exists(data);
   %if %sysfunc ( exist (&data.)) %then %do ;
      %put Dataset Exists;
   %end ;
   %else %do ;
      %put Dataset Does Not Exist;
   %end ;
%mend check_exists;

Possiamo quindi eseguire questa macro per verificare se esiste il set di dati chiamato data1 :

 /*check if dataset called data1 exists*/
%check_exists (data1);

Quando visualizziamo il registro, possiamo vedere che la macro restituisce Does Exist poiché data1 esiste:

Supponiamo ora di eseguire anche la macro per verificare se esiste un set di dati chiamato data2 :

 /*check if dataset called data2 exists*/
%check_exists (data2);

Quando guardiamo il log, possiamo vedere che la macro restituisce Does Not Exist poiché un set di dati chiamato data2 non è mai stato creato.

Nota : è possibile trovare la documentazione completa della funzione EXIST in SAS qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

Come eliminare i set di dati in SAS
Come rinominare le variabili in SAS
Come creare nuove variabili in SAS

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *