Come utilizzare la funzione intnx in sas (con esempi)


È possibile utilizzare la funzione INTNX in SAS per incrementare una data di un intervallo specifico come un giorno, una settimana, un mese, ecc.

Questa funzione utilizza la seguente sintassi di base:

INTNX (intervallo, data_inizio, incremento)

Oro:

  • intervallo : l’intervallo da aggiungere alla data (giorno, settimana, mese, anno, ecc.)
  • start_date : variabile che contiene le date di inizio
  • incremento : il numero di intervalli da aggiungere

Per sottrarre un intervallo, fornire un numero negativo all’argomento incremento .

I seguenti esempi mostrano alcuni modi comuni per utilizzare in pratica la funzione INTNX con il seguente set di dati in SAS:

 /*create dataset*/
data original_data;
    date format date9.;
    input date:date9. dirty;
    datalines ;
01JAN2022 50
01FEB2022 34
14MAR2022 26
01MAY2022 22
24AUG2022 27
28OCT2022 48
14NOV2022 97
04DEC2022 88
;
run ;

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

Esempio 1: utilizzare INTNX per aggiungere giorni a questo giorno

Possiamo utilizzare la funzione INTNX per creare una nuova colonna chiamata plus5days che aggiunge cinque giorni a ciascuna data nella colonna della data :

 /*create new dataset with column that adds 5 days to date*/
data new_data;
    set original_data;
    plus5days= intnx ('day', date, 5);
    format plus5days date9.;
run ;

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

Tieni presente che la nuova colonna denominata plus5days contiene i valori della colonna della data con l’aggiunta di cinque giorni.

Esempio 2: utilizzare INTNX per sottrarre giorni dalla data

Puoi anche sottrarre giorni semplicemente utilizzando un valore negativo nella funzione INTNX .

Ad esempio, possiamo utilizzare il seguente codice per sottrarre cinque giorni da ciascun valore nella colonna della data :

 /*create new dataset with column that subtracts 5 days from date*/
data new_data;
    set original_data;
    minus5days= intnx ('day', date, -5);
    format minusdays date9.;
run ;

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

Tieni presente che la nuova colonna denominata minus5days contiene i valori della colonna della data con cinque giorni sottratti.

Esempio 3: utilizzare INTNX per trovare il primo giorno del mese

Possiamo utilizzare la funzione INTNX per creare una nuova colonna chiamata firstmonth che contiene il primo giorno del mese per ogni data nella colonna della data :

 /*create new dataset with column that contains first day of the month*/
data new_data;
    set original_data;
    firstmonth = intnx ('month', date, 0);
    format firstmonth date9.;
run ;

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

Tieni presente che la nuova colonna denominata firstmonth contiene il primo giorno del mese per ciascuna data nella colonna della data .

Esempio 4: utilizzare INTNX per trovare il primo giorno dell’anno

Possiamo anche utilizzare la funzione INTNX per creare una nuova colonna chiamata firstyear che contiene il primo giorno dell’anno per ogni data nella colonna della data :

 /*create new dataset with column that contains first day of the year*/
data new_data;
    set original_data;
    firstyear = intnx ('year', date, 0);
    format firstyear date9.;
run ;

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

Tieni presente che la nuova colonna denominata firstyear contiene il primo giorno dell’anno per ciascuna data nella colonna della data .

Nota : qui è possibile trovare la documentazione completa per la funzione SAS INTNX .

Risorse addizionali

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

Come convertire DateTime fino ad oggi in SAS
Come convertire una variabile numerica fino ad oggi in SAS
Come calcolare la differenza tra due date in SAS

Aggiungi un commento

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