Veröffentlicht am :
Datenzugriff CREATION_INTERNE

Beispiele: Zugriff auf Daten mit einem Libref

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieser essentielle Leitfaden erkundet verschiedene Szenarien des Datenzugriffs in der SAS© Viya-Umgebung. Er beschreibt detailliert die Verwendung der LIBNAME-Anweisung, um einen logischen Namen (Libref) mit einem physischen Speicherort einer Bibliothek zu verknüpfen, und zeigt, wie SAS©-Funktionen für dieselbe Aufgabe verwendet werden können, was eine programmatische Verwaltung ermöglicht. Fortgeschrittene Fälle umfassen die Verkettung mehrerer SAS©-Bibliotheken, den sicheren Zugriff auf Bibliotheken auf entfernten Servern über SAS©/CONNECT und die Integration mit WebDAV-Servern für den Datenaustausch. Besonderes Augenmerk wird auf die Integration von Datenbankverwaltungssystemen (DBMS) mit SAS©/ACCESS gelegt, einschließlich der Erstellung von SAS©-Views aus DBMS-Tabellen, was die Flexibilität von SAS© bei der Arbeit mit verschiedenen Datenquellen unterstreicht. Schließlich wird erklärt, wie Bibliotheksordner dynamisch verwaltet und Librefs gelöscht werden, um Ressourcen zu optimieren.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) oder SASHELP, mit Ausnahme von Beispielen für den Zugriff auf externe Quellen (SAS/CONNECT, WebDAV, DBMS), für die simulierte Daten oder Platzhalter verwendet werden.

