SAS-Software

Aus SAS-Wiki

Wechseln zu: Navigation, Suche

Die SAS-Software ist die Software zur Datenanalyse, die das amerikanische Unternehmen SAS Institute mit Sitz in Cary, North Carolina entwickelt und vertreibt.

SAS ist eine herstellergebundene Softwareumgebung für die Auswertung von Daten, hauptsächlich von geschäftlichen Daten („Business Intelligence“), aber auch in der Forschung und in der öffentlichen Statistik. SAS ist heute noch eine der vollständigsten und bewährtesten Sammlungen von Statistikroutinen, die Anwendung geht aber mittlerweile weit über die Statistik hinaus.

Inhaltsverzeichnis

Geschichte

Der Name SAS stand ursprünglich als Abkürzung für statistical analysis system, ein Auswertungsprogramm zur Analyse von Daten aus der landwirtschaftlichen Forschung, das Anfang der 1970er Jahre von Jim Goodnight, John Sall und weiteren Forschern an der NC State University entwickelt wurde. Als die Nachfrage nach dem Programm wuchs, wurde das Unternehmen SAS Institute 1976 gegründet, um die Software zu entwickeln und zu vertreiben. Heute wird der Name „SAS“ nicht mehr als Abkürzung verwendet, sondern als Markenname.

Lizenzierung

SAS-Software kann man nicht kaufen, sondern nur eine Nutzungsberechtigung erwerben, die über Software-Schlüssel normalerweise jährlich freigeschaltet wird.

Grundlegendes

Aufbau der SAS-Softwareumgebung

Zu den Kerntechnologien von SAS gehören die Skriptsprache „SAS Language“ (einschließlich der Statistikprozeduren und -funktionen), die SAS-eigene Datenbank („SAS-Datasets“), das Enginekonzept für den Zugriff auf unterschiedlichste Datenformate, die „Multi Vendor Architecture“, also die betriebssystemunabhängige und -übergreifende Architektur sowie verschiedene Middlewarekonzepte („SAS Integration Technologies“).

SAS ist heute sehr stark auf das Gewinnen von Informationen und Wissen aus Unternehmensdaten ausgerichtet, also auf Datenintegration, Business Intelligence und deren Anwendungen in unterschiedlichsten betriebswirtschaftlichen Bereichen. Daher wurde seit 2004 die SAS Intelligence Platform aufgebaut, die es ermöglicht, geschäftliche Daten unternehmensweit zu verarbeiten und zu verwalten. Den Kern bildet die SAS Open Metadata Architecture für die durchgängige und einheitliche Speicherung von Metadaten für verschiedenste Anwendungsbereiche. Darum gruppiert sich eine Vielzahl von Anwendungen für die Datenintegration und –auswertung für ganz unterschiedliche Benutzerrollen in den Unternehmen.

Eine dritte anwendungsorientierte Schicht stellen die Lösungen für verschiedene betriebswirtschaftliche (zum Beispiel Marketing) oder branchenspezifische (zum Beispiel Entwicklung von Medikamenten) Fragestellungen dar. Diese bauen auf den Kerntechnologien und auf der Intelligence Platform auf.

Die SAS-Sprache („SAS Language“)

Der aktive technische Kern der SAS-Software war immer und ist auch heute noch ein Interpreter (Prozessor) für die Skriptsprache „SAS Language“. Diese besteht aus einer Vielzahl von Anweisungen (Statements), die jeweils mit einem Semikolon abgeschlossen werden. „SAS-Code“ ist eine Aneinanderreihung von Anweisungen, die nacheinander vom Interpreter ausgeführt werden. Hinter den Anweisungen verbergen sich vorgefertigte Funktionalitäten zum Teil sogar weitere Programmiersprachen aus ganz unterschiedlichen Bereichen. In den 80er-Jahren hieß so etwas 4GL.

