SQL für SAS-Programmierer - Teil 1 - Extrahieren von Daten

14. April 2009 von: Blink 7

Der erste Teil des Tutorials beschäftigt sich mit der Nutzung der PROC SQL-Anweisung zu grundlegenden Datenextraktion durchzuführen. Screenshots der Code und die Ausgabe sind im Preis inbegriffen. Leser, die zusammen mit ihren eigenen Systemen oder den Code können die Dateien unten (rechte Maustaste und wählen "Ziel speichern unter Download bereitgestellte" oder "Link speichern unter") kopieren möchten:

(download) SAS-Code für Tutorial Teil 1
(download) SAS Data: Transaktionen
(download) SAS Data: Zahlungsarten
(download) SAS Data: Mitarbeiter

Hinweis: Dieses Tutorial verwendet SAS Bedingungen und SQL Begriffe synonym. Die folgenden Gruppen der Begriffe sind äquivalent:

  • Variable, Spalte
  • Data Set, Tisch

Lesen eines Data Set

SQL definiert die SELECT-Befehl, um Daten aus einer vorhandenen Tabelle zu extrahieren. Die FROM-Befehl gibt die Quelltabelle.

Beispiel: Lesen und Ausgabe aller verfügbaren Informationen auf der Shop-Mitarbeiter --

SAS PROC SQL: Read an entire data set and output to the screen

* Mit dem Argument, mit SELECT Befehl wählt automatisch alle verfügbaren Spalten in der Tabelle. Standardmäßig sind keine zusätzlichen PROC PRINT PROC SQL-Ausgänge auf den Bildschirm, so ist erforderlich, um das Ergebnis zu sehen.

SAS Output: List of Store Employees

Die Ausgabe entspricht das Ergebnis der Verwendung einer SET-Befehl innerhalb einer DATA Schritt ohne bedingte Anweisungen.

Reading bestimmte Variablen aus einem Data Set

Um bestimmte Spalten aus einer Quelle, Tabelle, Liste der Variablen als durch Komma getrennte Argumente Abfrage nach dem SELECT-Befehl

Beispiel: Lesen und Ausgang Vor-und Nachnamen der Mitarbeiter des Geschäfts

SAS PROC SQL: Read specific variables from a data set

In SQL sind Spaltennamen werden durch Komma getrennt aufgelistet, während in der DATA-Schritt Spaltennamen (Variablen) durch Leerzeichen getrennt.

SAS Output: First and Last Names of Store Employees

Die Ausgabe entspricht das Ergebnis der Ausgabe festlegen und beibehalten Befehle in einem DATA Schritt.

Filtern ein Data Set

Die WHERE-Befehl kann gefiltert werden einzelne Datensätze aus einer Quelltabelle. Dieser Befehl wird durch ein oder mehrere Argumente folgen abhängig von den Variablen in den Quelldaten basiert gesetzt.

Beispiel: Liste von Mitarbeitern mit den Nachnamen "Wilson"

SAS PROC SQL: Filter data results

Die einfachste bedingte Anweisung entspricht einer Spalte zu einer wörtlichen Wert. Numerische Daten können auch verglichen werden mit =, sondern die wörtliche Wert würde nicht in Anführungszeichen gesetzt werden.

SAS Output: Store Employees with the Surname Wilson

Die SQL-WHERE-Befehl hat die gleiche Funktion wie die WHERE in der DATA-Schritt verwendete Befehl

Die WHERE-Befehl ist nicht auf einfache Vergleiche begrenzt. Mehrere Spalten können in einer Zeit bewertet werden.

Beispiel: US-Personal in den Medien-Station mit dem Nachnamen "Wilson"

SAS PROC SQL: Filter data results by matching on multiple variables

Die Booleschen Operatoren AND und OR verwendet werden können, sowie Klammer zu schaffen komplizierter bedingte Logik.

SAS Output: Store Employees in the Media station with the Surname Wilson

Die Ausgabe zeigt, die ein Arbeitnehmer mit dem Nachnamen "Wilson", die funktioniert auch in der Media-Station. Wieder einmal ist der Betrieb von der SQL-WHERE-Befehl identisch mit der WHERE-Anweisung in der DATA-Schritt verwendet.

^ Das Symbol kann verwendet werden, um eine logische Bedingung in einer WHERE-Befehl negieren

SAS PROC SQL: Filter data results using negative matching

Das ^-Symbol auch vor einer offenen Klammern gesetzt werden, um komplizierter bedingte Logik zu negieren.

SAS Output: Store Employees that do NOT have the Surname Wilson

Die Ausgabe zeigt, jeder Mitarbeiter nicht mit dem Namen "Wilson"

Die Kombination der WHERE-Befehl mit dem IN-Befehl macht es möglich, eine Spalte zu vergleichen, um eine Liste der möglichen Werte.

Beispiel: Liste speichern Mitarbeiter in den Medien oder Computer-Stationen

SAS PROC SQL: Filter data results using a list of values

Das IN-Kommando kann mit jedem gültigen Datentyp (oder auch ein Sub-Abfrage verwendet werden, erzeugen eine Spalte mit Daten), sondern Listen kann nicht mischen Datentypen.

SAS Output: Store Employees in the Computer or Media station

Die Ausgabe listet alle Mitarbeiter in den genannten Stationen.

Einlesen von Daten in ein neues Data Set

So weit, alle Beispiele, die Produktion haben können direkt auf den Bildschirm, die PROC SQL Standardverhalten ist (in SAS EG, geht die Ausgabe auf den Standard-ODS-Ziel). In den meisten Fällen wird das gewünschte Ziel zu einer anderen Tabelle - oft eine ganz neue Tabelle. Um die Ausgabe aus einer SQL-Abfrage Umleitung zu einem neuen Daten festzulegen, verwenden Sie die CREATE TABLE / AS-Syntax zu Beginn der Mitteilung:

Beispiel: Erstellen Sie eine Kopie des Personal-Tabelle

SAS PROC SQL: Read an entire data set and output to a new data se

Praktisch jede SQL-Anweisung, die Bildschirmausgabe erzeugt werden kann direkt zu einem anderen Tisch. Um zu vermeiden Slow-Downs, große SQL-Abfragen (zB Abfragen, die Tausende von Zeilen erzeugen) sollte immer ausgegeben werden, um eine neue Daten vor der Anzeige eingestellt.

SAS Data Set - Replica of Staff table

Keine Ausgabe auf dem Bildschirm erzeugt, sondern eine neue Tabelle ist in der WORK-Verzeichnis enthält eine exakte Kopie der Daten in der Quell-Tabelle erstellt.

<<Zurück zum Start der Serie

Abgelegt unter: Entwicklung, Tutorials
Tags:

Lassen Sie eine Antwort

Captcha
Geben Sie die Buchstaben den Sie oben sehen.