Sas: come importare un intervallo specifico da excel
È possibile utilizzare l’istruzione PROC IMPORT con l’opzione RANGE per importare un intervallo specifico di celle da un file Excel in SAS.
Per fare ciò, è possibile utilizzare la seguente sintassi di base:
/*import data from Excel file called basketball_data.xlsx*/ proc import out =my_data datafile ="/home/u13181/basketball_data.xlsx" dbms =xlsx replace ; getnames =YES; range ="Sheet1$C4:E11"; run ;
Ecco cosa fa ogni riga:
- out : nome da dare al dataset una volta importato in SAS
- datafile : posizione del file Excel da importare
- dmbs : formato del file da importare
- replace : sostituisce il file se esiste già
- getnames : usa la prima riga come nomi di variabili (imposta su NO se la prima riga non contiene nomi di variabili)
- intervallo : l’intervallo di celle da importare
Tieni presente che questo particolare esempio importerà le celle nell’intervallo C4:E11 di Foglio1 dal file Excel chiamato basket_data.xlsx .
I seguenti esempi mostrano come utilizzare in pratica questa sintassi con il seguente file Excel chiamato basket_data.xlsx :
Esempio 1: importare dati da un file Excel in SAS senza specificare un intervallo
Possiamo utilizzare la seguente sintassi per importare il file Excel in un set di dati SAS denominato my_data senza specificare un intervallo specifico di celle da importare:
/*import data from Excel file called basketball_data.xlsx*/ proc import out =my_data datafile ="/home/u13181/basketball_data.xlsx" dbms =xlsx replace ; getnames =YES; run ; /*view dataset*/ proc print data =my_data;
Poiché non abbiamo utilizzato l’istruzione range per specificare un intervallo di celle da importare, SAS ha importato tutte le celle finché non ha incontrato i dati nel foglio.
Esempio 2: importare dati da un file Excel in SAS e specificare un intervallo
Possiamo utilizzare la seguente sintassi per importare il file Excel in un set di dati SAS denominato my_data e utilizzare l’opzione range per importare solo un intervallo specifico di celle:
/*import specific cells from Excel file called basketball_data.xlsx*/ proc import out =my_data datafile ="/home/u13181/basketball_data.xlsx" dbms =xlsx replace ; getnames =YES; range ="Sheet1$C4:E11"; run ; /*view dataset*/ proc print data =my_data;
Poiché abbiamo utilizzato l’istruzione range per specificare un intervallo di celle da importare, SAS ha importato dal foglio solo le celle di quell’intervallo.
Tieni presente che puoi anche passare un intervallo denominato all’istruzione range .
Ad esempio, se l’intervallo di celle C4:E11 avesse un intervallo denominato mio_intervallo , potresti utilizzare invece l’argomento range=”mio_intervallo” nell’istruzione PROC IMPORT .
Nota : è possibile trovare la documentazione completa per l’istruzione PROC IMPORT in SAS qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come importare file CSV in SAS
Come esportare i dati da SAS a un file CSV
Come esportare dati da SAS a Excel