1 Codeblock
DATA STEP / PROC PRINT Data
Erklärung :
Dieses Beispiel weist das Libref 'sales' einem bestimmten Bibliothekspfad zu. Es erstellt anschließend einen Datensatz 'quarter1' in dieser Bibliothek mittels eines DATA Steps und verwendet dann PROC PRINT, um den Inhalt des Datensatzes anzuzeigen. Der Bibliothekspfad muss existieren und für den SAS Compute Server zugänglich sein.
Kopiert!
1LIBNAME sales 'library-path';
2DATA sales.quarter1;
3 LENGTH mileage 4;
4 INPUT account mileage;
5 DATALINES;
61 932
72 563
8;
9PROC PRINT DATA=sales.quarter1;
10RUN;
2 Codeblock
Macro / LIBNAME Function / LIBREF Function
Erklärung :
Dieses Makroprogramm 'test' weist einem Verzeichnis ('library-location') dynamisch ein Libref ('new') mit der LIBNAME-Funktion zu. Es überprüft anschließend den Erfolg der Zuweisung mit der LIBREF-Funktion und zeigt eine entsprechende Meldung an. Die Pfade müssen gültig und zugänglich sein. Funktionen sind für programmatische Zuweisungen vorzuziehen.
Kopiert!
1%macro test;
2 %let mylibref=new;
3 %let mydirectory=library-location;
4 %IF %sysfunc(LIBNAME(&mylibref,&mydirectory)) %THEN
5 %put %sysfunc(sysmsg());
6 %ELSE %put success;
7 %IF %sysfunc(libref(&mylibref)) %THEN
8 %put %sysfunc(sysmsg());
9 %ELSE %put library &mylibref is assigned to &mydirectory;
10%mend test;
11 
12%test
3 Codeblock
LIBNAME Statement
Erklärung :
Diese LIBNAME-Anweisung verkettet zwei bestehende SAS-Bibliotheken, 'lib1' und 'lib2', unter dem neuen Libref 'lib3'. Dies ermöglicht den Zugriff auf Daten aus beiden Bibliotheken mit einem einzigen Libref. Bei der Suche nach einem Datensatz werden die Bibliotheken in der Reihenfolge ihrer Liste durchsucht. Wird ein Datensatz erstellt, wird er in der ersten Bibliothek der Verkettung abgelegt.
Kopiert!
1LIBNAME lib3 (lib1 lib2);
4 Codeblock
LIBNAME Statement / PROC DATASETS
Erklärung :
Dieses Beispiel veranschaulicht den Zugriff auf eine SAS-Bibliothek auf einem entfernten Server über SAS/CONNECT. Es stellt eine TCP/IP-Verbindung her, verbindet sich mit dem entfernten Server ('myserver') mit Anmeldeinformationen und weist dann das Libref 'reports' einem entfernten Verzeichnis zu. PROC DATASETS wird anschließend verwendet, um die entfernte Bibliothek zu inspizieren. Die SAS/CONNECT-Sitzung wird dann beendet.
Kopiert!
1options comamid=tcp;
2%let myserver=host.name.com;
3signon myserver.__1234 user=userid password='mypw';
4LIBNAME reports '/myremotedata' server=myserver.__1234;
5PROC DATASETS library=reports;
6RUN;
7QUIT;
8signoff myserver.__1234;
5 Codeblock
LIBNAME Statement
Erklärung :
Diese LIBNAME-Anweisung weist das Libref 'davdata' einem Verzeichnis auf einem WebDAV-Server zu. Die Option 'WEBDAV' ist entscheidend für die Angabe der Zugriffsmethode. Anmeldeinformationen (Benutzer und Passwort) werden zur Authentifizierung bereitgestellt. SAS ruft die Dateien vorübergehend zur Verarbeitung auf die lokale Festplatte ab und sendet sie nach Änderungen wieder an den Server zurück.
Kopiert!
1LIBNAME davdata v9 "https://www.webserver.com/datadir"
2webdav user="userid" pw="12345";
3 
6 Codeblock
DATA STEP / PROC DATASETS Data
Erklärung :
Dieses Beispiel weist das Libref 'mytddata' einer Teradata-Datenbank zu, wodurch der Zugriff auf Tabellen wie auf SAS-Datensätze ermöglicht wird. Ein DATA Step wird verwendet, um eine Tabelle 'grades' direkt in der Teradata-Datenbank zu erstellen. PROC DATASETS wird anschließend verwendet, um Informationen zu dieser Tabelle anzuzeigen. Es ist zu beachten, dass SAS/ACCESS-Schnittstellen die Option REPLACE= für DBMS-Tabellen nicht immer unterstützen.
Kopiert!
1LIBNAME mytddata teradata server=mytera user=myid password=mypw;
2DATA mytddata.grades;
3 INPUT student $ test1 test2 final;
4 DATALINES;
5Fred 66 80 70
6Wilma 97 91 98
7;
8PROC DATASETS library=mytddata;
9RUN;
10QUIT;
7 Codeblock
DATA STEP / PROC PRINT / PROC DATASETS
Erklärung :
Dieses Beispiel erstellt eine SAS-View namens 'highgrades' aus einer bestehenden Teradata-Tabelle ('mytddata.grades'). Die View wählt nur Datensätze aus, bei denen die Variable 'final' größer als 80 ist. PROC PRINT führt diese View aus, und PROC DATASETS zeigt, dass 'highgrades' tatsächlich eine SAS-View ist. Die Librefs für 'target' und 'mytddata' müssen zugewiesen werden, bevor diese View verwendet werden kann.
Kopiert!
1LIBNAME target 'library-path';
2LIBNAME mytddata teradata server=mytera user=myid password=mypw;
3DATA target.highgrades / view=target.highgrades;
4 SET mytddata.grades;
5 where final gt 80;
6RUN;
7PROC PRINT DATA=target.highgrades;
8RUN;
9PROC DATASETS library=target;
10RUN;
11QUIT;
8 Codeblock
OPTIONS statement / LIBNAME Statement
Erklärung :
Dieses Beispiel zeigt, wie ein Unterordner für eine SAS-Bibliothek automatisch erstellt wird, wenn dieser nicht existiert. Die Systemoption 'DLCREATEDIR' wird aktiviert, wodurch SAS den Ordner 'project' erstellt, falls er im angegebenen Pfad '/home/userid/mydata/project' bei der Zuweisung des Librefs 'mynewlib' fehlt.
Kopiert!
1options dlcreatedir;
2LIBNAME mynewlib '/home/userid/mydata/project';
3 
9 Codeblock
LIBNAME Statement
Erklärung :
Diese LIBNAME-Anweisung hebt die Zuweisung des Librefs 'mylib' von seinem physischen Speicherort auf. Dies ist nützlich, um Ressourcen freizugeben oder die Zuweisung eines Librefs zu ändern. Um alle Librefs (außer Systembibliotheken) aufzuheben, kann 'libname _all_ clear;' verwendet werden.
Kopiert!
1LIBNAME mylib clear;
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.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved