30
KOMPLEXE SQL-ABFRAGEN AM BEISPIEL EINES ONLINE-SHOPS Inkl. Testdatenbank mit über zwei Millionen Datensätzen Auf DVD: 2,2 Millionen Datensätze Vom KPI-Reporting bis zum analytischen CRM EXTRA: Mit kostenlosem E-Book iron WERTHER BUSINESS INTELLIGENCE

BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

  • Upload
    others

  • View
    6

  • Download
    1

Embed Size (px)

Citation preview

Page 1: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

KOMPLEXE SQL-ABFRAGENAM BEISPIEL EINES ONLINE-SHOPS

Inkl. Testdatenbank mit über zwei Millionen Datensätzen

Auf DVD: 2,2 Millionen Datensätze

Vom KPI-Reporting bis zum analytischen CRM

EXTRA: Mit kostenlosem E-Book

iron WERTHER

BUSINESSINTELLIGENCE

Page 2: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

Werther

Business Intelligence

Bleiben Sie auf dem Laufenden!

Der Hanser Computerbuch-Newsletter informiert Sie regelmäßig über neue Bücher und Termine aus den verschiedenen Bereichen der IT. Profitieren Sie auch von Gewinnspielen und exklusiven Leseproben. Gleich anmelden unterwww.hanser-fachbuch.de/newsletter

Page 3: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank
Page 4: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

Iron Werther

Business IntelligenceKomplexe SQL-Abfragen am Beispiel eines Online-Shops

inkl. Testdatenbank mit über zwei Millionen Datensätzen

Page 5: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

Der Autor:Iron Werther, Taufkirchen

Alle in diesem Buch enthaltenen Informationen, Verfahren und Darstellungen wurden nach bes­tem Wissen zusammengestellt und mit Sorgfalt getestet. Dennoch sind Fehler nicht ganz aus­zuschließen. Aus diesem Grund sind die im vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autor und Verlag übernehmen infolgedessen keine juristische Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieser Informationen – oder Teilen davon – entsteht.Ebenso übernehmen Autor und Verlag keine Gewähr dafür, dass beschriebene Verfahren usw. frei von Schutzrechten Dritter sind. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch berechtigt deshalb auch ohne besondere Kennzeich­nung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen­ und Markenschutz­Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften.

Bibliografische Information der Deutschen Nationalbibliothek:Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbiblio­grafie; detaillierte bibliografische Daten sind im Internet über http://dnb.d­nb.de abrufbar.

Dieses Werk ist urheberrechtlich geschützt.Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren) – auch nicht für Zwecke der Unterrichtsgestaltung – reproduziert oder unter Verwendung elektronischer Sys­teme verarbeitet, vervielfältigt oder verbreitet werden.

© 2013 Carl Hanser Verlag München, www.hanser­fachbuch.deLektorat: Sieglinde SchärlCopy editing: Kathrin Powik, LassanHerstellung: Irene WeilhartUmschlagdesign: Marc Müller­Bremer, www.rebranding.de, MünchenUmschlagrealisation: Stephan RönigkGesamtherstellung: Kösel, KrugzellAusstattung patentrechtlich geschützt. Kösel FD 351, Patent­Nr. 0748702Printed in Germany

Print­ISBN: 978­3­446­43580­3E­Book­ISBN: 978­3­446­43635­0

Page 6: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

Vorwort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XI

1 Die Testdatenbank iw_shop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 Die Stammdatentabelle iw_customer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Die Bestelldatentabelle iw_sales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Die Artikeltabelle iw_article . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Die Zahlungsinformationstabelle iw_payment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.5 Die Retouren­Kopftabelle iw_return_header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Die Retourentabelle iw_return_line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.7 Die Code­Tabelle iw_code_reason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Installation einer funktionsfähigen SQL-Datenbank . . . . . . . . . . . . . . . 72.1 Systemvoraussetzungen für den Microsoft SQL Server . . . . . . . . . . . . . . . . . . . . . . 72.2 Produktinformationen zum SQL Server 2012 und SQL Server 2008 R2 . . . . . . . . 82.3 Download und Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Erstellung einer Testdatenbank und Import der mitgelieferten Daten 113.1 Eine neue Datenbank anlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Tabellen importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

4 Ansicht der Tabellen auf der Testdatenbank iw_shop . . . . . . . . . . . . . 25

5 Der KPI (Key Performance Indicator)-Report . . . . . . . . . . . . . . . . . . . . . 295.1 Erste Selektionen mit T­SQL zur Ermittlung der wichtigsten Kennzahlen . . . . . . 295.2 Darstellung der Select­Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.3 Anzahl der Kunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.4 Anzahl der Bestellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.5 Anzahl der bestellten Artikel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335.6 Der Warenwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.7 Der Warenbruttowert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365.8 Der Warennettowert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Inhalt

Page 7: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

VI Inhalt

6 Erstellung eines KPI-Reports auf Jahres- und Monatsbasis . . . . . . . . . 396.1 Der erste Bericht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396.2 Kommastellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406.3 Auswertung nach Jahren und Monaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416.4 Warenkorbwert und Anzahl der Artikel im Warenkorb . . . . . . . . . . . . . . . . . . . . . . 43

