SAS Enterprise Guide (SAS EG) ist eine Windows Anwendung, die sowohl ein intuitives Point- und Click-Interface für Analyse oder Datenverarbeitung bietet, als auch eine mächtige Entwicklungsumgebung zur SAS-Programmierung. Kernstück des EGs sind die sogenannten Enterprise Guide Projekte in denen Analyse- oder Verarbeitungsschritte in einem Ablauf (Prozessfluss) aneinandergereiht werden können. Dies ermöglicht einen standardisierten Ablauf zu schaffen, der immer nach dem gleichen Muster ausgeführt wird und leicht nachvollzogen werden kann. Der Code Editor verfügt über ein Syntax-Highlighting und über begrenzte Autovervollständigungsfunktionen.
Der EG war ursprünglich für SAS 9 Umgebungen vorgesehen, mittlerweile gibt es aber auch Möglichkeiten ihn mit SAS Viya 3.5 und sogar SAS Viya 4 zu verwenden.
Oberfläche SAS Enterprise Guide 8.3
Die Anordnung der Oberfläche ist größtenteils frei konfigurierbar. Oben ist die von mir bevorzugte Anordnung zu sehen. Auf der linken Seite finden sich (in meiner Ansicht):
Anbindung etwaiger git-Repositories zur Codeversionierung
Die Übersicht diverser Anwendungsroutinen.
Diese lassen sich in Enterprise Guide Projekten sequenziell anordnen und ausführen. Die meisten dieser Routinen beziehen sich auf statistische Analysemethoden, es finden sich allerdings auch Visualisierungsmöglichkeiten und Datenaufbereitungswerkzeuge.
Die Projektübersicht in der die angeordneten Analyse- oder Verarbeitungsschritte zu sehen sind. Die Ausführung erfolgt von links nach rechts.
In der Mitte des EGs werden in der Regel SAS Codes, das Log der ausgeführter Codes oder EG-Projekte, sowie deren Ergebnisse angezeigt.
SAS Code
Hier handelt es sich entweder um von Anwendungsroutinen generierten Code (wie im Screenshot unten) oder aber um selbst geschriebenen SAS Code.
SAS Log
Im SAS Log erscheinen nach der Ausführung eines Codes hiweise zur erfolgreichen Ausführung oder Fehlermeldungen die einen Hinweis auf den Grund des Abbruchs liefern.
Ergebnisse
Anwendungsroutinen geben in der Regel (soweit nicht anders konfigueriert oder programmiert) Ergebnisseberichte oder Grafiken zurück. Bei den Ergebnissen sind unter anderen Ausgaben als HTML, PDF und Excel möglich.
Ausgabedaten
Sollte eine Verarbeitung als Ziel die Erstellung einer SAS-Tabelle haben, befindet sich diese unter dem Writer Ausgabedaten.
Serveransicht
Auf der rechten Seite habe ich die Übersicht der SAS-Server und Ordnerstrukturen auf dem jeweiligen Server untergebracht.
Diese bietet auch Zugriff auf die allokierten SAS-Bibliotheken und die sich dort befinden SAS-Tabellen.
Nützliche Funktionen des SAS Enterprise Guides
Nachdem ich nun eine kurze Vorstelllung der Oberfläche gemacht habe, würde ich gerne ein paar nützliche Funktionen vorstellen.
Anwendungsroutinen
Diese Bausteine von SAS-EG Projekten bieten die Möglichkeit per Drag und Drop Analysen zu erstellen.
Dabei werden die Variablen einer Tabelle den entsprechenden Rollen für die Routine zugewiesen. Nach der Ausführung kann man sich im Writer Code, den von der Routine erstellen, SAS-Code ansehen und kopieren.
Dies ist nützlich um den Code einer Prozedur kennen zu lernen und später selbst auf Codeebene zu modifizieren.
Viewer
Unter dem Menüpunkt Extras finden sich der SAS-Makrovariablenviewer und der Systemoptions-Viewer.
Der Makrovariablenviewer ermöglicht es sich die derzeit im Speicher des SAS-Servers (bzw. Serverkontextes) befindlichen SAS-Makrovariablen und deren Werte anzuschauen.
Die für die SAS-Session gesetzten SAS Optionen kann man im Systemoptions-Viewer überprüfen.
Geordnete Listen
Über die Anlage einer geordneten Liste lassen sich SAS-Codes und Anwendungsroutinen in einer bestimmten Reihenfolge zur Ausführung sortieren.
Wird die Liste ausgeführt, wird diese sequenziell vom SAS-Server abgearbeitet. Dies kann als Alternative zum Bau eines Prozessflusses mit diesen Codes gesehen werden. Allerdings bieten Prozessflüsse die Möglichkeit komplexe Ausführungslogiken (z.B verschiedene Verarbeitungszweige mit Wenn-Dann Logiken) zu erstellen.
Prozessfluss-Code exportieren
Mit einem Rechtsklick auf den Prozessfluss lässt sich der gesamt Code eines Flusses exportieren.
Dies ist hilfreich, sollte man den Code nicht mehr manuell ausführen wollen, sondern ihn in ein regelmäßiges Scheduling übergeben wollen.
Es gibt zwar die Möglichkeit ein Projekt auch über den EG zu schedulen, diese öffnet jedoch nur den Windows Scheduler auf dem Rechner, so dass der Rechner eingeschaltet sein müsste damit das Projekt zum gewünschten Zeitpunkt automatisch ausgeführt
wird.
Schlussbemerkung
Ich persönlich bevorzuge nach wie vor den SAS Enterprise Guide gegenüber SAS Studio1. Er bietet einen immens großen Werkzeugkasten zur SAS Entwicklung und fühlt sich aufgeräumt und durchdacht an. Vermutlich ist es Gewöhnungssache ob man EG oder SAS Studio bevorzugt, insbesondere seit die meisten der EG Funktionen auch dort verfügbar sind. Dennoch zeigt, die Tatsache, dass der EG jetzt auch mit SAS Viya 4 interagieren kann, dass er weiterhin seine Anhängerschaft hat.