In einem sogenannten Prozedurschritt (PROC STEP) können vorgefertigte Prozeduren mit typischerweise wenigen Zeilen Programmcode aufgerufen werden, um deskriptive und schließende Statistiken zu berechnen, Berichte und Grafiken in unterschiedlichsten Formaten zu erstellten sowie Daten und Konfigurationen zu verwalten. Insgesamt sind es über 350 Prozeduren, die nach Anwendung und lizenztechnisch zu zirka 20 Produkten zusammengefasst sind.

Folgende Programmiersprachen sind Bestandteil der „SAS Language“:

  • Der sogenannte Datenschritt (DATA STEP), der in einer sehr mächtigen, SAS-eigenen Datendefinitions- und -manipulationssprache geschrieben wird, die bereits vor SQL existierte und wesentlich mächtiger, zum Teil aber auch umständlicher als SQL ist. Die Syntax lehnt sich ein wenig an die Programmiersprache PL/I an. Im Gegensatz zu SQL kennt der DATA STEP iterative und bedingte Anweisungen sowie Arrays und viele weitere Konstrukte, die es erlauben Daten jedweder Art zu lesen, zu verarbeiten und zu speichern.
  • Eine umfangreiche Makro-Sprache, die nach dem Textersetzungsprinzip funktioniert und mit der man sehr flexible, unter Umständen aber auch schwer wartbare Programme schreiben kann.
  • Ein SAS-eigenes SQL (siehe PROC SQL), das einige Erweiterungen, aber auch einige Kürzungen gegenüber ANSI-SQL besitzt. Es ermöglicht den Zugriff auf das SAS-eigene relationale Datenbanksystem (s.u.) sowie, über die Datenschnittstellen von SAS/ACCESS (s.u.), auf die Datenbanksysteme verschiedenster Hersteller und auf die Standardschnittstellen OLEDB und ODBC.
  • Der Durchgriff auf die SQL-Sprachen verschiedenster Datenbanksysteme wie Microsoft SQLServer, Oracle, DB2 und MySQL, wobei direkt der jeweilige SQL-Dialekt verwendet werden kann (sogenanntes Pass-Through).
  • Eine Matrixsprache namens IML (Interactive Matrix Language).

Für die Ausführung dieser Skriptsprache steht schon immer Betriebssystem-übergreifend die SAS-Fensterumgebung (SAS Windowing Environment, früher SAS Display Manager) zur Verfügung. Sie dient dazu, Programme zu schreiben und auszuführen und Daten, Ergebnisse und Protokolle anzusehen. Zusätzlich kann SAS-Code im Enterprise Guide (s.u.) entwickelt und ausgeführt werden. In einem Anwendungsentwicklungsszenario (s.u.) wird SAS-Code auf dem Server ausgeführt und die Ergebnisse in Client-Anwendungen angezeigt.

Die SAS-eigene Datenbank

SAS enthält mit dem SAS Data Set bzw. zu Deutsch der SAS-Tabelle („SAS Data Sets“) ein einfaches und effizientes internes Datenbankkonzept, das ganz auf die Erfordernisse der Informationsgewinnung ausgerichtet ist. Im Gegensatz zu transaktionsorientierten Datenbanken ist der Data Set auf hohe Geschwindigkeiten beim Lesen und Schreiben großer Datenmengen optimiert. Transaktionen finden nicht auf Satz-, sondern auf Tabellenebene statt. Man kann mit dieser Datenbank zwar arbeiten wie mit einer gewöhnlichen Datenbank, also mit den Mitteln der oben beschriebenen Skriptsprache per SQL oder DATA-Schritt Tabellen anlegen, Sätze einfügen, ändern und löschen und es gibt auch Indizierung, referentielle Integrität und Audit Trails. Häufiger werden allerdings Tabellen während der Verarbeitung einfach komplett neu geschrieben, daher gibt es auch das Konzept der Historisierung von Tabellen (Generation Data Sets).

Die Ausrichtung auf die Informationsgewinnung zeigt sich auch in dem sehr sparsamen Typenkonzept, es gibt eigentlich nur zwei Datentypen: Fließkommazahlen und Zeichenketten fester Länge.

Tabellen werden zu Bibliotheken (Libraries) zusammengefasst. Je nach Betriebssystem kann eine Bibliothek physisch durch ein Verzeichnis in einem hierarchischen Filesystem (unter Unix und Windows) oder durch ein anderes physisches Speicherkonzept (unter klassischem zOS) repräsentiert werden. Bibliotheken werden durch logische Namen (sogenannte Librefs) referenziert.

Für den optimierten Betrieb sehr großer Datenbanken auf Basis des SAS-eigenen Speicherkonzepts gibt es ein eigenes Serverprodukt namens Scalable Performance Data Server („SPDS“).

Für die Speicherung von Datenwürfeln („Cubes“) gibt es einen eigenen OLAP-Server von SAS.

Der Zugriff auf externe Daten

Der lesende und schreibende Zugriff auf und die Integration von Daten aus ganz unterschiedlichen Datenbanksystemen und Dateiformaten ist bei der Informationsgewinnung essentiell.

Für den Zugriff auf relationale Daten gibt es das Konzept der SAS-Engine, das den Zugriff auf SAS-Datasets, XML-Daten und alle unterstützten fremden Datenbanksysteme über die einheitliche Schnittstelle der Library Engines bietet. SAS/ACCESS ermöglicht den Zugriff auf alle wichtigen Datenbanksysteme (nicht nur Oracle, DB2, Microsoft SQL Server, MySQL), auf Datenbanken über ODBC und OLEDB sowie auf Files in den Desktop-Formaten (Microsoft Excel und Access, dBase, CSV etc.), soweit sich diese als strikt relationale Tabellen auffassen lassen. Einen Überblick gibt die Einstiegsseite zur Dokumentation von SAS/ACCESS.

Auf fremde relationale Datenbanksysteme kann, wie bereits erwähnt, auch über Pass Through zugegriffen werden, wobei die SQL-Syntax des jeweiligen RDBMS verwendet wird.

Der lesende und schreibende Zugriff auf nicht-relationale Daten in den unterschiedlichsten Formaten ist äußerst flexibel über Anweisungen im DATA-Schritt möglich.

Betriebssysteme

Bereits in den 80er-Jahren konnte man SAS-Programme auf dem PC entwickeln und mit geringen Änderungen, die in erster Linie den unterschiedlichen Filesystemen geschuldet waren, auf dem Großrechner einsetzen (und umgekehrt). Heute kann SAS auf verschiedenen Varianten der Betriebssysteme Windows, Unix und zOS betrieben werden.

Betriebssystemübergreifendes Client-Server-Computing war ebenfalls bereits in den 80er-Jahren mit Hilfe von SAS/CONNECT verfügbar. Dabei dient eine SAS-Installation als Client und eine andere als Server. Dies ist auch heute noch verfügbar, tritt jedoch in den Hintergrund, da Anwendungen auf Basis von Java, Microsoft Windows sowie Webanwendungen die Rolle der Clients übernommen haben.

Anwendungsentwicklung

Eine eigene Entwicklungsumgebung namens SAS/AF mit der Programmiersprache SCL (SAS Component Language, früher SAS Screen Control Language) dient der Anwendungsentwicklung auf Basis von objektorientierter Software. Eine Besonderheit ist die Möglichkeit, eigene portable und betriebssystemübergreifende Anwendungen zu schreiben. Dies hat jedoch durch die weitreichenden Möglichkeiten der Java- und .NET-Plattformen mittlerweile stark an Bedeutung verloren.

Für die Entwicklung von Webanwendungen mit SAS gab es zunächst SAS/Intrnet, das auf der Webserver-Erweiterung CGI basiert. Auch diese Technologie, bei der HTML-Seiten mit Hilfe verschiedener Programmierschnittstellen insbesondere im DATA-Schritt erzeugt werden, gilt heute als veraltet und wird abgelöst durch die folgenden Technologien.

