Les exemples utilisent des données générées (datalines) ou SASHELP, ou nécessitent la fourniture d'un fichier externe (CSV, Excel, XML, JSON) par l'utilisateur.
1 Bloc de code
PROC IMPORT Data
Explication : Cet exemple utilise l'instruction FILENAME pour attribuer un fileref à un fichier temporaire. La procédure HTTP spécifie l'URL d'un fichier CSV et écrit les données dans le fileref. PROC IMPORT lit ensuite les données délimitées par des virgules et crée un ensemble de données SAS. Enfin, PROC PRINT affiche l'ensemble de données importé, confirmant la bonne importation des données et des noms de colonnes.
Explication : Cet exemple importe des données Excel à l'aide du moteur XLSX et de PROC IMPORT. L'option VALIDVARNAME=V7 est utilisée pour convertir les noms de colonnes en noms de variables compatibles avec SAS (les espaces sont convertis en underscores). Le fichier d'entrée est spécifié via l'option DATAFILE=, le type de base de données est défini sur XLSX, et l'ensemble de données de sortie est créé dans la bibliothèque WORK. L'option REPLACE permet de remplacer un ensemble de données SAS existant.
Explication : Cet exemple montre comment une étape DATA SAS peut créer une table Teradata. L'instruction LIBNAME attribue un libref 'mytddata' au moteur Teradata et spécifie les options de connexion. L'étape DATA crée une table nommée 'grades' dans le SGBD Teradata en utilisant des données en ligne (datalines). Enfin, PROC DATASETS est utilisée pour afficher les informations de la bibliothèque 'mytddata', confirmant que le moteur est Teradata et que 'grades' est une table DBMS.
Explication : Cet exemple intègre une instruction LIBNAME SAS/ACCESS directement dans une vue PROC SQL. L'instruction LIBNAME initiale attribue un libref à l'emplacement de stockage de la vue SAS. La procédure SQL crée ensuite une vue nommée 'mygrades' en sélectionnant toutes les colonnes de la table 'mytddata.grades'. L'instruction 'USING LIBNAME' embarque les détails de connexion Teradata dans la définition de la vue. Enfin, PROC PRINT exécute cette vue, récupérant les données de la table Teradata via la connexion intégrée.
Copié !
libname viewlib v9 'library-path';
proc sql;
create view viewlib.mygrades as
select *
from mytddata.grades
using libname mytddata teradata
server=mytera
user=myid password=mypw;
quit;
proc print data=viewlib.mygrades noobs;
run;
1
LIBNAME viewlib v9 'library-path';
2
PROC SQL;
3
create view viewlib.mygrades as
4
select *
5
from mytddata.grades
6
using LIBNAME mytddata teradata
7
server=mytera
8
user=myid password=mypw;
9
QUIT;
10
PROC PRINTDATA=viewlib.mygrades noobs;
11
RUN;
5 Bloc de code
PROC SQL
Explication : Cet exemple PROC SQL utilise la fonction SQL Pass-Through pour envoyer une requête directement à une table Teradata. L'instruction CONNECT établit une connexion à la base de données. La clause FROM 'CONNECTION TO myconn' est utilisée pour exécuter une requête SQL spécifique au SGBD (ici, sélectionnant les notes finales supérieures à 90 de la table 'grades'). Enfin, l'instruction DISCONNECT met fin à la connexion à la base de données.
Copié !
proc sql;
connect to teradata as myconn (server=mytera
user=myid password=mypw);
select *
from connection to myconn
(select *
from grades
where final gt 90);
disconnect from myconn;
quit;
1
PROC SQL;
2
connect to teradata as myconn (server=mytera
3
user=myid password=mypw);
4
select *
5
from connection to myconn
6
(select *
7
from grades
8
where final gt 90);
9
disconnect from myconn;
10
QUIT;
6 Bloc de code
PROC PRINT Data
Explication : Cet exemple utilise le moteur XMLV2 de SAS pour importer des données XML. La première instruction FILENAME attribue un fileref au fichier XML d'entrée. La seconde attribue un fileref à l'emplacement où un fichier XMLMap sera généré. L'instruction LIBNAME associe le libref au moteur XMLV2, en spécifiant la génération automatique de l'XMLMap. PROC PRINT est ensuite utilisée pour afficher des parties des données importées, vérifiant l'importation réussie du XML en un ensemble de données SAS en mémoire.
Copié !
filename nhl 'file-path/nhl.xml';
filename map 'file-path/nhlgenerate.map';
libname nhl xmlv2 automap=replace xmlmap=map;
proc print data=nhl.team noobs;
var TEAM_name TEAM_abbrev;
run;
1
filename nhl 'file-path/nhl.xml';
2
filename map 'file-path/nhlgenerate.map';
3
LIBNAME nhl xmlv2 automap=replace xmlmap=map;
4
PROC PRINTDATA=nhl.team noobs;
5
var TEAM_name TEAM_abbrev;
6
RUN;
7 Bloc de code
PROC DATASETS Data
Explication : Cet exemple utilise le moteur JSON de SAS pour lire les données JSON. L'instruction LIBNAME attribue un libref 'mydata' au moteur JSON et spécifie le chemin du fichier JSON d'entrée. La procédure PROC DATASETS est ensuite utilisée pour afficher les ensembles de données SAS créés en mémoire à partir du fichier JSON, démontrant l'importation des données JSON sous forme d'ensembles de données SAS temporaires.
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.
« L'intégration de sources externes est le premier maillon de la chaîne analytique. Ce document présente un panorama complet des méthodes de connexion, du simple fichier plat au SGBD massif.
Le virage du SQL Pass-Through : C'est la technique reine pour la performance. En utilisant CONNECT TO TERADATA, vous déléguez le filtrage (clause WHERE) directement au serveur de base de données. Vous ne rapatriez dans SAS que les lignes utiles, ce qui économise la bande passante et accélère drastiquement vos traitements par rapport à un LIBNAME classique.
La robustesse de l'import (Excel/CSV) : L'option VALIDVARNAME=V7 est un réflexe de sécurité indispensable. Elle garantit que les noms de colonnes exotiques d'Excel (avec espaces ou caractères spéciaux) sont normalisés pour être utilisables sans erreur dans vos futurs calculs SAS.
L'intelligence des moteurs XMLV2 et JSON : Ces moteurs transforment des structures hiérarchiques complexes en tables relationnelles SAS. L'option AUTOMAP du moteur XML est particulièrement puissante : elle évite d'écrire manuellement des lignes de code fastidieuses pour décrire la structure du fichier.
L'agilité des Vues SQL : Intégrer une instruction USING LIBNAME dans une vue SQL est une astuce d'architecture brillante. Cela crée une vue "autonome" qui contient ses propres informations de connexion, simplifiant ainsi le partage de code entre utilisateurs sans avoir à redéfinir les accès à chaque session.
Mon conseil : Pour vos fichiers CSV hébergés en ligne, privilégiez le couple PROC HTTP et PROC IMPORT. Cela permet d'automatiser vos flux de données "Open Data" sans intervention manuelle, garantissant que vos analyses reposent toujours sur la version la plus récente du fichier distant. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.