7 Erstellung eines KPI-Reports auf Wochenbasis . . . . . . . . . . . . . . . . . . . 477.1 Manuelle Anpassung der Wochen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497.2 ISO­Week . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

8 Retourendaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538.1 Retourendaten und Retouren­Kopfdaten: Zwei Tabellen miteinander verbinden 54

8.1.1 INNER JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558.1.2 FULL OUTER JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558.1.3 LEFT OUTER JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558.1.4 RIGHT OUTER JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.1.5 Einfacher Join . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

8.2 Ermittlung der Retourenquoten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578.2.1 Netsales­Retourenquote pro Monat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578.2.2 Echte Retourenquote pro Monat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

9 Unique Kunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639.1 Wie erkennt man unique Kunden? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639.2 Durchschnittliche Anzahl der Konten pro Kunde . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

9.2.1 Die Aggregatfunktion AVG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659.2.2 Ergebnis in numerische Werte umwandeln . . . . . . . . . . . . . . . . . . . . . . . . . 659.2.3 Anzahl der Konten durch einfache Division . . . . . . . . . . . . . . . . . . . . . . . . . 66

10 KPI-Report auf Basis uniquer Kunden . . . . . . . . . . . . . . . . . . . . . . . . . . 6710.1 KPI­Report mit Retourendaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6910.2 Monatsreport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7010.3 Warenkorb­ und Quotenberechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7110.4 Wochenreport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

11 Neukunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7511.1 Identifizierung der Neukunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7511.2 Neukunden – der erste Schritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7511.3 Neukunden pro Monat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7611.4 Bestellungen der Neukunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7711.5 Neukundenbestelldaten – die endgültige Version . . . . . . . . . . . . . . . . . . . . . . . . . 8111.6 Retourendaten hinzufügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Page 8: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

Inhalt VII

12 Bestandskunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8912.1 Identifizierung der Bestandskunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8912.2 Bestandskunden pro Monat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9112.3 Bestandskunden mit Bestell­ und Retourendaten auf Monatsbasis . . . . . . . . . . . 92

13 Gesamtkunden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9513.1 Prüfung der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

14 Der Kundenmonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9914.1 Lebensdauer, Aktivität und Kundenwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9914.2 Die Lebensdauer (Customer Lifetime) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9914.3 Die exakte Jahresberechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10314.4 Auswertung der Lebensdauer nach Monaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10414.5 Einteilung in Gruppen mit CASE WHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10614.6 Die Aktivität (Customer Activity) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

14.6.1 Bestelldaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11014.6.2 Retourendaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11014.6.3 Versand­ und Retourenkosten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

15 Der Kundenwert (Customer Value) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11715.1 Customer Lifetime Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12015.2 Create table – eine neue Tabelle anlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12215.3 Durchschnittlicher Zeitraum zwischen den Bestellungen, Kauffrequenz . . . . . . 12515.4 Gruppierung der Kauffrequenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12615.5 Segmentierung des Kundenwerts (Customer Value) . . . . . . . . . . . . . . . . . . . . . . . 12715.6 Gruppierung des Kundenwerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128

15.6.1 Eine neue Spalte in einer Tabelle hinzufügen . . . . . . . . . . . . . . . . . . . . . 13015.6.2 Ändern der Datenwerte in einer Tabelle . . . . . . . . . . . . . . . . . . . . . . . . . . 131

15.7 Auswertungen nach Kundenwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

16 Die Bestellhistorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13516.1 Row_Number over Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13516.2 Die Bestellhistorie als Tabelle anlegen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13716.3 Auswertungen der Bestellhistorie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

16.3.1 Selfjoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13816.3.2 OUTER JOIN beim SELFJOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

16.4 Auswertung des zeitlichen Abstands zwischen den Bestellungen . . . . . . . . . . . . 14116.5 Entwicklung der Käufe nach Warenwert pro Kauf . . . . . . . . . . . . . . . . . . . . . . . . . 14216.6 Entwicklung der Retourenquote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

17 Analyse der Kunden nach Alter, Geschlecht und PLZ-Bereich . . . . . . 14517.1 Die Funktionen LEFT und RIGHT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14617.2 GETDATE – das aktuelle Tagesdatum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

Page 9: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

VIII Inhalt

17.3 Bildung von Altersgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14817.4 Kundenwert nach Altersgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15017.5 Prozentanteil der Altersgruppen in jeder Wertegruppe . . . . . . . . . . . . . . . . . . . . 152

18 Die Retourenanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15518.1 Null­, Teil­ und Vollretouren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15518.2 Identifizierung von Null­, Teil­ und Vollretouren mit CASE WHEN . . . . . . . . . . . 15718.3 Ausgabe des Gesamtwerts von Null­, Teil­ und Vollretouren . . . . . . . . . . . . . . . . 15818.4 Null­, Teil­ und Vollretouren pro Monat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