Heute dienen Java EE und Microsoft .NET als Integrations- und Anwendungsentwicklungsplattformen. Hierzu gibt es SAS Integration Technologies mit Client- und Server-seitigen Komponenten. Client-seitig stehen Klassenbibliotheken für das Integrated Object Model (IOM) in Java und .NET zur Verfügung, die den Zugriff auf die verschiedenen Funktionalitäten der SAS-Server erlauben. Für die Entwicklung von Java-basierten Desktop- und Web-Anwendungen steht mit Appdev Studio eine eigene, Eclipse-basierte Entwicklungsumgebung zur Verfügung. Server-seitig gibt es den Workspace Server für langdauernde Sitzungen (ein Serverprozess pro Clientprozess), den Stored Process Server für die sequentielle Abarbeitung von Client-Anfragen (feste Anzahl von Serverprozessen mit Lastverteilung) den OLAP-Server für die Speicherung von Cubes sowie den Metadatenserver für die Speicherung von technischen, fachlichen und anwenderbezogenen Metadaten.

Ein wichtiger Teil von Integration Technologies ist die SAS Web Infrastructure Platform, die als Basis für die Web-Anwendungen der SAS Intelligence Platform (siehe unten) fungiert.

Integration Technologies enthält weitere Services, unter anderem auch die Möglichkeit, BI Web Services zu entwickeln.

Intelligence Plattform

Die SAS Intelligence Platform (seit SAS Version 9) gibt Unternehmen die Möglichkeit, komplexe Informationsgewinnungsprozesse in heterogenen IT-Infrastrukturen aufzubauen und sich dabei auf eine hochspezialisierte Softwarearchitektur und auf rollenspezifisch ausgerichtete Frontends zu stützen. Die SAS Intelligence Platform integriert einen großen Teil der oben genannten Komponenten der SAS Software und stellt zusätzlich Frontends unter anderem für Administratoren und Datenintegrations-Entwickler (Desktop-Java-Anwendungen), Power-User (Windows-Anwendungen, auch integriert in Microsoft Office), und Informationskonsumenten (Webanwendungen) zur Verfügung. Eine zentrale Komponente der Intelligence Platform ist der Metadatenserver für die anwendungsübergreifende Verwaltung von Metadaten.

Im Folgenden die wichtigsten Frontends der SAS Intelligence Platform:

Desktop-Java-Anwendungen für Administratoren und Entwickler:

  • Management Console kommuniziert in erster Linie mit dem SAS Metadatenserver und dient der Verwaltung der gesamten Umgebung.
  • Data Integration Studio ermöglicht grafisch unterstützt die Entwicklung von ETL-Prozessen, die auf dem Metadatenserver registriert werden, so dass eine dokumentierte Nachverfolgung der Daten von der Quelle bis zum Endanwender möglich wird.
  • Information Map Studio dient dazu, fachlich dokumentierte Datensichten für Endanwender zu erzeugen.
  • OLAP Cube Studio erlaubt es, OLAP-Cubes zu entwickeln und zu verwalten.

Windows-Anwendungen für Power-User:

  • Enterprise Guide ist gut in Microsoft Windows integriert und wird von IT-nahen Anwendern in den Fachabteilungen benutzt, um individuelle Auswertung mit Hilfe von Dialog-gestützten Anwendungsroutinen oder auf der Basis von SAS-Code zu erstellen.
  • Das Add-In für Microsoft Office verbindet SAS-Technologie mit Microsoft Office und ermöglicht aus Microsoft Excel und aus anderen Anwendungen der Microsoft-Office-Suite das Ausführen von SAS-Routinen sowie den Zugriff auf Daten, die auf SAS-Servern gespeichert sind, auch auf OLAP-Daten.

Webanwendungen für Berichtsdesigner und Informationskonsumenten:

  • Web Report Studio läuft im Webbrowser. Es können interaktiv Berichte erzeugt und fertige Berichte abgerufen werden. Basis für die Berichte sind die Information Maps.
  • Web OLAP Viewer unterstützt OLAP im Webbrowser.
  • Das Information Delivery Portal dient dazu, Informationsobjekte wie Berichte, OLAP-Berichte, Dashboards oder Information Maps in einer Portalumgebung im Browser verfügbar zu machen.

