Publié le :
Accès aux données CREATION_INTERNE

Exemples : Accéder aux données sans utiliser de Libref

Ce code est également disponible en : Deutsch English Español
En attente de validation
L'analyse fonctionnelle détaille la gestion des bibliothèques de données dans SAS©. Elle explique comment le système SAS© gère les noms de fichiers à un seul niveau, en les dirigeant par défaut vers la bibliothèque Work pour les données temporaires. Pour des fichiers permanents sans libref explicite, la configuration de la bibliothèque User est présentée. De plus, les méthodes d'accès direct via le chemin complet du fichier et l'utilisation de filerefs pour les données brutes externes sont explorées, offrant une flexibilité dans la manière de référencer et d'utiliser les sources de données.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) pour les tables SAS afin d'assurer l'autonomie, et un fichier externe URL pour les données brutes.

1 Bloc de code
DATA STEP / PROC CONTENTS Data
Explication :
Ce code crée une table SAS nommée 'mytable' avec une variable 'x' initialisée à 1. Puisqu'aucun libref n'est spécifié (nom à un seul niveau), la table est automatiquement stockée dans la bibliothèque temporaire Work. La procédure PROC CONTENTS affiche les métadonnées de cette table, confirmant son emplacement dans la bibliothèque Work. Cette méthode est idéale pour les données intermédiaires ou non persistantes.
Copié !
1DATA mytable;
2 x=1;
3RUN;
4PROC CONTENTS DATA=mytable;
5RUN;
2 Bloc de code
LIBNAME / OPTIONS / PROC PRINT Data
Explication :
Cet exemple démontre comment désigner une bibliothèque 'User' pour stocker des données permanentes avec des noms à un seul niveau. Initialement, une table 'quarter1' est créée pour l'illustration. Ensuite, le libref 'sales' est assigné à un chemin permanent via l'instruction LIBNAME. L'option système USER=sales configure 'sales' comme la bibliothèque par défaut pour les noms à un seul niveau. Ainsi, PROC PRINT data=quarter1 lira la table depuis 'sales.quarter1'. Les blocs de code supplémentaires montrent des méthodes alternatives pour affecter la bibliothèque 'User', soit directement avec un libref 'user', soit via la fonction LIBNAME dans un DATA _NULL_ step, tout en obtenant le même comportement pour l'accès aux données. Notez que '/sas/data/permanent' est un chemin d'accès d'exemple, qui doit être remplacé par un chemin réel sur votre système.
Copié !
1/* Création d'une table exemple pour les besoins de l'illustration */
2DATA quarter1;
3 INPUT Quarter $ Sales;
4 DATALINES;
5Q1 100
6Q2 150
7Q3 200
8Q4 250
9;
10RUN;
11 
12LIBNAME sales '/sas/data/permanent';
13options user=sales;
14PROC PRINT DATA=quarter1;
15RUN;
16 
17/* Autre méthode d'affectation de la bibliothèque User */
18LIBNAME user '/sas/data/permanent';
19PROC PRINT DATA=quarter1;
20RUN;
21 
22DATA _null_;
23 x=LIBNAME ('user', '/sas/data/permanent');
24RUN;
25PROC PRINT DATA=quarter1;
26RUN;
3 Bloc de code
PROC PRINT
Explication :
Cet exemple montre comment accéder à un jeu de données SAS en spécifiant son chemin d'accès physique complet et son nom de fichier (y compris l'extension .sas7bdat), le tout entre guillemets, au lieu d'utiliser un libref. Une table 'mydata' est d'abord créée dans la bibliothèque Work. Il est supposé que le fichier SAS correspondant 'mydata.sas7bdat' est ensuite enregistré dans un emplacement spécifique comme '/sas/data/temp/'. La procédure PROC PRINT peut alors lire directement ce fichier en utilisant le chemin complet. Cette méthode est utile lorsque l'on ne souhaite pas assigner de libref temporaire ou permanent, bien que de nombreux éléments de langage SAS préfèrent les librefs.
Copié !
1/* Création d'une table exemple pour les besoins de l'illustration */
2DATA work.mydata;
3 INPUT ID Name $;
4 DATALINES;
51 John
62 Jane
7;
8RUN;
9 
10/* Supposons que 'mydata.sas7bdat' est stocké dans /sas/data/temp/ */
11/* Remplacez '/sas/data/temp/mydata.sas7bdat' par le chemin réel de votre fichier */
12PROC PRINT DATA='/sas/data/temp/mydata.sas7bdat';
13RUN;
4 Bloc de code
FILENAME / DATA STEP / PROC PRINT Data
Explication :
Cet exemple illustre l'utilisation d'un fileref pour référencer un fichier de données brutes externe (non-SAS). L'instruction FILENAME assigne le fileref 'test' à une URL distante contenant les données. Le DATA step 'credit' utilise l'instruction INFILE avec le fileref 'test' pour lire un ensemble spécifique de lignes (945-954) de ce fichier externe, en définissant les variables 'Account', 'Name', 'Type' et 'Transaction'. Enfin, PROC PRINT affiche la table SAS 'credit' nouvellement créée, vérifiant ainsi l'importation réussie des données externes. Les filerefs sont essentiels pour interagir avec des fichiers qui ne sont pas des membres de bibliothèques SAS, comme les fichiers texte ou CSV.
Copié !
1filename test url "http://support.sas.com/publishing/cert/sampdata.txt";
2DATA credit;
3 INFILE test firstobs=945 obs=954;
4 INPUT Account $ 1-4 Name $ 6-22 Type $ 24 Transaction $ 26-31;
5RUN;
6PROC PRINT DATA=credit;
7RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved


Documentation liée : Accès aux données

Sujet / Mot-cléLien vers la ressource
DOC FedSQL fr/sampleCode/FEDSQLD493
DOC Définitions des Moteurs SAS fr/sampleCode/DEFINI88E2
DOC Bibliothèques SAS par Défaut fr/sampleCode/BIBLIOB755
DOC Fonctionnement des Moteurs avec les Fichiers fr/sampleCode/FONCTI81D4
DOC Caractéristiques des moteurs SAS fr/sampleCode/CARACTABC0
DOC Définitions des Moteurs SAS fr/sampleCode/DEFINI6352
Banner
Le Conseil de l'Expert
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« Pour vos travaux collaboratifs, préférez toujours les librefs aux chemins physiques en dur. Si vous devez traiter des fichiers dont le nom varie, utilisez l'option USER= pour simplifier vos instructions DATA et PROC, tout en garantissant que vos résultats critiques sont sauvegardés dans un répertoire sécurisé plutôt que dans la bibliothèque Work qui s'efface à chaque déconnexion »