SAS : Comment importer une plage spécifique à partir d’Excel
Vous pouvez utiliser l’instruction PROC IMPORT avec l’option RANGE pour importer une plage spécifique de cellules d’un fichier Excel dans SAS.
Pour ce faire, vous pouvez utiliser la syntaxe de base suivante :
/*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;
Voici ce que fait chaque ligne :
- out : Nom à donner à l’ensemble de données une fois importé dans SAS
- datafile : Emplacement du fichier Excel à importer
- dmbs : Format du fichier en cours d’importation
- replace : Remplace le fichier s’il existe déjà
- getnames : utiliser la première ligne comme noms de variables (défini sur NO si la première ligne ne contient pas de noms de variables)
- range : La plage de cellules à importer
Notez que cet exemple particulier importera les cellules de la plage C4:E11 de Sheet1 à partir du fichier Excel appelé basketball_data.xlsx .
Les exemples suivants montrent comment utiliser cette syntaxe en pratique avec le fichier Excel suivant appelé basketball_data.xlsx :
Exemple 1 : importer des données d’un fichier Excel dans SAS sans spécifier de plage
Nous pouvons utiliser la syntaxe suivante pour importer le fichier Excel dans un ensemble de données SAS nommé my_data sans spécifier une plage spécifique de cellules à importer :
/*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;
Comme nous n’avons pas utilisé l’instruction range pour spécifier une plage de cellules à importer, SAS a importé toutes les cellules jusqu’à ce qu’il rencontre des données dans la feuille.
Exemple 2 : importer des données d’un fichier Excel dans SAS et spécifier une plage
Nous pouvons utiliser la syntaxe suivante pour importer le fichier Excel dans un ensemble de données SAS nommé my_data et utiliser l’option range pour importer uniquement une plage spécifique de cellules :
/*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;
Puisque nous avons utilisé l’instruction range pour spécifier une plage de cellules à importer, SAS a importé uniquement les cellules de cette plage à partir de la feuille.
Notez que vous pouvez également transmettre une plage nommée à l’instruction range .
Par exemple, si la plage de cellules C4:E11 avait une plage nommée my_range , vous pouvez utiliser l’argument range= »my_range » dans l’instruction PROC IMPORT à la place.
Remarque : Vous pouvez trouver la documentation complète de l’instruction PROC IMPORT dans SAS ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :
Comment importer des fichiers CSV dans SAS
Comment exporter des données de SAS vers un fichier CSV
Comment exporter des données de SAS vers Excel