Come utilizzare la funzione coalesce in sas (con esempi)


È possibile utilizzare la funzione COALESCE in SAS per restituire il primo valore non mancante in ogni riga in un set di dati.

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

Esempio: come utilizzare COALESCE in SAS

Supponiamo di avere il seguente set di dati in SAS che contiene valori mancanti:

 /*create dataset*/
data original_data;
    input team $points rebounds assists;
    datalines ;
Warriors 25 8 7
Wizards. 12 6
Rockets. . 5
Celtics 24. 5
Thunder. 14 5
Spurs 33 19 .
Nets. . .
Mavericks. 8 10
Kings. . 9
Pelicans. 23 6
;
run ;

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

Possiamo utilizzare la funzione COALESCE per creare una nuova colonna che restituisca il primo valore non mancante in ogni riga tra le colonne punti, rimbalzi e assist:

 /*create new dataset*/
data new_data;
    set original_data;
    first_non_missing = coalesce (points, rebounds, assists);
run ;

/*view new dataset*/
proc print data =new_data; 

Esempio di funzione di unione SAS

Ecco come è stato scelto il valore della colonna first_non_missing :

  • Prima riga: Il primo valore imperdibile tra punti, rimbalzi e assist è stato 25 .
  • Seconda riga: Il primo valore non mancante tra punti, rimbalzi e assist è stato 12 .
  • Terza fila: Il primo valore non mancante tra punti, rimbalzi e assist è stato 5 .

E così via.

Nota n. 1 : se mancano tutti i valori (come nella riga 7), la funzione COALESCE restituirà semplicemente un valore mancante.

Nota n.2 : la funzione COALESCE funziona solo con variabili numeriche. Se invece vuoi restituire il primo valore non mancante in un elenco di variabili carattere, utilizza la funzione COALESCEC .

Risorse addizionali

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

Come normalizzare i dati in SAS
Come sostituire i caratteri in una stringa in SAS
Come sostituire i valori mancanti con zero in SAS
Come rimuovere i duplicati in SAS

Aggiungi un commento

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