Analytics Platform

Die SAS Analytics Platform fasst Anwendungen für komplexe Analysen zusammen, insbesondere Enterprise Miner und Text Miner für das Data Mining, sowie Forecast Server für Zeitreihenanalysen und Prognosen.

Versionen

Die Version 9.2 wird gerade ausgerollt. Aktuell ist die Vorgängerversion SAS 9.1.3. Version 8.2 ist teilweise auch noch im produktiven Einsatz.

SAS 9.2

SAS 9.2 wurde erstmals auf dem SAS Global Forum im März 2008 vorgestellt. Die aktuelle Version SAS 9.2 TS2M0 ist auf folgenden Betriebssystem-Plattformen lauffähig:

  • 64-bit Enabled AIX
  • 64-bit Enabled HP-UX
  • 64-bit Enabled Solaris
  • HP-UX IPF
  • Linux
  • Linux für x64
  • Microsoft Windows für IPF
  • Microsoft Windows für x64
  • OpenVMS on HP Integrity
  • Solaris für x64
  • Windows
  • z/OS

Es werden folgende Softwarepakete (Module) als Bestandteile von SAS 9.2 TS2M0 angeboten:

  • Base SAS
  • CGI Tools for the Web Server
  • DataFlux Accelerator for Commodity Coding Client
  • DataFlux Accelerator for Customer Data Analysis Client
  • DataFlux Accelerator for Customer Data Control Client
  • DataFlux Accelerator for Customer Data Improvement Client
  • DataFlux Accelerator for Watch List Compliance Client
  • DataFlux Basic Integration Server
  • DataFlux Basic Integration Server - Client Install
  • DataFlux dfConnector for SAP
  • DataFlux Enterprise Integration Server
  • DataFlux Integration Server
  • DataFlux Integration Server for SAS
  • DataFlux Standard Integration Server
  • Deployment Tester SAS Management Console Plug-in
  • dfIntelliServer
  • dfPower Studio
  • dfPower Studio for SAS
  • JMP Genomics
  • JMP Genomics SAS Components
  • ODS Templates
  • Report Fonts for Clients
  • Report Fonts for Servers
  • SAS Accelerator Publishing Agent
  • SAS Add-in for Microsoft Office
  • SAS BI Dashboard
  • SAS BI Dashboard Help and Documentation
  • SAS BI Report Services
  • SAS BI Server
  • SAS BI Web Services for .NET
  • SAS Bridge for ESRI
  • SAS Client Connection Profile Configuration
  • SAS Data Integration Server
  • SAS Data Integration Studio
  • SAS Data Integration Studio Server Data
  • SAS Data Quality Server
  • SAS Data Surveyor for Oracle Applications
  • SAS Data Surveyor for PeopleSoft
  • SAS Data Surveyor for Salesforce.com
  • SAS Data Surveyor for SAP
  • SAS Data Surveyor for Siebel
  • SAS Deployment Tester - Client
  • SAS Deployment Tester - Server
  • SAS Deployment Wizard
  • SAS Drivers for JDBC
  • SAS Drivers for ODBC
  • SAS Enterprise BI Server
  • SAS Enterprise Data Integration Server
  • SAS Enterprise Guide
  • SAS ESRI Map Manager Plug-in for SAS Management Console
  • SAS Fair Banking
  • SAS Fair Banking Help and Documentation
  • SAS Fair Banking Mid-tier
  • SAS Formats
  • SAS Formats Library for Teradata
  • SAS Foundation
  • SAS Foundation Services
  • SAS Grid Manager Plug-ins for SAS Management Console
  • SAS Help Viewer for the Web
  • SAS High-Performance Forecasting
  • SAS Information Delivery Portal
  • SAS Information Delivery Portal Help and Documentation
  • SAS Information Delivery Portal JPS Extension
  • SAS Information Map Studio
  • SAS Install Qualification Tool
  • SAS Integration Technologies
  • SAS Integration Technologies Client
  • SAS Intelligence Platform Object Framework
  • SAS Locale Setup Manager
  • SAS Management Console
  • SAS Metadata Bridges
  • SAS Metadata Server
  • SAS OLAP Cube Studio
  • SAS OLAP Server
  • SAS OLAP Server Monitor for SAS Management Console
  • SAS OnlineDoc for the Web
  • SAS OnlineDoc for Windows
  • SAS Package Reader
  • SAS PC Files Server
  • SAS Personal Login Manager
  • SAS Power and Sample Size
  • SAS Profitability Management
  • SAS Profitability Management Client
  • SAS Profitability Management Client Help and Documentation
  • SAS Profitability Management Data Tier
  • SAS Profitability Management Mid-Tier
  • SAS Profitability Management Utility
  • SAS Providers for OLE DB
  • SAS Remote Browser Server
  • SAS Risk Dimensions Enterprise Edition
  • SAS Risk Dimensions Java Client
  • SAS Shared Services
  • SAS Simulation Studio
  • SAS SQL Library for C
  • SAS Stat Studio
  • SAS Table Server
  • SAS Table Server Plug-ins for SAS Management Console
  • SAS Universal Viewer
  • SAS Visual BI
  • SAS Visual Data Discovery
  • SAS Visual Data Discovery for Desktop
  • SAS Web Application Themes
  • SAS Web OLAP Viewer for Java
  • SAS Web OLAP Viewer for Java Help and Documentation
  • SAS Web Report Studio
  • SAS Web Report Studio Help and Documentation
  • SAS Web Report Viewer
  • SAS Web Report Viewer Help and Documentation
  • SAS XML Mapper
  • SAS/ACCESS Interface to Adabas
  • SAS/ACCESS Interface to CA-Datacom/DB
  • SAS/ACCESS Interface to CA-IDMS
  • SAS/ACCESS Interface to DB2
  • SAS/ACCESS Interface to HP Neoview
  • SAS/ACCESS Interface to IMS-DL/I
  • SAS/ACCESS Interface to Informix
  • SAS/ACCESS Interface to Microsoft SQL Server
  • SAS/ACCESS Interface to MySQL
  • SAS/ACCESS Interface to Netezza
  • SAS/ACCESS Interface to ODBC
  • SAS/ACCESS Interface to OLE DB
  • SAS/ACCESS Interface to Oracle
  • SAS/ACCESS Interface to PC Files
  • SAS/ACCESS Interface to R/3
  • SAS/ACCESS Interface to Sybase
  • SAS/ACCESS Interface to SYSTEM 2000
  • SAS/ACCESS Interface to Teradata
  • SAS/AF
  • SAS/ASSIST
  • SAS/CONNECT
  • SAS/CONNECT Driver for Java
  • SAS/EIS
  • SAS/ETS
  • SAS/ETS Model Editor
  • SAS/FSP
  • SAS/Genetics
  • SAS/GIS
  • SAS/GRAPH
  • SAS/GRAPH ActiveX Control
  • SAS/GRAPH Java Applets
  • SAS/GRAPH NV Workshop
  • SAS/GRAPH ODS Graphics Editor
  • SAS/IML
  • SAS/INSIGHT
  • SAS/IntrNet
  • SAS/IntrNet Monitor
  • SAS/LAB
  • SAS/OR
  • SAS/QC
  • SAS/SECURE 168-bit
  • SAS/Secure SSL
  • SAS/SECURE Windows
  • SAS/SECURE Windows Client Components
  • SAS/SESSION
  • SAS/SHARE
  • SAS/STAT
  • SAS/TOOLKIT
  • SAS/Warehouse Administrator
  • Scalable Performance Data Client
  • Scalable Performance Data Server Plug-in for SAS Management Console

Konferenzen

Zu Themenkreisen rund um die SAS-Software finden regelmäßig verschiedene Konferenzen statt. Hier eine Auswahl:

Deutschsprachig:

Sonstige:

Weblinks

Persönliche Werkzeuge
Sponsor

SAS-Wiki wird gesponsert von HMS Analytical Software