Detaillierte Funktionsanalyse verschiedener Ansätze für den Import und Export externer Daten. Es behandelt die Verwendung von PROC IMPORT für CSV- und Excel-Dateien, die Erstellung von Tabellen in einem DBMS über einen DATA-Schritt, die Integration von LIBNAME-Anweisungen in PROC SQL-Views, die Nutzung der SQL Pass-Through-Funktion sowie den Import von XML- und JSON-Daten mithilfe der XMLV2- bzw. JSON-Engines. Jedes Beispiel ist eigenständig konzipiert und bietet die Mittel zum Erwerb oder zur Erstellung der erforderlichen Daten.
Datenanalyse
Type : GEMISCHT
Die Beispiele verwenden externe Daten (CSV, Excel, XML, JSON), deren Erfassung erläutert wird, oder intern erstellte Daten (Datalines) für DBMS-Demonstrationen.
1 Codeblock
PROC HTTP / PROC IMPORT
Erklärung : Dieses Beispiel verwendet die FILENAME-Anweisung, um der Fileref 'chol' eine temporäre Datei zuzuweisen. Die HTTP-Prozedur wird anschließend verwendet, um eine CSV-Datei von einer angegebenen URL herunterzuladen und unter der Fileref 'chol' zu speichern. Die IMPORT-Prozedur liest die CSV-Daten und erstellt den SAS-Datensatz 'work.mycholesterol'. Schließlich zeigt PROC PRINT den Inhalt des Datensatzes an, um den Import zu überprüfen.
Erklärung : Dieses Beispiel importiert Daten aus einer Microsoft Excel-Datei (.xlsx) unter Verwendung der IMPORT-Prozedur und der XLSX-Engine. Damit dieses Beispiel eigenständig ist, müssen Sie zuerst eine Excel-Datei namens 'cholesterol.xlsx' erstellen (z. B. durch Speichern der Datei 'cholesterol.csv' aus dem vorherigen Beispiel im .xlsx-Format). Die Option 'VALIDVARNAME=V7' wird verwendet, um Excel-Spaltennamen in gültige SAS-Variablennamen umzuwandeln (Ersetzen von Leerzeichen durch Unterstriche). Die XLSX-Engine erfordert, dass die SAS/ACCESS to PC Files-Schnittstelle konfiguriert ist. Die Option REPLACE ermöglicht das Ersetzen eines vorhandenen SAS-Datensatzes.
Erklärung : Dieses Beispiel zeigt, wie eine Tabelle direkt in einem externen Datenbankverwaltungssystem (DBMS), hier Teradata, erstellt wird. Die LIBNAME-Anweisung 'mytddata' wird definiert, um eine Verbindung zum Teradata-Server herzustellen, einschließlich der Anmeldeinformationen. Ein DATA-Schritt wird dann verwendet, um eine Tabelle namens 'grades' in diesem DBMS unter Verwendung von 'Datalines' zur Bereitstellung der Daten zu erstellen. Die DATASETS-Prozedur wird verwendet, um die Informationen der Bibliothek 'mytddata' anzuzeigen und zu bestätigen, dass die Tabelle im DBMS erstellt wurde.
Erklärung : Dieses Beispiel veranschaulicht die Erstellung einer SAS-Ansicht (mygrades in der Bibliothek viewlib), die eine LIBNAME-Anweisung für eine Verbindung zu einer Teradata-Datenbank integriert. Die Libref 'viewlib' wird dem Speicherort zugewiesen, an dem die SAS-Ansicht gespeichert wird, unter Verwendung der V9-Engine. Die 'USING'-Klausel der 'CREATE VIEW'-Anweisung ermöglicht die Einbettung der DBMS-Verbindungsdetails, wodurch die Ansicht für den Zugriff auf die Tabelle 'mytddata.grades' autark wird. Schließlich führt PROC PRINT diese Ansicht aus und zeigt ihren Inhalt an.
Kopiert!
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 Codeblock
PROC SQL
Erklärung : Dieses Beispiel verwendet die SQL Pass-Through-Funktion innerhalb von PROC SQL, um SQL-Abfragen direkt an eine externe Datenbank (Teradata) zu senden. Die 'CONNECT TO'-Anweisung stellt eine benannte Verbindung 'myconn' zum Teradata-Server mit den angegebenen Anmeldeinformationen her. Anschließend ermöglicht eine Klausel 'SELECT * FROM CONNECTION TO myconn (...)' die direkte Ausführung einer nativen SQL-Abfrage (Filtern der 'grades' mit 'final gt 90') auf dem DBMS. Die 'DISCONNECT FROM'-Anweisung wird verwendet, um die Verbindung zur Datenbank nach Ausführung der Abfrage zu beenden.
Kopiert!
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 Codeblock
LIBNAME / PROC PRINT
Erklärung : Dieses Beispiel importiert Daten aus einer XML-Datei unter Verwendung der XMLV2-Engine. Um dieses Beispiel eigenständig zu machen, erstellen Sie eine Datei namens 'nhl.xml' mit folgendem XML-Inhalt und ersetzen Sie 'file-path' durch den tatsächlichen Pfad:
```xml
<?xml version="1.0" encoding="iso-8859-1" ?>
<NHL>
<CONFERENCE> Eastern
<DIVISION> Southeast
<TEAM name="Thrashers" abbrev="ATL" />
<TEAM name="Hurricanes" abbrev="CAR" />
<TEAM name="Panthers" abbrev="FLA" />
<TEAM name="Lightning" abbrev="TB" />
<TEAM name="Capitals" abbrev="WSH" />
</DIVISION>
</CONFERENCE>
<CONFERENCE> Western
<DIVISION> Pacific
<TEAM name="Stars" abbrev="DAL" />
<TEAM name="Kings" abbrev="LA" />
<TEAM name="Ducks" abbrev="ANA" />
<TEAM name="Coyotes" abbrev="PHX" />
<TEAM name="Sharks" abbrev="SJ" />
</DIVISION>
</CONFERENCE>
</NHL>
```
Die FILENAME-Anweisung weist der Fileref 'nhl' die XML-Datei zu. Eine zweite FILENAME-Anweisung weist der Fileref 'map' eine Datei zu, die die generierte XMLMap speichern wird. Die LIBNAME-Anweisung, zusammen mit der XMLV2-Engine und den Optionen 'AUTOMAP=REPLACE' und 'XMLMAP=map', liest die XML-Datei und generiert eine XMLMap. PROC PRINT zeigt anschließend die Variablen 'TEAM_name' und 'TEAM_abbrev' des in memory erstellten Datensatzes 'nhl.team' an.
Kopiert!
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 Codeblock
LIBNAME / PROC DATASETS
Erklärung : Dieses Beispiel importiert JSON-Daten unter Verwendung der JSON-Engine. Um dieses Beispiel eigenständig zu machen, erstellen Sie eine Datei namens 'example.json' mit gültigem JSON-Inhalt (z. B. ein einfaches JSON-Objekt mit einigen Feldern und Werten) und ersetzen Sie 'file-path' durch den tatsächlichen Pfad. Die LIBNAME-Anweisung 'mydata' wird der JSON-Engine zugewiesen und verweist auf die Datei 'example.json'. Die DATASETS-Prozedur wird anschließend verwendet, um die aus dieser JSON-Datei in memory erstellten SAS-Datensätze aufzulisten und so den Import zu überprüfen.
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.