Wenn man mit SAS© Viya™ anfängt, ist es üblich, zwischen verschiedenen Schnittstellen wie SAS© Studio und SAS© Visual Analytics (VA) zu wechseln. Eine häufige Verwirrung entsteht beim Umgang mit Daten in der persönlichen Bibliothek, CASUSER.
Das Szenario ist klassisch: Sie laden eine Tabelle über SAS© Studio in Ihre CASUSER-Bibliothek. Alles scheint zu funktionieren. Wenn Sie jedoch zu Visual Analytics wechseln, um einen Bericht aus derselben Tabelle zu erstellen, ist sie unauffindbar. Umgekehrt bleibt eine Tabelle, die über die Environment Manager-Schnittstelle geladen wurde, in SAS© Studio unsichtbar.
Warum diese Trennung, obwohl Sie dieselbe Kennung auf demselben Server verwenden?
Den "Sitzungsbereich" (Session Scope) verstehen
Der Kern des Problems liegt in der Speicherverwaltung durch den CAS-Server.
Wenn Sie sich bei SAS© Studio anmelden, initiieren Sie eine spezifische CAS-Sitzung. Standardmäßig haben die Tabellen, die Sie in den Speicher laden, einen Sitzungsbereich (session scope). Das bedeutet, dass sie nur von der Sitzung, die sie erstellt hat, sichtbar und nutzbar sind.
Visual Analytics und SAS© Environment Manager öffnen oft ihre eigenen, separaten Sitzungen. Folglich kann die Visual Analytics-Sitzung die privaten Daten, die im Speicher der SAS© Studio-Sitzung gespeichert sind, nicht sehen, auch wenn sie sich technisch in Ihrer persönlichen Bibliothek CASUSER befinden.
Die Lösung: Die Tabelle heraufstufen
Um eine Tabelle über verschiedene Anwendungen (und damit verschiedene Sitzungen) hinweg sichtbar zu machen, müssen Sie ihren Geltungsbereich ändern. Dies wird als Heraufstufen der Tabelle (Promote) bezeichnet.
Die Heraufstufungsaktion verschiebt die Tabelle von einer lokalen Sichtbarkeit (Sitzung) in eine globale Sichtbarkeit (Global Scope). Sobald sie global ist, wird die Tabelle für alle Ihre Sitzungen zugänglich, egal ob Sie sich in Studio, VA oder im Environment Manager befinden.
Wie macht man das in der Praxis?
Das bevorzugte Werkzeug für diese Operation ist die Prozedur CASUTIL. Hier ist die zu befolgende Logik:
Die Daten in den Speicher laden.
Die Anweisung PROMOTE verwenden, um sie global zu machen.
Beispiel für SAS©-Code
Angenommen, Sie haben in Ihrer Sitzung eine Tabelle namens irisout erstellt. Um sie in Visual Analytics sichtbar zu machen, verwenden Sie den folgenden Code:
Wenn Sie überprüfen möchten, ob die Tabelle tatsächlich verfügbar ist, können Sie den Inhalt der Bibliothek auflisten:
Zusammenfassend
Wenn Ihre Daten zwischen SAS© Studio und Visual Analytics zu "verschwinden" scheinen:
Denken Sie daran, dass das standardmäßige Laden für die aktuelle Sitzung privat ist.
Verwenden Sie die Anweisung PROMOTE über PROC CASUTIL, um die Tabelle in den globalen Geltungsbereich zu überführen.
Ihre Daten sind dann plattformübergreifend zugänglich.