News Artikel Foren Join Projekte List Links Random Über Redscope Previous Next Startseite › Foren › ETL & Base SAS Einführung in PROC SQL mit SAS: Band 1 erschienen 4 June, 2011 - 11:06 — Dr.Schendera Hallo zusammen, Ich freue mich darauf, über das Erscheinen des ersten Bands einer zweibändigen Einführung in PROC SQL informieren zu dürfen. Band 1 versteht sich als Übersicht und Einführung in SQL (Structured Query Language) und ist für Einsteiger in SQL und SAS gedacht. Das Buch ist in Kapitel zur Einführung, Syntax, Programmierung und thematischen Schwerpunkten aufgebaut. Band 2 ist für Fortgeschrittene in PROC SQL geschrieben. Weil Band 2 den Einsatz vieler Features von SAS zum Thema hat (u.a. Makroprogrammierung, Integrity Constraints, Performanz/Effizienz, Umgang mit Missings), ist Band 2 vorrangig für Nutzer von SAS geschrieben, wie auch Interessierte, die sich einen tieferen Einblick in die SAS Power verschaffen möchten. Band 2 wird voraussichtlich im August 2011 erscheinen. Inhaltsangabe von Band 1: Die Kapitel 1 und 2 sind Einführungskapitel und führen in die Bedeutung von SQL und erste Schritte mit PROC SQL ein. Kapitel 1 geht auf die grundlegende Bedeutung von SQL (Structured Query Language) ein und erläutert grundlegende Terminologien und Konzepte: u.a. die Unterscheidung zwischen Primär- und Fremdschlüssel, den Unterschieden von PROC SQL zum ANSI Standard, sowie Gemeinsamkeiten und Unterschiede zwischen Tabellen, Views und Abfragen im Hinblick auf Funktion, Inhalt und Speicherplatz, und Programmierkonvention. Kapitel 2 stellt erste Schritte und zahlreiche Grundoperationen vor, darunter u.a. auch das Vermeiden bzw. das Zulassen von sog. rekursiven Referenzen, das Erzeugen eines Kartesischen Produktes, oder auch das SQL Query Window für Einsteiger. Ein Abschnitt ist für SAS Base Programmierer geschrieben, die sich einen ersten Eindruck von Unterschieden in Programmierung, Anwendungen und Effizienz im Vergleich zu PROC SQL verschaffen wollen. Kapitel 3 ist ein Syntaxkapitel und erläutert die SQL Syntax in der Version SAS 9.1.3, teilweise bereits SAS 9.2, systematisch und vollständig. Es werden auch derzeit nicht dokumentierte PROC SQL Funktionen wie z.B. _METHOD und _TREE vorgestellt. Abschnitt 3.1 stellt dabei u.a. der SQL Ausdruck, Tabellen-Ausdruck und Query-Ausdruck vor. Abschnitt 3.2 stellt die SQL Syntax in einer ersten Übersicht vor. Ein Schnellfinder hilft dabei, für den gewünschten Zweck schnell das richtige SQL Statement zu finden. Abschnitt 3.3 stellt weitere Ausdrücke, Bedingungen und Funktionen von PROC SQL vor, z.B. die Auswertungsfunktion, die BET WEEN-Bedingung, CALCULATED und viele andere mehr. Hinweise verweisen auf Besonderheiten oder Einschränkungen. Kapitel 4 bis 7 sind Programmierkapitel und veranschaulichen die Programmierung von (Sub)Queries, die Arbeit mit einer Tabelle, und mit zwei oder mehr Tabellen. Kapitel 4 behandelt Abfragen (Queries). Queries sind definiert als eine spezifische Zusammenstellung an Bedingungen, fragen auf diese Weise die gewünschten Daten oder statistischen Parameter aus einzelnen oder mehreren Views, Tabellen oder Datenbanken ab. Kapitel 5 behandelt die Arbeit mit einer Tabelle. Abschnitt 5.1 enthält für jedes Element der SQL Syntax ein oder mehrere Beispiele von ALTER TABLE bis VALIDATE. Abschnitt 5.2 vertieft Grundoperationen und Berechnungen am SELECT-Statement. Abschnitt 5.3 behandelt vertiefend Berechnungen und Aktualisierungen mit CASE. Abschnitt 5.4 vertieft das Thema der Subqueries. Abschnitt 5.5 behandelt Self-Joins (Reflexive Joins). Kapitel 6 behandelt die Arbeit mit zwei Tabellen (One-to-One-Szenario). Kapitel 6 führt zunächst in grundlegende Konzepte beim Zusammenfügen von Tabellen ein, u.a. Beziehung und Struktur der Tabellen, und auch die Methode ihres Zusammenfügens. Abschnitt 6.1 stellt die Set Operatoren für das „Untereinanderhängen“ von verschiedenen Fällen bei gleichen Variablen vor. Abschnitt 6.2 erläutert diverse Varianten für das „Nebeneinanderstellen“ (Joinen) von verschiedenen Variablen (bei gleichen Fällen): Equi-Joins, Inner Joins und Outer Joins. Abschnitt 6.3 stellt spezielle Joins vor, u.a. CROSS, NATURAL und UNION. Abschnitt 6.4 diskutiert u.a. (korrelierte) Subqueries. Abschnitt 6.5 stellt diverse Möglichkeiten der Berechnung und Aktualisierung von Werten vor. Abschnitt 6.6 stellt Fehlerquellen bei der Arbeit mit nur zwei Tabellen vor, u.a. das Problem von Missings und doppelten Werten in Schlüsselvariablen. Kapitel 7 behandelt die Arbeit mit zwei Tabellen (oder mehr). Der zentrale Unterschied zu Kapitel 6 ist, dass Kapitel 7 in das Joinen bzw. Mergen einführt, wenn die Datenbeziehungen des One-toMany, Many-to-One oder Many-to-Many vorliegen. Missings und doppelte Einträge in Primärschlüsseln können ein erfolgreiches Mergen beeinträchtigen. Anhand zweier Tabellentypen (ONE, MANY) werden zahlreiche Kombinationen durchvariiert und diskutiert. Die weiteren Kapitel sind Fokuskapitel. Fokuskapitel vertiefen besondere Themen der Arbeit mit SQL: Der Fokus von Kapitel 8 ist z.B. die Deskriptive Statistik. Die deskriptive Statistik ist das Fundament jeder professionellen Analyse von Daten. Die Abschnitte 8.1 und 8.2 erläutern die gebräuchlichsten Lage- und Streuungsmaße und ihre Berechnung u.a. mittels PROC SQL (u.a. über CALL SYMPUTX bzw. SYMPUT). Abschnitt 8.3 stellt weitere Aggregierungsfunktionen vor. Abschnitt 8.4 behandelt die Berechnung von Prozent- und Quotientwerten einschl. dem Erzeugen von Häufigkeitstabellen, wie man sie z.B. von PROC FREQ her kennt. Abschnitt 8.5 geht auf das Rechnen mit Gewichten ein. Der Fokus von Kapitel 9 sind Hilfen, Tipps und Tricks in SQL, u.a. die Optionen FEEDBACK und VALIDATE zum Verstehen und Testen von SQL Syntax. Abschnitt 9.1 stellt z.B. die beiden Optionen FEEDBACK und VALIDATE vor. Abschnitt 9.2 stellt z.B. die beiden Optionen _METHOD und _TREE vor. U.a. werden Sie in die Lage versetzt, einen Join-Algorithmus zu optimieren. Abschnitt 9.3 stellt diverse Tipps und Tricks für das Konvertieren vor, das Handling von Strings und die Funktion MONOTONIC. Die weiteren Abschnitte stellen zahlreiche Möglichkeiten für das Designen einer SQL Ausgabe vor, das Output Delivery System (ODS), sowie den Import und Export von Daten im Format Microsoft Excel. Der Fokus von Kapitel 10 sind Übungsaufgaben zu Daten erfolgreicher Kinofilme und ihre Lösung mit PROC SQL. Die Aufgaben sind danach gestaffelt, ob sie zur Lösung eine oder zwei Tabellen erfordern. Die Beispiele basieren auf realen Daten zu den zehn erfolgreichsten Kinofilmen weltweit (u.a. Rangplatz, Titel, Regisseur, Einspielergebnis uvam.). Über eine positive Aufnahme und Weiterempfehlung würde ich mich freuen. Dr. Christian Schendera Foren: ETL & Base SAS Log in or register to post comments