19 Das Retourenverhalten der Kunden . . . . . . . . . . . . . . . . . . . . . . . . . . . 16119.1 Retouren pro Kunde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16119.2 Retourenquote pro Kunde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16219.3 Anzahl der Kunden nach Retourenquote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16519.4 Identifizierung von Kunden mit sehr hoher Retourenquote . . . . . . . . . . . . . . . . . 16619.5 Kundengruppen oder Cluster nach Retourenquote . . . . . . . . . . . . . . . . . . . . . . . . 167

20 Renner, Penner, Retourentreiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17120.1 Auswertungen auf Basis der Artikelnummer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171

20.1.1 EAN/GTIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17220.2 Bestellungen mit Artikelnummer und Artikelbeschreibung . . . . . . . . . . . . . . . . . 17220.3 Retouren mit Artikelnummer und Artikelbeschreibung . . . . . . . . . . . . . . . . . . . . 17320.4 Bestellungen und Retouren zusammenfügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17420.5 Artikel, die mehrfach verkauft wurden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17620.6 Retourenquoten in den Report aufnehmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17720.7 Die Renner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17920.8 Die Penner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18120.9 Die Retourentreiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

21 Retourengründe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18321.1 Übersetzung der Retouren­Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18421.2 Retourengründe auf Basis des eindeutigen Artikels . . . . . . . . . . . . . . . . . . . . . . . 185

21.2.1 Retourengründe auf Basis der Artikelnummer . . . . . . . . . . . . . . . . . . . . 18621.2.2 Retourengründe auf Basis des Artikel­Styles . . . . . . . . . . . . . . . . . . . . . . 18621.2.3 Inhalt zweier Spalten zu einem Ergebnis zusammenführen . . . . . . . . . 186

21.3 Retourengründe auf Kundenbasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

22 Der Retourentreiber-Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19122.1 Bestellungen auf Stylebasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19122.2 Retouren auf Stylebasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19222.3 Zusammenführung von Bestellungen und Retouren . . . . . . . . . . . . . . . . . . . . . . . 19222.4 Berechnung der Retourenquoten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19322.5 Einschränkungen nach Retourenquote und Anzahl der verkauften Artikel . . . . 19422.6 Retourengründe einfügen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

Page 10: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

Inhalt IX

23 Retourentreiber-Report mit Versandzeitraum . . . . . . . . . . . . . . . . . . . 19923.1 Die Bestellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19923.2 Die Retouren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19923.3 Die Retourengründe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20023.4 Zusammenführung der drei Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20023.5 Die Retourenquoten pro Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20223.6 Einschränkungen nach Retourenquote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

24 Von der Warenkorbgröße abhängige Retouren . . . . . . . . . . . . . . . . . . 20524.1 Durchschnittliche Anzahl der retournierten Artikel auf Basis der

bestellten Artikelmenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20724.2 Durchschnittliche Retourenquote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

25 Einfluss der Zahlarten auf die Retouren . . . . . . . . . . . . . . . . . . . . . . . . 21325.1 Zahlarten im Shop­System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21325.2 Zahlarten in der Retourentabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21525.3 Durchschnittliche Anzahl der retournierten Artikel pro Zahlart . . . . . . . . . . . . . 216

26 Einfluss der Versender auf die Retouren . . . . . . . . . . . . . . . . . . . . . . . 21926.1 Unterabfrage mit EXISTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22026.2 Nettosumme der Bestellungen pro Kunde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22126.3 Nettosumme der Retouren pro Kunde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22126.4 Zusammenführung der Nettosummen und Versender pro Kunde . . . . . . . . . . . . 22226.5 Retourenquote pro Versender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

27 Bestellung von mehreren identischen Artikeln . . . . . . . . . . . . . . . . . . 22527.1 Retouren bei mehreren identischen Artikeln im Warenkorb . . . . . . . . . . . . . . . . 22527.2 Bestellung mehrerer identischer Artikel unterschiedlicher Größen . . . . . . . . . . 22727.3 Selfjoin eines Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

28 Warenkorb und Warenkorbanalysen . . . . . . . . . . . . . . . . . . . . . . . . . . . 23128.1 Produktgruppen in der Artikeltabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

28.1.1 Die Vergleichsoperation LIKE/NOT LIKE . . . . . . . . . . . . . . . . . . . . . . . . . 23228.1.2 Das %­Zeichen als Platzhalter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23328.1.3 Weitere Platzhalter für einzelne Zeichen . . . . . . . . . . . . . . . . . . . . . . . . . 23328.1.4 Die Zeichenfolgefunktionen LOWER/UPPER . . . . . . . . . . . . . . . . . . . . . . 233

28.2 Die Warenkorbdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23428.3 Auswertungen aus der Warenkorbtabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23628.4 Warenkörbe mit identischen Artikeln in unterschiedlichen Größen

oder Farben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23628.5 Warenkörbe mit unterschiedlichen Artikeln der gleichen Produktgruppe . . . . . 239

Page 11: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

X Inhalt

