table

loadTable

Description

Charge une table à partir de la source de données d'une caslib. Cette action est fondamentale pour rendre les données persistantes accessibles en mémoire dans CAS pour l'analyse. Elle prend en charge une grande variété de formats de fichiers et de sources de données.

proc cas; table.loadTable / caslib="nom-caslib" path="nom-fichier-ou-chemin" casOut={name="nom-table-sortie", replace=true, promote=false} importOptions={fileType="type-de-fichier", ...options...}; run;
Paramètres
ParamètreDescription
attrTableSpécifie le nom d'une table d'attributs étendus existante à utiliser avec une tâche ADD, UPDATE ou CONVERT.
caslibSpécifie la caslib pour la source de données à partir de laquelle charger le fichier. Par défaut, la caslib active est utilisée.
casOutSpécifie les paramètres de la table en mémoire de sortie, comme son nom, si elle doit remplacer une table existante, et sa portée (session ou globale).
dataSourceOptionsSpécifie les options de la source de données pour les caslibs qui le nécessitent (par exemple, des informations d'identification pour une base de données).
importOptionsSpécifie les options pour la lecture de la table à partir de la source de données, notamment le type de fichier (CSV, EXCEL, SASHDAT, etc.) et les paramètres spécifiques au type.
loadAttrsSi défini sur TRUE, les attributs sont automatiquement chargés à partir d'un fichier nommé nom-table.ATTRS.sashdat.
maximumRecordsSpécifie le nombre maximum d'enregistrements à charger depuis le disque pour une table multi-parties.
pathSpécifie le nom du fichier, du répertoire ou de la table à charger.
promoteSi défini sur TRUE, la table est ajoutée avec une portée globale, la rendant accessible à d'autres sessions (sous réserve des contrôles d'accès).
readAheadSi défini sur TRUE, charge la table en mémoire immédiatement. Par défaut, une table est chargée lors de sa première utilisation.
varsPermet de spécifier des options pour des variables spécifiques, comme le format, le label, ou la longueur.
whereSpécifie une expression pour filtrer les données lors du chargement.
Préparation des Données Voir la fiche de ce code dataprep
Création d'un fichier CSV pour les exemples

Ce bloc DATA step crée un fichier CSV nommé `cars.csv` dans le répertoire courant de la caslib active. Ce fichier servira de source pour les exemples suivants.

Copié !
1DATA casuser.cars; LENGTH Make $10 Model $10; INFILE DATALINES dsd; INPUT Make $ Model $ Year MSRP; DATALINES;
2Audi,A4,2024,42000
3BMW,330i,2024,45000
4Mercedes,C300,2024,48000
5;

Exemples

Le moyen le plus simple et le plus performant de charger des données dans CAS est d'utiliser un fichier SASHDAT, qui est le format de fichier natif en mémoire de CAS. Cela évite toute conversion de données lors du chargement.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3TABLE.loadTable / caslib='casuser' path='cars.sashdat' casOut={name='cars_hdat', replace=true};
4 
5RUN;
6 
Résultat :
La table 'cars_hdat' est chargée en mémoire dans la caslib 'casuser' à partir du fichier 'cars.sashdat'. L'opération est très rapide car aucune conversion de type de données n'est nécessaire.

Cet exemple charge un fichier CSV en spécifiant des options avancées via `importOptions`, telles que le délimiteur, la ligne de départ pour les données, et la modification des types de variables ou de leurs formats.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3TABLE.loadTable / caslib='casuser' path='cars.csv' casOut={name='cars_csv', replace=true} importOptions={fileType='CSV', delimiter=',', getNames=true, vars=[{name='MSRP', informat='COMMA12.'}]};
4 
5RUN;
6 
Résultat :
La table 'cars_csv' est créée dans CAS. Les noms de variables sont lus à partir de la première ligne (`getNames=true`) et la colonne 'MSRP' est correctement lue comme un nombre en utilisant l'informat 'COMMA12.'.

Cet exemple montre comment charger des données à partir d'un fichier Excel (.xlsx). L'option `sheet` dans `importOptions` est utilisée pour spécifier quelle feuille de calcul du classeur doit être chargée.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3TABLE.loadTable / caslib='casuser' path='sales_data.xlsx' casOut={name='quarterly_sales', replace=true} importOptions={fileType='EXCEL', sheet='Q4_Sales'};
4 
5RUN;
6 
Résultat :
Seule la feuille de calcul nommée 'Q4_Sales' du fichier 'sales_data.xlsx' est chargée dans la table CAS 'quarterly_sales'. Les autres feuilles du classeur sont ignorées.

Cet exemple charge une table et utilise le paramètre `promote=true` pour la rendre accessible à toutes les sessions CAS, pas seulement la session actuelle. C'est utile pour partager des tables de référence communes.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3TABLE.loadTable / caslib='casuser' path='cars.sashdat' casOut={name='cars_global', replace=true, promote=true};
4 
5RUN;
6 
Résultat :
La table 'cars_global' est chargée et promue avec une portée globale. D'autres utilisateurs et sessions peuvent désormais voir et utiliser cette table dans la caslib 'casuser' (sous réserve des autorisations).

FAQ

Quel est l'objectif de l'action loadTable ?
Quels types de fichiers peuvent être chargés avec l'action loadTable ?
Comment spécifier la table de sortie ?
Est-il possible de charger une table avec une portée globale pour qu'elle soit accessible depuis d'autres sessions ?
Peut-on filtrer les données lors du chargement ?
Comment charger immédiatement une table en mémoire ?