Sas: hoe een specifiek bereik uit excel te importeren
U kunt de PROC IMPORT- instructie met de optie RANGE gebruiken om een specifiek celbereik uit een Excel-bestand in SAS te importeren.
Om dit te doen, kunt u de volgende basissyntaxis gebruiken:
/*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 ;
Dit is wat elke regel doet:
- out : Naam die aan de gegevensset moet worden gegeven nadat deze in SAS is geïmporteerd
- datafile : Locatie van het Excel-bestand dat moet worden geïmporteerd
- dmbs : Formaat van het bestand dat wordt geïmporteerd
- vervangen : Vervangt het bestand als het al bestaat
- getnames : gebruik de eerste regel als namen van variabelen (ingesteld op NO als de eerste regel geen namen van variabelen bevat)
- bereik : het cellenbereik dat moet worden geïmporteerd
Merk op dat dit specifieke voorbeeld de cellen in het bereik C4:E11 van Blad1 importeert uit het Excel-bestand met de naam basketball_data.xlsx .
De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken met het volgende Excel-bestand met de naam basketball_data.xlsx :
Voorbeeld 1: Importeer gegevens uit een Excel-bestand in SAS zonder een bereik op te geven
We kunnen de volgende syntaxis gebruiken om het Excel-bestand te importeren in een SAS-gegevensset met de naam my_data zonder een specifiek celbereik op te geven dat moet worden geïmporteerd:
/*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;
Omdat we de range- instructie niet hebben gebruikt om een celbereik op te geven dat moet worden geïmporteerd, heeft SAS alle cellen geïmporteerd totdat er gegevens in het blad werden aangetroffen.
Voorbeeld 2: Importeer gegevens uit een Excel-bestand in SAS en geef een bereik op
We kunnen de volgende syntaxis gebruiken om het Excel-bestand te importeren in een SAS-gegevensset met de naam my_data en de bereikoptie gebruiken om alleen een specifiek celbereik te importeren:
/*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;
Omdat we de range- instructie hebben gebruikt om een celbereik op te geven dat moet worden geïmporteerd, importeerde SAS alleen de cellen in dat bereik uit het blad.
Houd er rekening mee dat u ook een benoemd bereik aan de range- instructie kunt doorgeven.
Als het celbereik C4:E11 bijvoorbeeld een bereik had met de naam my_range , zou u in plaats daarvan het argument range=”my_range” in de PROC IMPORT -instructie kunnen gebruiken.
Opmerking : u kunt hier de volledige documentatie voor de PROC IMPORT- instructie in SAS vinden.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
CSV-bestanden importeren in SAS
Gegevens exporteren van SAS naar een CSV-bestand
Gegevens exporteren van SAS naar Excel