29 Der horizontale Warenkorbdatensatz . . . . . . . . . . . . . . . . . . . . . . . . . . 24129.1 Artikelkombinationen im Warenkorb (1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24429.2 Ordnung nach der row_number over partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24729.3 Die Saisonkennzeichnung (Season­Code) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24929.4 Eine komplette Warenkorbtabelle horizontal anlegen . . . . . . . . . . . . . . . . . . . . . . 25029.5 Die Warenkorbtabelle weiterverarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

29.5.1 Export der Daten für externe Analyseprogramme . . . . . . . . . . . . . . . . . 25529.5.2 Den Warenkorb als neue Tabelle anlegen . . . . . . . . . . . . . . . . . . . . . . . . . 25629.5.3 Daten in die Datenbank importieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

29.6 Artikelkombinationen im Warenkorb (2) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

30 Zahlungsinformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26530.1 Offene Posten – Mahnstufen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26630.2 Überfällige ausstehende Zahlungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26730.3 Trennung von Zahlung und Retouren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268

31 Die Kampagnentabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27131.1 Zeichen mit den Funktionen LEFT oder RIGHT unterdrücken . . . . . . . . . . . . . . . 27331.2 Umwandeln des Datentyps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

32 Selektion einer Zielgruppe für den Newsletter . . . . . . . . . . . . . . . . . . 277

Schlusswort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Page 12: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

SQL ist der Schlüssel zu Business Intelligence. Gleich welche Auswertungen und Analysen erstellt werden, und mit welchen BI Reporting­ und Analysewerkzeugen man arbeitet: Dahinter stecken immer Datenbankabfragen mit SQL. Um Business Intelligence erfolgreich betreiben zu können, benötigt man fundierte SQL­Kenntnisse.Dieses Übungsbuch bietet ein umfassendes Training zur wissenschaftlichen und/oder fach­praktischen Ausbildung für BI­Analysten und Wirtschaftsinformatiker. Es dient gleichzeitig als Nachschlagewerk für die tägliche Arbeit.Das Besondere an diesem Werk ist die Lieferung von insgesamt knapp 2,2 Millionen Daten­sätzen in sieben Dateien zum Aufbau einer Testdatenbank. Diese Testdatenbank kann auf jeder SQL­Datenbank eingerichtet werden. Ich habe mich für den Microsoft SQL Server 2012 entschieden. Der MS SQL Server steht jedem Interessenten kostenlos zum Download zur Verfügung. Man kann diese Testdatenbank auch auf einer älteren SQL­Server­Version oder auf einer Oracle­ oder HyperSQL­Datenbank einrichten.Ziel des Buches ist nicht, den Umgang mit dem MS SQL Server 2012 ausführlich zu erklä­ren. Es geht vielmehr um das Erlernen komplexer Datenbankabfragen mit T­SQL. Der Ein­stieg in die Thematik geschieht Schritt für Schritt, sodass auch SQL­Anfänger den Beschrei­bungen folgen können.Sie können mit dieser Testdatenbank auch in Oracle SQL oder HyperSQL arbeiten. Viele SQL­Befehle sind identisch, egal welche Version Sie nutzen. Es gibt aber auch Befehle, die sich unterscheiden. In diesen Fällen müssen Sie sich im Netz die richtige Syntax für Oracle oder HyperSQL suchen. Das betrifft in erster Linie die Arbeit mit Datumsformaten und Zeit­stempeln sowie die Darstellung von Ergebnissen in Dezimalwerten.

Das erwartet Sie in diesem BuchAnhand praxisnaher Beispiele erlernen Sie die Erstellung von Reports und Analysen. Sie erstellen umfassende KPI (Key Performance Indicator)­Reports auf Jahres­, Monats­ und Wochenbasis, lernen die wichtigsten Retourendaten kennen und ermitteln diverse Retou­renquoten.Im nächsten Schritt erfahren Sie, wie Sie alle vorhandenen Kundendaten analysieren und zwischen Neukunden und Bestandskunden trennen können. Sie erstellen einen Kundenmo­nitor und lernen die wichtigen Werte im analytischen CRM kennen. Pro Kunde werden die Lebensdauer, die Aktivität und der individuelle Kundenwert ermittelt.

Vorwort

Page 13: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

XII Vorwort

Darüber hinaus erstellen Sie umfangreiche Retourenanalysen und ­reports, sowohl auf Kundenbasis als auch auf Artikel­ und Stylebasis. Auch mit Warenkorbanalysen werden wir uns näher beschäftigen. Ich werde Ihnen zeigen, was mit T­SQL möglich ist und wie Sie die Daten für weitere multivariate Analyseverfahren vorbereiten können.Außerdem lernen Sie verschiedene Zahlungsinformationen, wie offene Posten, Mahnstufen oder geschlossene Konten, kennen.Abschließend erstellen Sie eine komprimierte Selektionstabelle für das Kampagnenmana­gement bzw. für den Newsletterversand.

Nach einer Einführung in die Grundlagen finden Sie ab Kapitel 10, „KPI-Report auf Basis uniquer Kunden“, weiterführende Trainingsaufgaben, in denen Sie das Gelernte selbstständig anwenden können. Zum besseren Auffinden der Trainingsaufgaben stehen diese im hier verwendeten Hinweiskasten.

Die Datensätze sind so umfangreich, dass dieses Buch nicht alle Analysemöglichkeiten erschöpfend darstellen kann. Es bleibt also noch reichlich Raum für eigene Entdeckungen und Aufgabenstellungen.

Auf Ihrem E-Book-Konto finden Sie sieben Textdateien mit insgesamt 2,2 Millionen Datensätzen. Sie umfassen Stamm- und Bestell daten, Artikel- und Zahlungsinformationen sowie Retourendaten.

Page 14: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

1 Die Testdatenbank iw_shop

Für die Arbeit mit diesem Buch stelle ich Ihnen eine komplette, sehr umfangreiche und pra­xisorientierte Datenbank zur Verfügung. Diese Datenbank entspricht inhaltlich dem Data­warehouse eines Online­Shops. Sie erhalten sieben Dateien mit insgesamt knapp 2,2 Millio­nen Datensätzen. Damit kann die Datenbank iw_shop mit folgendem Inhalt erstellt werden: � Tabelle iw_customer enthält alle Stammdaten der Kunden mit 247 065 Datensätzen. � Tabelle iw_sales enthält alle Bestelldaten mit 818 525 Datensätzen. � Tabelle iw_article enthält alle Artikelinformationen mit 59 414 Datensätzen. � Tabelle iw_payment enthält alle Zahlungsinformationen mit 562 635 Datensätzen. � Tabelle iw_return_header enthält alle Kopfdaten der Retouren mit 149 399 Datensätzen. � Tabelle iw_ return_line enthält alle Retourendaten auf Artikelbasis mit 342 337 Daten­sätzen.

� Tabelle iw_code_reason enthält 45 Datensätze mit den Übersetzungen diverser Codes.Schauen wir uns nun die Inhalte der einzelnen Tabellen genauer an.

■■ 1 .1■Die Stammdatentabelle iw_customer

In der folgenden Tabelle finden Sie die Stammdaten der Kunden. Die Einträge der Namen und Straßen sind anonymisiert. Alle Daten sind bearbeitet – es handelt sich also nicht um echte Kundendaten. Die Tabelle verfügt über 14 Spalten. Zu den Datentypen kommen wir später, wenn wir diese Tabellen in die Datenbank laden. Momentan ist nur wichtig, dass Sie sehen, welche Inhalte in den einzelnen Spalten stehen.

Spaltenname Datentyp Inhaltowner varchar Shop-/MandatenkennungcustomerNo varchar Kundennummersalutation varchar Anredefirstname varchar Vorname (anonymisiert)surname varchar Nachname (anonymisiert)

Page 15: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

2 1 Die Testdatenbank iw_shop

Spaltenname Datentyp Inhaltpostcode varchar Postleitzahlcity varchar Wohnortstreet varchar Straße (anonymisiert)eMail varchar E-Mail (anonymisiert)newsletter varchar Newsletter (1 = Ja, 0 = Nein)birthdate datetime GeburtsdatumriskID varchar ID der Bonitätsprüfungcredit numeric Höhe des zulässigen KreditscreditLimit varchar 1 = hat Kredit, 2 = kein Kredit

Von jeder Tabelle ist jeweils auch ein kleiner Auszug dargestellt, damit man sieht, wie die Tabelle gestaltet ist. Der Auszug der Tabelle iw_customer ist in Bild 1.1 zu sehen.

Bild 1 .1■Auszug aus der Tabelle iw_customer

■■ 1 .2■Die Bestelldatentabelle iw_sales

In der folgenden Tabelle befinden sich alle Bestelldaten. Sie besteht aus 14 Spalten.

Spaltenname Datentyp Inhaltowner varchar Shop-/Mandatenkennungline_No numeric Zeilennummer der RechnungorderNo varchar BestellnummercustomerNo varchar Kundennummertype numeric 2 = Artikel, 1 = VersandIWAN varchar Eindeutige Artikelnummer wie EANquantity numeric Anzahl der Artikelamount money Nettopreis des Artikelsvat_amount money Preis inkl. MwSt.line_amount money Summe der Zeile inkl. MwSt.VATpercent varchar Mehrwertsteuersatzbill_customerNo varchar Kundennummer des RechnungsempfängersorderDate datetime BestelldatumpostingDate datetime Verarbeitungsdatum

Page 16: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

1.3 Die Artikeltabelle iw_article 3

In Bild 1.2 können Sie einen Blick in den Datenauszug werfen.

Bild 1 .2■Auszug aus der Tabelle iw_sales

■■ 1 .3■Die Artikeltabelle iw_article

In der folgenden Tabelle stehen alle Artikelinformationen. Sie verfügt über 13 Spalten.

Spaltenname Datentyp Inhaltowner varchar Shop-/MandatenkennungIWAN varchar Eindeutige Artikelnummer wie EANarticle_No varchar Artikelnummerdescription varchar ArtikelbeschreibungunitPrice money Stückpreisdeftime datetime Zeitstempel Artikel gelistetmodtime datetime Zeitstempel Artikel zuletzt bearbeitetseasonCode varchar Saison-CodeproductGroup varchar Produktgruppen-CodecolorCode varchar Farb-CodecolorDescription varchar Farbbeschreibungsize varchar GrößearticleOnline varchar 1 = online, 0 = offline

In Bild 1.3 sehen Sie den Inhalt der Tabelle.

Bild 1 .3■Auszug aus der Tabelle iw_article

Page 17: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

4 1 Die Testdatenbank iw_shop

■■ 1 .4■ Die Zahlungsinformationstabelle iw_payment

Die folgende Tabelle zeigt Zahlungsinformationen, wie offene Posten, geschlossene Konten oder Mahnstufen. Sie verfügt über 9 Spalten.

Spaltenname Datentyp Inhaltowner varchar Shop-/MandatenkennungorderNo varchar BestellnummercustomerNo varchar KundennummeroutstandingAmount money Offener BetragpostingDate datetime Bearbeitungs-, LieferdatumdueDate datetime ZahlungszielclosedAccountDate datetime Konto geschlossenopenAccount varchar 0 = geschlossen, 1 = offendunningLevel varchar Mahnstufen 1 bis 4 (0 = keine Mahnstufe)

Bild 1.4 zeigt einen Auszug der Tabelle.

Bild 1 .4■Auszug aus der Tabelle iw_payment

■■ 1 .5■ Die Retouren-Kopftabelle iw_return_header

Die folgende Tabelle benötigen wir, um eine Beziehung zwischen den Retouren und der ursprünglichen Bestellung herzustellen. Sie besteht aus 10 Spalten.

Spaltenname Datentyp Inhaltowner varchar Shop-/MandatenkennungreturnNo varchar RetourennummerorderNo varchar BestellnummerpaymentCode varchar Zahlungsart

Page 18: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

1.6 Die Retourentabelle iw_return_line 5

Spaltenname Datentyp InhaltreturnType varchar RetourentypshippingAgent varchar VersendercustomerNo varchar Kundennummerbill_customerNo varchar Kundennummer des RechnungsempfängersshipmentDate datetime VersanddatumpostingDate datetime Bearbeitungsdatum

In Bild 1.5 können Sie einen Blick auf den Inhalt der Tabelle werfen.

Bild 1 .5■Auszug aus der Tabelle iw_return_header

■■ 1 .6■Die Retourentabelle iw_return_line

Die eigentlichen Informationen zu den Retouren auf Artikelbasis stehen in der folgenden Tabelle, die über 14 Spalten verfügt.

Spaltenname Datentyp Inhaltowner varchar Shop-/MandatenkennungreturnNo varchar RetourennummercustomerNo varchar Kundennummerbill_customerNo varchar Kundennummer des Rechnungsempfängersquantity numeric ArtikelanzahlunitPrice money StückpreisIWAN varchar Eindeutige Artikelnummer wie EANtype numeric 2 = Artikel, 1 = VersandreturnReason varchar RetourengrundproductGroup varchar Produktgruppevat_line_amount money Summe der Zeile inkl. MwSt.line_amount money Summe der Zeile ohne MwSt.shipmentDate datetime VersanddatumpostingDate datetime Bearbeitungsdatum

Page 19: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

6 1 Die Testdatenbank iw_shop

In Bild 1.6 sehen Sie die Retourentabelle.

Bild 1 .6■Auszug aus der Tabelle iw_return_line

■■ 1 .7 Die Code-Tabelle iw_code_reason

Im Folgenden sehen Sie eine relativ kleine Tabelle, mit der wir einige Codes aus den vorher­gehenden Tabellen in Klartext umwandeln können.

Spaltenname Datentyp Inhaltowner varchar Shop-/MandatenkennungType varchar returnReason/returnType/paymentCode varchar CodeReason varchar Klartext

Bild 1.7 zeigt den Inhalt der Code­Tabelle.

Bild 1 .7■Auszug aus der Tabelle iw_code_reason

Damit ist der Überblick über die Tabellen, die ich Ihnen zur Verfügung stellen werde, abge­schlossen.

Page 20: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

Die einfachste Möglichkeit, eine voll funktionsfähige SQL­Datenbank aufzubauen, bietet der Microsoft SQL Server. Aktuell stehen zwei Versionen zur Verfügung: � Microsoft SQL Server 2008 R2 � Microsoft SQL Server 2012

Beide Versionen können kostenlos heruntergeladen werden, z. B. unter folgender Web­adresse: http://www.microsoft.com/germany/sql/2008/default.mspxDie neue Server­Version 2012 steht als Trial­Version zur Verfügung und kann 180 Tage lang kostenlos genutzt werden. Der SQL Server 2008 R2 kann dauerhaft kostenlos genutzt wer­den.In diesem Buch nutzen wir die neueste Version 2012, die unter folgendem Link als Down­load zur Verfügung steht: http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspxSolche Links können sich natürlich ändern. Sie werden aber über eine entsprechende Suche immer den jeweils aktuellen Link zum Download finden.

■■ 2 .1■ Systemvoraussetzungen für den Microsoft SQL Server

Die Hardware­ und Softwareanforderungen für die Installation von SQL Server 2012 finden Sie unter http://msdn.microsoft.com/de-de/library/ms143506.aspx. Steht Ihnen ein relativ aktuell ausgestatteter Rechner ab Betriebssystem Windows 7 und mindestens 6 GB freier Speicherplatz auf dem Systemlaufwerk zur Verfügung, dann sollten Sie die neueste Version 2012 nutzen.Ansonsten sollten Sie auf die Version 2008 R2 ausweichen. Damit können Sie genauso gut arbeiten. Die Systemvoraussetzungen für diese Version finden Sie unter folgendem Link: http://msdn.microsoft.com/de-de/library/ms143506(v=sql.105).aspx

2 Installation einer funktionsfähigen SQL-Datenbank

Page 21: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

8 2 Installation einer funktionsfähigen SQL-Datenbank

■■ 2 .2■ Produktinformationen zum SQL Server 2012 und SQL Server 2008 R2

Alle Produktinformationen zum SQL Server 2012 finden Sie in der Library von Microsoft (Bild 2.1) unter http://msdn.microsoft.com/de-de/library.

Bild 2 .1■MSDN Library

Klicken Sie links auf SQL Server und dann weiter auf SQL Server 2012 (Bild 2.2).

Bild 2 .2■Online-Dokumentation zum SQL Server 2012

Dort finden Sie eine komplette Online­Dokumentation, Installationshinweise, Lernpro­gramme und vieles mehr. Auch für die Version 2008 R2 finden Sie in der MSDN Library alle erforderlichen Informationen.

Page 22: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

2.3 Download und Installation 9

■■ 2 .3■Download und Installation

Laden Sie sich eine der beiden Server­Versionen herunter und folgen Sie den Installations­anweisungen. Im Folgenden finden Sie eine Kurzanweisung für den SQL Server 2012.Unter http://www.microsoft.com/sqlserver/en/us/get-sql-server/try-it.aspx können Sie sich die Datei herunterladen.

Bild 2 .3■Download des SQL Servers 2012

Klicken Sie auf Download SQL Server 2012 (Bild 2.3).

  Bild 2 .4■ Auswahl zwischen der 32- oder 64-Bit-Version

Page 23: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

10 2 Installation einer funktionsfähigen SQL-Datenbank

Es stehen zwei Versionen zur Verfügung, die 32­Bit­ und die 64­Bit­Version (Bild 2.4). Wenn Sie nicht sicher sind, welche Version für Sie die bessere ist, können Sie auch beide Versio­nen zusammen als DVD ISO Image herunterladen. Dazu müssen Sie nicht unbedingt eine DVD erstellen. Sie können diese Daten auch lokal auf dem Rechner speichern. Unabhängig davon, welche Version Sie herunterladen, sollten Sie auf jeden Fall vorher die Sprache Deutschland (Deutsch) auswählen.Starten Sie nun den Download. Sie erhalten die in Bild 2.5 zu sehende Meldung.

Bild 2 .5■Download-Meldung

Der Download­Prozess kann einige Zeit in Anspruch nehmen, vor allem dann, wenn Sie sich für DVD ISO Image entschieden haben. Haben Sie etwas Geduld.Nachdem der Download abgeschlossen ist, müssen Sie den SQL Server installieren. Schauen Sie dazu in den Ordner, in dem die Programmdaten abgelegt wurden. In der Regel ist das der Ordner Downloads. Suchen Sie dort im Stammordner die Datei setup.exe und starten Sie die Installation mit einem Doppelklick.Das SQL Server­Installationscenter wird vom Installations­Assistenten ausgeführt. Um eine neue Installation vom SQL Server zu erstellen, klicken Sie im linken Navigationsbereich auf Installation und anschließend auf Neue eigenständige SQL Server­Installation oder Hinzufügen von Funktionen zu einer vorhandenen Installation. Folgen Sie den Installa­tionsanweisungen. Ausführliche Installationsanweisungen finden Sie vorab auch in der Lib­rary unter http://msdn.microsoft.com/de-de/library/ms143219.Ist der SQL Server fertig installiert, können Sie mit der Erstellung der Testdatenbank begin­nen.

Page 24: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

3Starten Sie das Microsoft SQL Server Management Studio. Klicken Sie dazu auf die Ver­knüpfung, die auf Ihrem Desktop oder auf Ihrer Taskleiste zu finden ist (Bild 3.1). Wurde keine Verknüpfung erstellt, starten Sie das Management Studio direkt aus Ihrer Programm­liste heraus.

  Bild 3 .1■ Verknüpfungssymbol auf dem Desktop

  Bild 3 .2■ Startfenster zum Management Studio

Das Management Studio wird geöffnet (Bild 3.2). Nun müssen Sie eine Verbindung zur Datenbank herstellen (Bild 3.3).Wählen Sie als Server­Typ Datenbankmodul aus. Der Servername ist Ihr Rechnername, der automatisch angezeigt wird. Falls der Servername nicht direkt angezeigt wird, klicken Sie rechts auf den kleinen Pfeil neben dem Feld und wählen Sie Suche fortsetzen. Sie kön­nen dann auf Ihrem Rechner die installierte Datenbank suchen und den passenden Server­namen bzw. Ihren Rechnernamen per Klick einfügen.Wählen Sie Windows-Authentifizierung. Der Benutzername ist ebenfalls automatisch hin­terlegt.Bei der Installation einer älteren Version des Management Studios, bei der Nutzung eines Netzwerkes oder einer anderen von der vorhergehenden Beschreibung abweichenden Ins­tallation können Sie sich bei der Verbindung zur Datenbank an den Handbüchern oder Hilfen zur entsprechenden Version orientieren.

Erstellung einer Testdatenbank und Import der mitgelieferten Daten

Page 25: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

12 3 Erstellung einer Testdatenbank und Import der mitgelieferten Daten

Bild 3 .3■Verbindung mit dem Server herstellen

Klicken Sie nun auf Verbinden.

■■ 3 .1■Eine neue Datenbank anlegen

Links im Objekt­Explorer sehen Sie die Verbindung zu Ihrem Rechner. Klicken Sie auf das +­Zeichen, damit die weiteren Inhalte angezeigt werden. Markieren Sie den Ordner Daten-banken und klicken Sie auf die rechte Maustaste. Wählen Sie den ersten Punkt Neue Datenbank aus (Bild 3.4).

  Bild 3 .4■ Neue Datenbank anlegen

Page 26: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

3.2 Tabellen importieren 13

Tragen Sie als Datenbanknamen iw_shop ein. Anschließend klicken Sie auf OK. Mehr müs­sen Sie nicht tun. Die Datenbank ist nun erstellt (Bild 3.5).

Bild 3 .5■Die Datenbank wurde erstellt.

■■ 3 .2■Tabellen importieren

Nun müssen Sie die sieben auf DVD mitgelieferten Dateien jeweils als Tabelle in die neu erstellte Datenbank importieren. Wir tun dies Schritt für Schritt am Beispiel der Tabelle iw_sales.Zuvor sollten Sie jedoch die mitgelieferten TXT­Dateien entweder direkt auf Ihren Rechner kopieren oder auf einem Datenträger, wie einem USB­Stick, bereithalten.Und so geht's: Markieren Sie die neu eingerichtete Datenbank. Mit der rechten Maustaste öffnen Sie das Dialogfeld der Datenbank, dort klicken Sie auf Tasks und im nächsten Dia­logfeld auf Daten importieren (Bild 3.6 auf der folgenden Seite).

Page 27: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

14 3 Erstellung einer Testdatenbank und Import der mitgelieferten Daten

  Bild 3 .6■ Dialogfeld Daten importieren

Der SQL Server­Import/Export­Assistent wird geöffnet. Klicken Sie auf Weiter (Bild 3.7).

  Bild 3 .7■ Import/Export-Assistent

Unsere Tabellen liegen als Textfile vor. Bei der Datenquelle wählen Sie den Eintrag Flatfile-quelle. Danach klicken Sie auf Durchsuchen und wählen die Datei iw_sales.txt aus (Bild 3.8).

Page 28: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

3.2 Tabellen importieren 15

  Bild 3 .8■ Datenquelle auswählen

In den meisten Textdateien, die wir hier importieren, sind die Dezimalstellen mit einem Punkt anstatt mit einem Komma getrennt. Das ist die englische bzw. amerikanische Schreib­weise. Deshalb müssen Sie ein entsprechendes Gebietsschema auswählen. Wählen Sie Englisch (Großbritannien) aus (Bild 3.9).

  Bild 3 .9■ Gebietsschema auswählen

Page 29: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

16 3 Erstellung einer Testdatenbank und Import der mitgelieferten Daten

Anschließend müssen Sie die Eigenschaften jeder Spalte bestimmen. Als Standard ist für jede Spalte eine Zeichenfolge (varchar) von 50 Zeichen voreingestellt. Das können Sie bei vielen Spalten auch so belassen. Es gibt aber Spalten, die Sie unbedingt neu konfigurieren müssen. Klicken Sie dazu im Dialogfeld des Import/Export­Assistenten links auf Erweitert. Nun werden die einzelnen Spalten angezeigt. Wenn Sie eine Spalte markieren, sehen Sie ganz rechts die aktuelle Konfigurierung (Bild 3.10).

  Bild 3 .10■ Eigenschaften der Spalten konfigurieren

Nun ändern Sie die Einstellungen in einigen Spalten. Klicken Sie dazu auf die Spalte line_No und wählen dann, rechts beim Eintrag DataType, einen neuen Datentypen aus. Wenn Sie auf DataType klicken, öffnet sich ein Auswahlfenster. Hier sind alle verfügbaren Daten­typen aufgelistet. Wählen Sie Numerisch [DT_NUMERIC] (Bild 3.11).Mit dieser Einstellung kann man bis zu 18­stellige Zahlen verarbeiten. So viele Stellen benö­tigen wir nicht. Sie können unter DataPrecision die Anzahl der Stellen bestimmen. Tragen Sie hier eine 5 ein (Bild 3.12).

Page 30: BUSINESS INTELLIGENCEdownload.e-bookshelf.de/download/0003/9956/52/L-G-0003995652... · Business Intelligence Komplexe SQL-Abfragen am Beispiel eines Online-Shops inkl. Testdatenbank

3.2 Tabellen importieren 17

  Bild 3 .11■ DataType Numerisch

  Bild 3 .12■ DataPrecision

Die gleichen Einstellungen nehmen Sie bei den Spalten type und quantity vor (Bild 3.13 auf der nächsten Seite).