28.12.2013 Aufrufe

Projektgruppe Business Intelligence Applications and Evaluation ...

Projektgruppe Business Intelligence Applications and Evaluation ...

Projektgruppe Business Intelligence Applications and Evaluation ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong> <strong>Applications</strong> <strong>and</strong> <strong>Evaluation</strong><br />

Projektdokumentation<br />

Abteilung Wirtschaftsinformatik 1:<br />

Very Large <strong>Business</strong> <strong>Applications</strong><br />

Betreuer:<br />

Prof. Dr.-Ing. Jorge Marx Gómez<br />

Benjamin Wagner vom Berg<br />

Andreas Solsbach


<strong>Projektgruppe</strong> Cuberunner<br />

Einleitung<br />

2


<strong>Projektgruppe</strong> Cuberunner<br />

Einleitung<br />

Inhaltsverzeichnis<br />

Einleitung ................................................................................................................................... 5<br />

Jinengo ....................................................................................................................................... 9<br />

Fachkonzept ........................................................................................................................... 9<br />

DV-Konzept ........................................................................................................................ 43<br />

Dokumentation .................................................................................................................. 117<br />

CeWe ...................................................................................................................................... 187<br />

Fachkonzept ....................................................................................................................... 187<br />

DV-Konzept ...................................................................................................................... 203<br />

Machbarkeitsanalyse ......................................................................................................... 239<br />

Dokumentation .................................................................................................................. 305<br />

Smart Wind Farm Control ...................................................................................................... 371<br />

Fachkonzept ....................................................................................................................... 371<br />

DV-Konzept ...................................................................................................................... 411<br />

Dokumentation .................................................................................................................. 451<br />

Technischer Vergleich ............................................................................................................ 637<br />

Fazit ........................................................................................................................................ 673<br />

Anhang ................................................................................................................................... 677<br />

Protokolle .......................................................................................................................... 679<br />

Seminararbeiten ................................................................................................................. 841<br />

3


<strong>Projektgruppe</strong> Cuberunner<br />

Einleitung<br />

Tabellenverzeichnis<br />

Tabelle 1: Mitglieder und Rollen ............................................................................................... 5<br />

Tabelle 2: Zuordnung Seminararbeitsthemen ............................................................................ 6<br />

Tabelle 3: Kleingruppenaufteilung ............................................................................................. 7<br />

4


<strong>Projektgruppe</strong> Cuberunner<br />

Einleitung<br />

Einleitung<br />

Im Rahmen des Masterstudiums der Wirtschaftsinformatik an der Carl von Ossietzky Universität<br />

Oldenburg ist vorgesehen, dass jeder Studierende dieses Studiengangs innerhalb einer <strong>Projektgruppe</strong><br />

eine Aufgabenstellung bearbeitet. Die <strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong> <strong>Applications</strong> <strong>and</strong> <strong>Evaluation</strong><br />

(<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong> (BI)) wurde von Prof. Dr. Jorge Marx Gómez initiiert. Diese<br />

<strong>Projektgruppe</strong> ist am 01. April 2012 gestartet und endet nach zwei Semestern Laufzeit am 31. März<br />

2013. Die <strong>Projektgruppe</strong> ist mit einem wöchentlichen Arbeitsaufw<strong>and</strong> von 16-20 Stunden pro Studierenden<br />

über die gesamte Projektzeit sowie drei Wochen Urlaubsanspruch definiert.<br />

Die <strong>Projektgruppe</strong> BI besteht aus 13 Studierenden der Universität Oldenburg, die in dieser verschiedene<br />

Rollen wahrnehmen. Bereits zu Projektbeginn wurden einige Rollen verteilt. Im Laufe der Projektzeit<br />

hat sich jedoch die Rollenverteilung verschoben bzw. erweitert, insbesondere aufgrund der Einteilung<br />

in Klein- bzw. Teilgruppen. Manche Rollen haben an Bedeutung verloren oder sich in die Teilgruppen<br />

verlagert, wie etwa Projektleitung, Pressesprecherin, Technologie- sowie<br />

Test/Qualitätsmanagement (QM)-Beauftragter. Die Rolle des Teilgruppenleiters hingegen kam dazu.<br />

Nachfolgend werden die Studierenden und ihre Rollen aufgeführt.<br />

Benjamin Weinert<br />

Björn Kreye<br />

Christopher Grünhäuser<br />

Deyan Stoyanov<br />

Fatih Mehmet Inel<br />

Henning Tomann<br />

Lars Schüttemeyer<br />

Marcel Severith<br />

Michael Schumann<br />

Patrick Böwe<br />

Ronja Queck<br />

Thees Gieselmann<br />

Wiebke Meyer<br />

Homepagebeauftragter<br />

Sozialbeauftragter<br />

Technologiebeauftragter MS<br />

Projektleiter<br />

Technologiebeauftragter SAP, Teilgruppenleiter Analytical<br />

CRM<br />

Test/QM-Beauftragter<br />

Homepagebeauftragter, Vertretung des Projektleiters<br />

Teilgruppenleiter Jinengo<br />

Finanzbeauftragter<br />

Server-Beauftragter, Teilgruppenleiter Smart Wind Farm<br />

Control<br />

Pressesprecherin<br />

Dokumentationsverwalter<br />

Test/QM-Beauftragte<br />

Tabelle 1: Mitglieder und Rollen<br />

Neben den Studierenden wird die <strong>Projektgruppe</strong> von einer Anzahl fachlich versierter Personen betreut.<br />

Diese stammen zum einen aus dem universitären Umfeld und zum <strong>and</strong>eren aus der freien Wirtschaft.<br />

In den ersten Monaten wurde die <strong>Projektgruppe</strong> durch Jennifer Osmers (BTC AG), Benjamin Wagner<br />

vom Berg und Oliver Norkus (beide Universität Oldenburg) sowie Dr. Joachim Marz (CEWE Color<br />

5


<strong>Projektgruppe</strong> Cuberunner<br />

Einleitung<br />

AG und Co. OHG (CEWE)) unterstützt. Im weiteren Verlauf der <strong>Projektgruppe</strong> sind Jennifer Osmers<br />

und Oliver Norkus durch Andreas Solsbach (Universität Oldenburg) ersetzt worden.<br />

Die <strong>Projektgruppe</strong> hat sich den Eigennamen Cuberunner gegeben. Der Name basiert auf der Erstellung<br />

von Datenwürfeln, sogenannten Cubes, welche in BI Projekten wesentliche Best<strong>and</strong>teile sind. Im<br />

fachlichen Umfeld soll mit dem Namen Cuberunner die unmittelbare Assoziation mit BI hergestellt<br />

werden.<br />

Über einen Zeitraum von einem Jahr hat sich die <strong>Projektgruppe</strong> in drei wesentliche Phasen organisiert.<br />

Zu diesen zählen die Findungsphase, die Interview- und Seminararbeitsphase und die Projektphase.<br />

In der Findungsphase haben sich die Studierenden in ihren jeweiligen Rollen organisiert und mit Hilfe<br />

der Betreuer eine grobe Abgrenzung von insgesamt drei Anwendungsfällen vorgenommen. Die jeweiligen<br />

Anwendungsfälle werden vonein<strong>and</strong>er unabhängig in Klein- bzw. Teilgruppen bearbeitet.<br />

In der nachfolgenden Interview- und Seminararbeitsphase wurden relevante Themen der BI durch die<br />

Studierenden bearbeitet. Die Seminararbeiten sind im Anhang zu finden. Das erarbeitete Wissen der<br />

Seminararbeiten wurde in die gesamte <strong>Projektgruppe</strong> hineingetragen. Die nachfolgende Tabelle zeigt<br />

die von den jeweiligen Studierenden bearbeiteten Seminararbeiten.<br />

Benjamin Weinert<br />

Analytical Customer Relationship Management (CRM)<br />

Björn Kreye Neuerungen in SAP NW BW 7.3 und SAP BO 4.0<br />

Christopher Grünhäuser Stammdatenmanagement und Konsolidierung<br />

Deyan Stoyanov<br />

Vergleich MS und SAP BI<br />

Fatih Mehmet Inel<br />

MS SQL Server 2012 und MS BI-Tools<br />

Henning Tomann<br />

BI mit Excel, PowerPivot, Power View<br />

Lars Schüttemeyer<br />

Mobile BI<br />

Marcel Severith<br />

Anforderungsanalyse und Konzeptarbeit<br />

Michael Schumann In Memory<br />

Patrick Böwe<br />

Testen und Dokumentieren von BI Applikationen<br />

Ronja Queck<br />

Data Mining<br />

Thees Gieselmann<br />

Nachhaltigkeit und BI<br />

Wiebke Meyer<br />

Management von BI Projekten<br />

Tabelle 2: Zuordnung Seminararbeitsthemen<br />

Zum <strong>and</strong>eren wurden in dieser Phase Interviews zur Spezifizierung der Anwendungsfälle mit fachkompetenten<br />

Personen durchgeführt. Weiterhin wurde diese Phase genutzt, um die Projektteilnehmer<br />

hinsichtlich ihrer Präferenzen den einzelnen Anwendungsfällen zuzuordnen. Die folgende Tabelle<br />

zeigt die Aufteilung der <strong>Projektgruppe</strong> in die spezifischen Kleingruppen.<br />

6


<strong>Projektgruppe</strong> Cuberunner<br />

Einleitung<br />

Analytical CRM<br />

Nachhaltige Mobilität<br />

Smart Wind Farm<br />

Benjamin Weinert<br />

Björn Kreye<br />

Fatih Mehmet Inel<br />

Henning Tomann<br />

Wiebke Meyer<br />

Christopher Grünhäuser<br />

Lars Schüttemeyer<br />

Marcel Severith<br />

Thees Gieselmann<br />

Deyan Stoyanov<br />

Michael Schumann<br />

Patrick Böwe<br />

Ronja Queck<br />

Tabelle 3: Kleingruppenaufteilung<br />

In der Projektphase bearbeiten die Kleingruppen ihre Anwendungsfälle separat. Damit ein teilprojektübergreifender<br />

Austausch sowie eine mögliche Unterstützung unterein<strong>and</strong>er erfolgen kann, werden<br />

wöchentliche Treffen der gesamten <strong>Projektgruppe</strong> inklusive Betreuer durchgeführt und protokolliert<br />

(siehe Anhang). Die Treffen teilen sich in externe und interne Diskussionsrunden auf, wobei die externen<br />

Treffen mit den Betreuern stattfinden.<br />

Das Ziel der Gruppe Nachhaltige Mobilität ist es, die im Vorjahr stattgefundene universitäre <strong>Projektgruppe</strong><br />

Jinengo fortzusetzen. Es soll mit Hilfe analytischer Methoden der BI das Mobilitätsverhalten<br />

der Anwender analysiert und dargestellt werden (S. 9 - 187). Weiterhin sollen Anreize für ein nachhaltigeres<br />

Verhalten der Anwender geschaffen werden.<br />

Die Analytical CRM Gruppe beschäftigt sich mit dem Projekt „gestochen scharfe Fragen stellen“ bei<br />

CEWE (S. 187 - 371). Das Projekt beh<strong>and</strong>elt die systematische Erfassung, Historisierung und Analyse<br />

von Kundenumfragen auf Basis einer einheitlichen Datengrundlage. Als Ansprechpartner für die Teilgruppe<br />

fungiert seitens CEWE Herr Dr. Joachim Marz, Leiter der IT.<br />

Im Rahmen der Gruppe Smart Wind Farm Control wird die Problematik des erhöhten Wartungsaufw<strong>and</strong>es<br />

von Windenergieanlagen im Offshore-Bereich thematisiert. Ziel ist die Entwicklung einer<br />

Windpark-Maintenance-Plattform auf Basis des In-Memory Systems SAP HANA. Hiermit soll das<br />

gesamte Datenaufkommen von Windenergieanlagen erfasst werden können. Zudem sollen unter Verwendung<br />

von Data Mining Methoden Fehlerketten innerhalb der Daten aufgezeigt und für eine vorausschauende<br />

Wartung genutzt werden (S. 371 -636).<br />

Mit Hilfe eines Technologievergleiches sollen die in den drei Teilprojekten verwendeten Softwarelösungen<br />

projektübergreifend bewertet und verglichen werden.<br />

7


<strong>Projektgruppe</strong> Cuberunner<br />

Einleitung<br />

Diese Dokumentation beinhaltet die ausgearbeiteten Dokumente der einzelnen Kleingruppen und den<br />

Technologievergleich. Im Anhang befinden sich alle Seminararbeiten und Protokolle die im Laufe der<br />

Projektzeit erstellt wurden.<br />

8


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: Jinengo<br />

Fachkonzept<br />

9


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

10


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Inhaltsverzeichnis Jinengo Fachkonzept<br />

Abbildungsverzeichnis ............................................................................................................. 12<br />

Tabellenverzeichnis .................................................................................................................. 12<br />

Abkürzungsverzeichnis ............................................................................................................ 13<br />

1. Einleitung .......................................................................................................................... 14<br />

2. Vision und Ziele ................................................................................................................ 14<br />

2.1 Nachhaltige Mobilität ................................................................................................... 14<br />

2.2 Projektziele ................................................................................................................... 15<br />

3. Rahmenbedingungen ......................................................................................................... 17<br />

3.1 Vorgaben aus der BI-Strategie ..................................................................................... 17<br />

3.2 Projektspezifische technische & organisatorische Bedingungen ................................. 18<br />

3.3 Stakeholder-Definition ................................................................................................. 18<br />

3.3.1 Projektstakeholder ............................................................................................. 19<br />

3.3.2 Jinengo-Stakeholder .......................................................................................... 19<br />

4. <strong>Business</strong> Questions und <strong>Business</strong> Needs .......................................................................... 20<br />

5. Analytische Anforderungen .............................................................................................. 21<br />

5.1 Reports & Dashboards .................................................................................................. 21<br />

5.1.1 Dashboards für Endanwender ............................................................................ 22<br />

5.1.2 Reporting für Management, Mobilitätsanbieter & Wissenschaftler .................. 23<br />

5.1.3 Self-Service BI für das Jinengo-Management ................................................... 25<br />

5.2 Data Mining .................................................................................................................. 26<br />

5.2.1 Eigenschaften Raten .......................................................................................... 26<br />

5.2.2 Newsletter & Reporting ..................................................................................... 26<br />

5.2.3 Ökologische Alternativen Vorschlagen ............................................................. 27<br />

5.2.4 Warnung vor ungewöhnlichem Verhalten ......................................................... 27<br />

6. Kennzahlen ....................................................................................................................... 27<br />

7. Semantische Modellierung ................................................................................................ 29<br />

7.1 Messgrößen................................................................................................................... 29<br />

7.2 Dimensionen ................................................................................................................. 30<br />

8. Nichtfunktionale Anforderungen ...................................................................................... 31<br />

9. Literaturverzeichnis .......................................................................................................... 32<br />

Anhang ..................................................................................................................................... 34<br />

A.<br />

B.<br />

Projektmanagement ........................................................................................................... 34<br />

Kennzahlensteckbriefe ...................................................................................................... 35<br />

11


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Abbildungsverzeichnis<br />

Abbildung 7.1: Semantische Modellierung .............................................................................. 29<br />

Abbildung A.1: GANTT-Diagramm des Projektablaufs ......................................................... 34<br />

Tabellenverzeichnis<br />

Tabelle 6.1: Übersicht über die Kennzahlen ............................................................................ 28<br />

Tabelle B.1: Kennzahlensteckbrief J01 .................................................................................... 35<br />

Tabelle B.2: Kennzahlensteckbrief J02 .................................................................................... 35<br />

Tabelle B.3: Kennzahlensteckbrief J03 .................................................................................... 36<br />

Tabelle B.4: Kennzahlensteckbrief M01 .................................................................................. 36<br />

Tabelle B.5: Kennzahlensteckbrief M02 .................................................................................. 37<br />

Tabelle B.6: Kennzahlensteckbrief M03 .................................................................................. 37<br />

Tabelle B.7: Kennzahlensteckbrief M04 .................................................................................. 38<br />

Tabelle B.8: Kennzahlensteckbrief M05 .................................................................................. 38<br />

Tabelle B.9: Kennzahlensteckbrief M06 .................................................................................. 39<br />

Tabelle B.10: Kennzahlensteckbrief M07 ................................................................................ 39<br />

Tabelle B.11: Kennzahlensteckbrief M08 ................................................................................ 40<br />

Tabelle B.12: Kennzahlensteckbrief M09 ................................................................................ 40<br />

Tabelle B.13: Kennzahlensteckbrief M10 ................................................................................ 41<br />

Tabelle B.14: Kennzahlensteckbrief M11 ................................................................................ 41<br />

12


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Abkürzungsverzeichnis<br />

BI <strong>Business</strong> <strong>Intelligence</strong><br />

CRM Customer Relationship Management<br />

ÖPNV Öffentlicher Personennahverkehr<br />

SPARQL Protocol And RDF Query Language (Abfragesprache für RDF)<br />

13


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

1. Einleitung<br />

Die Softwareplattform Jinengo bietet Endanwendern die Möglichkeit, Reiserouten unter Einbeziehung<br />

verschiedener Verkehrsträgern und Beachtung ökologischer Aspekte zu planen (Wagner vom Berg &<br />

Stamer 2012; Wagner vom Berg et al. 2012). Jinengo fehlt allerdings bislang eine analytische Aufbereitung<br />

und Darstellung der im Rahmen der operativen Nutzung anfallenden Daten. Ziel dieses Projektes<br />

ist es daher, mit Methoden der <strong>Business</strong> <strong>Intelligence</strong> (BI) das Mobilitätsverhalten der Anwender zu<br />

analysieren und darzustellen. Zudem sollen Rückschlüsse gezogen werden, wie das Angebot von<br />

Jinengo zielgruppenspezifischer und damit attraktiver gemacht werden kann. Auf diese Weise sollen<br />

neue Anreize für ein nachhaltigeres Reiseverhalten geliefert werden.<br />

Die <strong>Projektgruppe</strong> soll daher festgelegte analytische Anwendungsfälle mit Methoden der <strong>Business</strong><br />

<strong>Intelligence</strong> exemplarisch umsetzen, um so eine zukünftige BI-Architektur von Jinengo aufzuzeigen.<br />

2. Vision und Ziele<br />

2.1 Nachhaltige Mobilität<br />

Nachhaltigkeit im Sinne der Brundtl<strong>and</strong>-Definition meint die Befriedigung heutiger Bedürfnisse, ohne<br />

zukünftige Generationen dabei in ihren Entwicklungsmöglichkeiten zu behindern (United Nations<br />

1987). Das Dreisäulenmodell der Nachhaltigkeit versucht ökonomische, soziale und ökologische Anforderungen<br />

mitein<strong>and</strong>er in Einklang zu bringen (Deutscher Bundestag 1998). Da die natürliche Umwelt<br />

jedoch letztendlich den begrenzenden Rahmen für alle gesellschaftlichen und damit auch ökonomischen<br />

Tätigkeiten setzt, kann die Ökologie auch als bedeutendste der drei Dimension angesehen<br />

werden.<br />

Jinengo hat es sich zum Ziel gesetzt, nachhaltige Mobilität mithilfe einer attraktiven 1 Plattform zu<br />

fördern. Die Plattform schafft Anreize, um definierte Strecken mit Start und Zielpunkt auf möglichst<br />

nachhaltige Weise zurückzulegen. Dazu werden dem Endanwender verschiedene Alternativen vorgeschlagen,<br />

die Wegstrecke intermodal (mit verschiedene Verkehrsträgern) zurückzulegen. Dabei werden<br />

insbesondere ökologischer Aspekte betrachtet, allerdings ist auch die Integration sozialer Aspekte<br />

grundsätzlich denkbar.<br />

1 Motivation zur Nutzung der Plattform kann so beispielsweise eine Verbesserung der Nachhaltigkeit im eigenen<br />

Verhalten, die Erhöhung der nutzbaren Reisezeit (z.B. im Zug), die Kommunikation des eigenen Verhaltens<br />

(z.B. über soziale Netzwerke) oder auch eine Zeitersparnis bei der Reiseorganisation sein.<br />

14


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Um einen Beitrag zu einer nachhaltigen Mobilität zu leisten, ist eine rege Benutzung von Jinengo notwendig.<br />

Dies liegt zum einen in der Annahme begründet, dass sich nur mit der Verwendung von<br />

Jinengo das eigene Mobilitätsverhalten optimal planen lässt. Zum <strong>and</strong>eren entsteht durch die intensive<br />

Nutzung der Plattform eine quantitative Datenbasis, durch die sich die Qualität von Datenanalysen<br />

steigern lässt. Durch diese Analyseergebnisse lässt sich die operative Jinengo-Plattform verbessern<br />

und damit die Wirksamkeit im Rahmen einer nachhaltigen Mobilität erhöhen. Attraktivität und Nutzung<br />

der Plattform sind daher von zentralem Interesse für die Anwendung von BI-Methoden vor dem<br />

Hintergrund nachhaltiger Mobilität. Gleichzeitig sind die Methoden der <strong>Business</strong> <strong>Intelligence</strong> aber<br />

auch geeignet, ihren Teil zur Steigerung der Attraktivität der Plattform beizutragen.<br />

2.2 Projektziele<br />

Im Rahmen des vorliegenden BI-Projekts werden die folgenden Ziele für die weitere Entwicklung von<br />

Jinengo identifiziert.<br />

Ziel 1: Analyse des Mobilitätsverhaltens der Endanwender<br />

Vor dem Hintergrund der Förderung einer nachhaltigen Mobilität durch Anbieten einer attraktiven<br />

Plattform zielt Jinengo auf die Beeinflussung des Mobilitätsverhaltens der Endanwender. Mit den Methoden<br />

der <strong>Business</strong> <strong>Intelligence</strong> sollen Muster im Mobilitätsverhalten der Endanwender entdeckt<br />

werden. Angestrebt wird ein größtmögliches Verständnis, warum sich Endanwender für eine entsprechende<br />

Routenalternative entschieden haben.<br />

Ziel 2: Visualisierung des Mobilitätsverhaltens der Endanwender<br />

<strong>Business</strong> <strong>Intelligence</strong> soll das tatsächliche Mobilitätsverhalten der Endanwender visualisieren. Endanwender<br />

sollen sich über ihr bisheriges Verhalten informieren und graphisch die wichtigsten Mobilitätsdaten<br />

ablesen können. Auf diese Weise erhalten Anwender die Möglichkeit, den Grad ihrer Nachhaltigkei<br />

zu bewerten. Die Darstellung dient zudem der Motivation eines nachhaltigeren Verhaltens.<br />

Die Fokussetzung auf mobile Anwendungen soll zudem die Attraktivität der Jinengo-Plattform steigern.<br />

15


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Auch für das Jinengo-Management und <strong>and</strong>ere externe Interessenten sollen Mobilitätsdaten auf adäquate<br />

Art dargestellt werden. So haben beispielsweise Anbieter von E-Autos & ÖPNV, aber auch Car-<br />

Sharing-Anbieter ein großes Interesse an entsprechenden Daten. Auf diese Weise ließe sich die finanzielle<br />

Tragfähigkeit der Plattform sichern, die sich langfristig selbst finanzieren können soll. 2<br />

Ziel 3: Verbesserung der durch Jinengo getroffenen Mobilitätsvorschläge<br />

Die Datenbasis der in der Vergangenheit gewählten Routen sowie endanwenderbezogene Attribute<br />

werden bei der Berechnung von Mobilitätsvorschlägen 3 bislang noch nicht berücksichtigt. Stattdessen<br />

werden diese Daten bisher lediglich gesammelt und gespeichert. Methoden, um diese Datenbasis zu<br />

analysieren, Wissen zu generieren und Entscheidungen abzuleiten, fehlen jedoch bislang. Die Speisung<br />

von analytisch gewonnenem Wissen in die operativen Prozesse realisiert den sogenannten<br />

Closed-Loop des CRM (Helmke et al. 2003). Dadurch verbessert sich die Leistungsfähigkeit von<br />

Jinengo, zielgruppengerechte Mobilitätsalternativen vorzuschlagen. Für den Fahrer eines besonders<br />

spritverbrauchenden Autos erscheint so unter Umständen der Wechsel auf den ÖPNV nicht als wirkliche<br />

Alternative. Die Empfehlung eines spritsparenden Autos wäre unter diesen Umständen unter Umständen<br />

die bessere Alternative. Dafür müssen vorh<strong>and</strong>ene Daten mit Methoden des Data Minings auf<br />

Ähnlichkeiten und Muster hin überprüft werden. Bezogen auf das Beispiel kann so eine Gruppe von<br />

Autofahrern mit ähnlichen Eigenschaften identifiziert werden. Es lassen sich dann Mobilitätsalternativen<br />

anbieten, die bei ähnlichen Anwendern zuvor bereits Anklang gefunden haben. Ziel der <strong>Projektgruppe</strong><br />

ist es, Ansätze zur Datenanalyse mit BI-Methoden aufzuzeigen und exemplarisch darzustellen.<br />

Die Integration dieses neu gewonnenen Wissens in das operative System ist hingegen nicht Teil dieses<br />

Ziels.<br />

2 Die Visualisierung der Daten für externe Verwendung stellt dabei jedoch eine besondere Herausforderung dar.<br />

So muss insbesondere die Unabhängigkeit der Jinengo-Plattform gewährleistet bleiben. Die Glaubwürdigkeit<br />

Jinengos würde stark darunter leiden, würde es von Mobilitätsanbietern selbst finanziert werden. Dies könnte<br />

suggerieren, der Mobilitätsanbieter habe einen Einfluss auf die Darstellung der Suchergebnisse und das eigene<br />

Mobilitätsverhalten werde von Jinengo aus rein monetären Gründen beeinflusst.<br />

3 Die Leistung von Jinengo liegt insbesondere in der Generierung von Routenvorschlägen. Gleichzeitig werden<br />

jedoch auch <strong>and</strong>ere Methoden genutzt, um Einfluss auf das Mobilitätsverhalten des Endanwenders zu nehmen.<br />

So können insbesondere durch Marketingmaßnahmen Verhaltensmuster allgemein verändert werden,<br />

z.B. die Unterbreitung eines Angebots für ein E-Bike.<br />

16


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

3. Rahmenbedingungen<br />

3.1 Vorgaben aus der BI-Strategie<br />

Die <strong>Projektgruppe</strong> Cuberunner der Carl von Ossietzky Universität Oldenburg beschäftigt sich mit der<br />

Entwicklung von Anwendungen im Umfeld der <strong>Business</strong> <strong>Intelligence</strong>. Vorab wurden dabei drei zu<br />

bearbeitende Anwendungsfälle definiert: Analytisches CRM (in Kooperation mit der CeWe Color),<br />

Sustainability CRM für nachhaltige Mobilität (Jinengo) & SmartWindFarm. Abseits eines gemeinsamen<br />

Aufbaus und Transfers von Knowhow (u.a. durch die Seminararbeiten) erfolgt die Bearbeitung<br />

der einzelnen Anwendungsfälle in personell getrennten Kleingruppen. Die Absprache der einzelnen<br />

Kleingruppen erfolgt durch regelmäßige Treffen. Folgende Rahmenbedingungen wurden auf Ebene<br />

der übergeordneten <strong>Projektgruppe</strong> vereinbart und sind daher auch für die Jinengo-Kleingruppe von<br />

Bedeutung.<br />

Die übergeordnete <strong>Projektgruppe</strong> hat sich auf ein Vorgehensmodell für die Softwareentwicklung geeinigt,<br />

das in allen Kleingruppen verwendet werden soll. Als zentrale Artefakte werden Fachkonzept<br />

und DV-Konzept erstellt. Inhalte und Gliederung von Fachkonzept und DV-Konzept sind innerhalb<br />

der übergeordneten <strong>Projektgruppe</strong> abgestimmt. Die Realisierung erfolgt dabei angelehnt an agile Modelle.<br />

Zu Beginn wird daher ein vorläufiges Fachkonzept verfasst und auch formal abgenommen. Im<br />

Laufe des Projekts wird dieses Fachkonzept weiter ausgearbeitet und dient so anschließend auch dokumentarischen<br />

Zwecken. Die Fertigstellung des DV-Konzepts erfolgt gegen Mitte der Realisierungsphase.<br />

Über alle Anwendungsfälle hinweg wird ein Vergleich der verschiedenen eingesetzten BI-<br />

Technologien angestrebt. Dazu wird begleitend zur Realisierung ein Kriterienkatalog für diesen Technologievergleich<br />

entwickelt. Der Vergleich der verschiedenen Technologien auf Grundlage des Katalogs<br />

erfolgt gegen Projektende.<br />

17


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

3.2 Projektspezifische technische & organisatorische<br />

Bedingungen<br />

Die Routenplanungssoftware Jinengo wurde im Rahmen einer <strong>Projektgruppe</strong> der Wirtschaftsinformatik<br />

an der Carl von Ossietzky Universität Oldenburg entwickelt. Endanwender können sich mithilfe<br />

unterschiedlicher Endgeräte am System anmelden und erhalten Routenvorschläge für angefragte Reiseziele.<br />

Die Software ist grundsätzlich funktionstüchtig, wurde einer breiteren Öffentlichkeit allerdings<br />

bislang nicht aktiv vorgestellt. Die Konzeption und Entwicklung analytischer Anwendungen im<br />

Kontext der <strong>Business</strong> <strong>Intelligence</strong> ist bisher noch nicht erfolgt.<br />

Für eine erfolgreiche Anwendung von Methoden der <strong>Business</strong> <strong>Intelligence</strong> fehlt zum jetzigen St<strong>and</strong><br />

eine quantitativ sowie qualitativ ausreichende Datenbasis. So werden viele, für umfangreiche analytische<br />

Auswertungen benötigte, Daten bislang nicht erhoben. Zudem fehlt es Jinengo an der kritischen<br />

Masse an regelmäßigen Anwendern, um aus ihrem Mobilitätsverhalten auch adäquate Schlüsse ziehen<br />

zu können. Die Entwicklung einer BI-Anwendung auf Basis realer Daten erscheint aufgrund dieser<br />

Ausgangslage derzeit nicht praktikabel.<br />

Für die Erweiterung von Jinengo um Methoden der <strong>Business</strong> <strong>Intelligence</strong> wird daher stattdessen eine<br />

für diesen Zweck vollständige Datenbasis angenommen. Auf Basis der analytischen Anforderungen<br />

wird dafür zunächst eine idealtypische Datenstruktur entworfen und geeignete Testdaten generiert.<br />

Auf Basis dieser theoretischen Ausgangslage kann dann die Realisierung der BI-Anwendungen idealtypisch<br />

und losgelöst von den bisherigen operativen Hemmnissen erfolgen.<br />

Nach Fertigstellung der BI-Anwendung kann die Beeinflussung des operativen durch das analytische<br />

BI-System realisiert werden. Zudem muss die eigentliche Anbindung des operativen Systems an die<br />

idealtypisch entworfene Datenstruktur erfolgen, damit sich diese zukünftig auch aus dem operativen<br />

System speist. Zu diesem Zweck muss das operative System angepasst und weiterentwickelt werden.<br />

Diese Anpassung des operativen Systems ist allerdings nicht Aufgabe dieses Projekts.<br />

3.3 Stakeholder-Definition<br />

Die Stakeholder des Jinengo-Projekts lassen sich in zwei Gruppen einteilen. Zum einen lassen sich<br />

direkte Projektstakeholder identifizieren. Zum <strong>and</strong>eren sind bei der (gedanklichen) Überführung von<br />

Jinengo in einen operativen Betrieb weitere Stakeholder denkbar. Da diese für die Identifizierung von<br />

späteren Berechtigungsrollen für das BI-System von besonderer Bedeutung sind, werden auch diese<br />

Stakeholder im Folgenden ermittelt.<br />

18


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

3.3.1 Projektstakeholder<br />

Jinengo-Kleingruppe / Entwickler: Die Jinengo-Kleingruppe der <strong>Projektgruppe</strong> Cuberunner besteht<br />

aus den Studenten Lars Schüttemeyer, Thees Gieselmann, Christopher Grünhäuser und Marcel Severith.<br />

Auftraggeber: Der Auftraggeber wird repräsentiert durch Benjamin Wagner vom Berg.<br />

<strong>Projektgruppe</strong> Cuberunner: Die <strong>Projektgruppe</strong> besteht einerseits aus den studentischen Mitgliedern<br />

der <strong>Projektgruppe</strong> und <strong>and</strong>ererseits aus der Gruppe der Betreuer. Neben den Mitgliedern der Teilgruppe<br />

Jinengo haben auch die <strong>and</strong>eren Teilnehmer der <strong>Projektgruppe</strong> ein Interesse an der Umsetzung der<br />

Teilgruppe. Die Betreuer beraten die Teilgruppe und stehen mit ihrem Wissen zur Verfügung. Ursprünglich<br />

wurde die <strong>Projektgruppe</strong> von Oliver Norkus, Jennifer Osmers & Benjamin Wagner vom<br />

Berg betreut. Durch personelle Veränderung übernahm Andreas Solsbach die Rolle von Oliver Norkus<br />

und Jennifer Osmers. Insbesondere die Betreuer haben ein Interesse an den Ergebnissen der Teilgruppe,<br />

mit deren Hilfe Jinengo weiterentwickelt werden soll. Beide Teile dieses Stakeholders unterstützen<br />

Jinengo und beeinflussen das Teilprojekt durch bspw. die Festlegung von Rahmenbedingungen.<br />

Ehemalige <strong>Projektgruppe</strong> Jinengo: Die Mitglieder der ehemaligen Jinengo-<strong>Projektgruppe</strong> stehen für<br />

konkrete Rückfragen zum Teil weiterhin zur Verfügung und liefern externes Knowhow in Form von<br />

Masterarbeiten, etc.<br />

3.3.2 Jinengo-Stakeholder<br />

Jinengo-Endanwender: Zentraler Stakeholder und ein maßgeblicher Indikator für Erfolg bzw. Misserfolg<br />

der Plattform ist der Nutzer der Jinengo-Plattform. Die Endanwender von Jinengo interagieren<br />

mit dem System und generieren dabei verschiedene Daten. Erst auf Basis einer umfangreichen Datengrundlage<br />

können die diversen Methoden der BI gewinnbringend eingesetzt werden. Des Weiteren<br />

sind die Endanwender Adressaten von Vorschlägen und Maßnahmen, die im Rahmen der Anwendung<br />

von BI generiert werden.<br />

Jinengo-Management: Die strategische Ausrichtung von Jinengo ist für dessen Zukunftsfähigkeit<br />

wichtig. Dazu gehört auch, die stetige Anpassung an Veränderungen und daraus resultierende Anpassung<br />

der Strategie. Die Führungskräfte von Jinengo brauchen für die Erfüllung dieser Aufgabe vollständige<br />

Analysen über die Endanwender des Systems sowie deren Nachhaltigkeitsperformance. Das<br />

Management benötigt diese Daten dafür sinnvoll aggregiert und bspw. in Reports und Dashboards<br />

sinnvoll aufbereitet.<br />

Mobilitätsanbieter: Mobilitätsanbieter haben ein Interesse an der Jinengo-Datenbasis, um diese im<br />

Rahmen eigener Kampagnen und dem gezielten Marketing zu verwenden. Des Weiteren bietet sich so<br />

19


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

für Mobilitätsanbieter die Möglichkeit ihr eigenes Angebot zu verfeinern. Ein Car-Sharing-Anbieter<br />

der bspw. feststellt, dass in einem Stadtteil, in dem er keine Autostellplätze besitzt, viele potentielle<br />

Car-Sharer leben, könnte diese Information nutzen, um die Geschäftstätigkeit in eben diesem Bereich<br />

auszubauen. Zudem sind die Mobilitätsanbieter eine mögliche Finanzierungsquelle für Jinengo, wobei<br />

hier unter Betracht der in Kapitel 1 genannten Probleme, vorsichtig vorgegangen werden muss. Die<br />

Mobilitätsanbieter sollten folglich auf keinen Fall einen direkten Zugriff auf das System erhalten, oder<br />

dessen Daten frei lesen können. Stattdessen ist eine gezielte Übergabe von Datenpaketen sowie Reports<br />

sinnvoll. Diese Pakete können entweder vordefiniert von Jinengo bereitgestellt werden, oder in<br />

Kommunikation mit dem Mobilitätsanbieter ausgeh<strong>and</strong>elt werden.<br />

Wissenschaftler: Wissenschaftler die in dem Bereich Mobilität forschen und ein Interesse an umfangreichen<br />

Nutzungsstatistiken haben. Diesen werden, auf Anfrage, anonymisierte Daten zur Verfügung<br />

gestellt.<br />

4. <strong>Business</strong> Questions und <strong>Business</strong> Needs<br />

Die <strong>Business</strong> Questions und <strong>Business</strong> Needs ergeben sich analog zu den zuvor identifizierten Jinengo-<br />

Stakeholdern.<br />

Jinengo-Endanwender: Wie nachhaltig ist das eigene Mobilitätsverhalten? Wie ist das Verhalten im<br />

Vergleich zu <strong>and</strong>eren Personengruppen zu bewerten? Gibt es sinnvolle Alternativen zu meiner jetzigen<br />

Mobilität?<br />

Jinengo-Management: Wie ist der Erfolg der Jinengo-Plattform zu bewerten? Wird sie regelmäßig<br />

genutzt? Wie lässt sich die Nachhaltigkeitsperformance der Jinengo-Endanwender bewerten? Wie<br />

lassen sich Endanwender zu einem nachhaltigeren Verhalten motivieren? Welche Anreize kann die<br />

Plattform für ein nachhaltigeres Verhalten geben?<br />

Mobilitätsanbieter: Welche Personen sind für welche Verkehrsträger empfänglich? Was sind die<br />

Gründe für ein Interesse an einem Verkehrsträger? Welche Vorzüge einzelner Verkehrsträger müssen<br />

gezielt hervorgehoben werden, um eine Person zur Nutzung zu bewegen? Wie muss für ein konkretes<br />

Angebote geworben werden? Wo gibt es Nachfrage nach dem eigenen Angebot, dass im Moment<br />

nicht abgedeckt wird?<br />

Wissenschaftler: Was motiviert Menschen sich nachhaltig zu verhalten? Welche Hindernisse gibt es?<br />

Welche Anreize benötigen verschiedene Zielgruppen für eine Veränderung ihrer Gewohnheiten?<br />

20


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

5. Analytische Anforderungen<br />

Die zuvor in Kapitel 2 thematisierten Ziele lassen sich in analytischen Anforderungen näher konkretisieren.<br />

Mobilitätsverhalten lässt sich durch Methoden des Data Minings analysieren, zur Visualisierung<br />

dienen Reports & Dashboards.<br />

5.1 Reports & Dashboards<br />

Reports stellen eine detaillierte, komplexe und statische Darstellung von Daten sowie Kennzahlen dar.<br />

Im Gegensatz dazu sind Dashboards in ihrem Detailierungsgrad beschränkt und erlauben eine interaktive<br />

Zusammenstellung der dargestellten Daten (Urban 2012).<br />

Ziel des Projektes ist es, ein festes Set exemplarischer Reports & Dashboards zur Verfügung zu stellen.<br />

Die Reports und Dashboards sollen dabei den Anforderungen und Berechtigungen der unterschiedlichen<br />

Stakeholder gerecht werden. Unterschieden wird dabei zwischen den Reportinganforderungen<br />

von Endanwender auf der einen, sowie den Reportinganforderungen von Jinengo-Management, Mobilitätsanbietern<br />

und Wissenschaftlern auf der <strong>and</strong>eren Seite. Die Darstellung der Daten kann dabei jeweils<br />

wie folgt unterschieden werden:<br />

<br />

<br />

<br />

Reports: detaillierte, umfassende, meist zahlenbasierte Reports. Schwerpunkt liegt auf einem<br />

tiefen Informationsgehalt (bspw. hohe Anzahl wählbarer Dimensionen).<br />

Dashboards: einfache, prägnante Abbildung von relevanten Kennzahlen. Schwerpunkt liegt<br />

auf der visuellen Gestaltung (bspw. Übersichtlichkeit) des Services.<br />

Self-Service BI: flexible Darstellung von Informationen. Der Stakeholder bestimmt dabei<br />

größtenteils selbst, welche Informationen auf welche Weise dargestellt werden sollen.<br />

Im Folgenden werden die Anforderungen der Stakeholder beschrieben. Bei Endanwendern liegt der<br />

Fokus auf Dashboards, da diese Daten aggregiert und damit besonders verständlich darstellen. Reports<br />

und Self-Service BI hingegen werden nicht benötigt und würden eine Überforderung des Anwenders<br />

bedeuten. Für das Jinengo-Management hingegen werden aufgrund der mitunter tiefgreifenden Analyseanforderungen<br />

Dashboards, Reports und Self-Service BI als Darstellungsformen definiert. Die Reportinganforderungen<br />

von Wissenschaftlern und Mobilitätsanbietern sind nicht von zentralem Projektinteresse<br />

und lassen sich zum jetzigen Zeitpunkt noch nicht endgültig definieren. Ihre Anforderungen<br />

an Reports & Dashboards werden daher zunächst zusammen mit denen des Jinengo-Managements<br />

definiert. Die Darstellungsart Self-Service BI wird für Mobilitätsanbieter und Wissenschaftler nicht<br />

definiert, da dies insbesondere den hohen Ansprüchen an den Datenschutz widersprechen würde.<br />

21


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

5.1.1 Dashboards für Endanwender<br />

Der Endanwender hat ein Interesse an Informationen über das eigene Fahrverhalten. Ein optisch ansprechendes<br />

Dashboard soll diesem Anspruch gerecht werden. Die dargestellten Graphen und Diagramme<br />

sollen nicht nur das Nachhaltigkeitsdenken des Benutzers fördern, sondern auch die Attraktivität<br />

und den Nutzen der Plattform erhöhen.<br />

Eine übersichtliche Darstellung wird durch Aggregation und Reduktion auf wenige, relevante Daten<br />

erreicht. Die Auswahl der Kennzahlen und deren Darstellung erfolgt durch interaktive Dashboards, in<br />

welchen der Anwender eigenständig navigieren kann. Die Navigation und Interaktion soll dabei so<br />

intuitiv wie möglich realisiert werden. Die Oberfläche sollte fast keiner Eingewöhnungszeit bedürfen<br />

und leicht von jeder Person, unabhängig vom technischen Vorwissen, bedienbar sein. Im Vordergrund<br />

steht zudem die Möglichkeit der Nutzung über ein mobiles Endgerät. Sowohl die verwendete Technik,<br />

als auch die Beschaffenheit der Oberfläche sollte eine mobile Nutzung ermöglichen. Dies bedingt<br />

unter <strong>and</strong>erem eine Optimierung für berührungssensitive Oberflächen. Hierbei sollte die Anwendung<br />

sowohl für Gesten, als auch bezüglich der Größe und Anpassbarkeit an mobile Anforderungen angepasst<br />

werden. Hierzu zählt zum Beispiel die automatische Anpassung der Chart-Größe an unterschiedliche<br />

Auflösungen der Endgeräte. Zudem sollten sich Navigationselemente an gewohnten Stellen befinden<br />

und auch bei kleineren Auflösungen leicht bedienbar sein.<br />

Inhalte der Dashboards<br />

Zentrales Element der Dashboards ist die Darstellung verschiedener Kennzahlen. So lassen sich die<br />

absoluten CO 2 -Emissionen, Reisezeit, Reisekosten und die zurückgelegte Strecke über die Dimension<br />

Zeit betrachten. Zudem werden die relativen CO 2 -Emission sowie Reisekosten pro Kilometer dargestellt.<br />

Zudem können die Kennzahlen nach Verkehrsmitteln aufgeschlüsselt werden.<br />

Durch die Darstellung von Vergleichswerten kann das eigene Verhalten in Relation zu <strong>and</strong>eren Personen<br />

gesetzt werden können. Referenz können dabei entweder befreundete Personen oder Durchschnittswerte<br />

der Plattform sein. Dem Anwender wird es so ermöglicht, sein eigenes Verhalten im<br />

Vergleich zu <strong>and</strong>eren Anwendern zu bewerten und ihm so eine neue Motivation für ein verändertes<br />

Verhalten zu geben.<br />

Vor dem Hintergrund nachhaltiger Mobilität ist insbesondere die Betrachtung des individuellen CO 2 -<br />

Ausstoßes relevant. Der CO2-Ausstoß wird daher in Vergleich gesetzt zu den Alternativen, die bei<br />

Reiseantritt zur Verfügung st<strong>and</strong>en hatte. Je nach Wahl der Route ergibt sich eine CO 2 -Differenz in<br />

Bezug auf die best- bzw. die schlechtmöglichste Alternative. Diese Differenz wird innerhalb der Graphen<br />

zur Visualisierung der CO 2 -Emissionen abgebildet. Zudem dient ein Nachhaltigkeitstacho zur<br />

Visualisierung des CO 2 -Einsparpotentials des Endanwenders.<br />

22


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Zusammenfassend lassen sich folgende Inhalte für die Dashboards definieren:<br />

<br />

<br />

<br />

<br />

Absolute CO 2 -Emission, Reisekosten, Reisezeit und zurückgelegte Strecke pro Jahr aggregiert<br />

auf Monatsbasis. Vergleichsmöglichkeit zum Durchschnitt oder einer Referenzperson.<br />

Relative CO 2 -Emission und Reisekosten pro Kilometer pro Jahr aggregiert auf Monatsbasis.<br />

Vergleichsmöglichkeit zum Durchschnitt oder einer Referenzperson.<br />

CO 2 -Emission, Reisekosten, Reisezeit und zurückgelegte Strecke aufgeschlüsselt nach Verkehrsmitteln<br />

im Vergleich zum Durchschnitt oder einer Referenzperson.<br />

CO 2 -Einsparpotential dargestellt durch einen Nachhaltigkeitstacho und einen Graphen, welcher<br />

die CO 2 -Emmision des Anwenders in Relation zu den höchst- bzw. geringstmöglichen<br />

Emissionen setzt.<br />

5.1.2 Reporting für Management, Mobilitätsanbieter & Wissenschaftler<br />

Das Management muss vor allem mittel- und langfristig ausgerichtete Entscheidungen treffen um den<br />

Erfolg der Plattform zu sichern. Hieraus begründet sich ihr Informationsbedarf an Jinengo. Dashboard<br />

& Reports sollen den Zeitaufw<strong>and</strong> für die Informationsbeschaffung verringern und die Informationsgrundlage<br />

vergrößern. Dabei kann der Inhalt der Dashboards & Reports variieren, je nachdem welches<br />

Ziel gerade genau verfolgt wird. Auch Mobilitätsanbieter haben ein großes Interesse an den von<br />

Jinengo gesammelten Daten. Ziel entsprechender Anbieter ist es, ihr Angebot besser an die aus den<br />

Daten erkennbaren Bedürfnisse anzupassen sowie potentielle Kunden für ihre Angebote zu finden.<br />

Diese Ziele verlaufen aber unter Umständen konträr zu den Interessen von Jinengo. Daher ist die Weitergabe<br />

von Daten aus Gründen der Glaubwürdigkeit und des Datenschutzes nur beschränkt möglich.<br />

Durch die Anonymisierung bzw. Aggregation der Daten werden die Anwender so unter vor ungewollten<br />

Marketing-Kampagnen geschützt. Nicht zuletzt haben auch Wissenschaftler einen Bedarf an authentischen<br />

Mobilitätsdaten sowie deren Nachhaltigkeitsbewertung. Diese Daten können bzw. müssen<br />

anonymisiert sein, benötigen aber eine hohe Granularität. Schwerpunkt bei dieser Stakeholder-Gruppe<br />

liegt auf der Vielfalt und Relevanz der Daten anstatt auf der graphischen Aufbereitung. Dieser Stakeholdergruppe<br />

reicht daher die Bereitstellung von Reports in einem leicht zu verarbeitenden Datenformat.<br />

Dashboards können optional rudimentär umgesetzt werden.<br />

Trotz unterschiedlicher verfolgter Ziele lassen sich die genauen Inhalte für Reports & Dashboards<br />

dieser drei Stakeholder nicht genau vonein<strong>and</strong>er trennen. Im Folgenden werden daher Anwendungsfälle<br />

mit hohem Anonymisierungs- und Aggregationsgrad beschrieben, die sich somit für alle drei Stakeholder<br />

verwenden lassen. Die Reports & Dashboards sollen dabei jeweils per Weboberfläche zugreifbar<br />

sein und auch per Mail verschickt werden können (z.B. als PDF). Die Reports & Dashboards müssen<br />

zwar verständlich und einfach bedienbar sein, insgesamt ist die Benutzerfreundlichkeit allerdings<br />

23


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

von nicht so großer Bedeutung wie bei den Endanwendern. Insbesondere ist den Stakeholdern die<br />

Nutzung gängiger BI-Software zuzumuten.<br />

Inhalte der Reports & Dashboards<br />

Im Folgenden werden drei Reports und drei Dashboards beschrieben, die einen möglichst großen<br />

Querschnitt über mögliche Darstellungsformen analytischer Informationen liefern:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Nutzung der Plattform: Dieser Report gibt einen Überblick über verschiedene ausgewählte<br />

Kennzahlen zur Bewertung der Nutzungsintensität von Jinengo im Laufe des Jahres. Dies<br />

dient insbesondere dem Jinengo-Management zur Erfolgsanalyse, lässt sich aber bei Bedarf<br />

aber auch für Mobilitätsanbieter und Wissenschaftler verwenden.<br />

Nutzung verschiedener Verkehrsmittel: Dieser Report dient der Analyse der Nutzung verschiedener<br />

Verkehrsmittel über den Zeitverlauf. Die Dimensionen Zeit und Verkehrsmittel<br />

sollen dabei ein interaktives Drill-Through ermöglichen.<br />

Reiseverhalten nach Endanwenderpräferenzen: Dieser Report dient der Analyse, wie sich verschiedene<br />

Endanwenderpräferenzen bezüglich Nachhaltigkeit, Kosten, Komfort und Zeit auf<br />

das Reiseverhalten von Personen auswirken.<br />

Kennzahlen-Überblick: Dieses Dashboard soll einen Überblick über besonders relevante<br />

Kennzahlen der Jinengo-Nutzung und des Reiseverhaltens liefern. Im Gegensatz zum Report<br />

„Nutzung der Plattform“ liegt der Schwerpunkt hier auf einer übersichtlichen graphischen<br />

Darstellung.<br />

Überblick über eine Region: Dieses Dashboard gibt einen Überblick über Reiseaktivitäten einer<br />

Region. Dazu gehört neben der Visualisierung von Start- und Zielpunkten auf einer Karte<br />

auch die Darstellung ausgewählter Reisekennzahlen, die sich auf Routen in der Region beziehen.<br />

Dieses Dashboard stellt ein Beispiel dar, wie es insbesondere für Mobilitätsanbieter von<br />

Interesse ist. Ein lokaler Car-Sharing-Anbieter kann auf diese Weise so bspw. neue lukrative<br />

Stellplätze für seine Autos identifizieren.<br />

Clusteranalyse: Stellt das Reiseverhalten der einzelnen Endanwendercluster dar, die im Rahmen<br />

des Data Mining identifiziert wurden.<br />

Zusammenfassend lassen sich für Jinengo-Management, Mobilitätsanbieter und Wissenschaftler die<br />

folgenden Reporting-Inhalte definieren:<br />

<br />

<br />

<br />

<br />

<br />

Entwicklung der Anwenderzahlen und der Nutzung der Jinengo-Plattform über die Zeit<br />

Anteil der Verkehrsmittel an CO 2 -Ausstoß und Reiseaufkommen über die Zeit<br />

Entwicklung der Nachhaltigkeitsperformance der Endanwender über die Zeit<br />

Darstellung von Routen bezogen auf ihre Geokoordinaten<br />

Darstellung der Nachhaltigkeitsperformance bezogen auf Endanwendercluster<br />

24


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

5.1.3 Self-Service BI für das Jinengo-Management<br />

Um flexibel auf Veränderungen reagieren und eigene Analysen erstellen zu können, wird dem Management<br />

die Möglichkeit gegeben, Reports und Dashboards zu konfigurieren bzw. selbst zu erstellen.<br />

Dies verkürzt die Reaktionszeit, bevor Entscheidungen getroffen werden können. Auf der <strong>and</strong>eren<br />

Seite setzt dies jedoch auch ein Grundverständnis der Datenzusammenhänge voraus, um sinnvolle<br />

Schlüsse aus den Daten ziehen zu können. Eine vorherige Schulung ist daher von wichtiger Bedeutung.<br />

Dieses notwendige Wissen ist neben dem Datenschutz ein weiterer Grund, warum Mobilitätsanbietern<br />

und Wissenschaftlern der Zugang zum Self-Service BI zunächst versperrt bleibt.<br />

Self-Service BI ist für die Analyseanforderungen des Jinengo-Managements besonders wichtig. Die<br />

Zugriffsmöglichkeiten auf die Daten sollten daher so umfangreich wie möglich ausfallen. Die genauen<br />

Anforderungen werden im Folgenden, angelehnt an das Schema in Severith (2012, S. 19), definiert.<br />

Anforderungen an die Benutzerfreundlichkeit: Das Management interagiert, im Vergleich zu Endanwendern,<br />

mit einer umfangreicheren Datengrundlage. Die Anforderungen liegen weniger auf visueller<br />

Aufbereitung, sondern im schnellen Auffinden der richtigen Parameter. Die Priorität liegt stärker<br />

auf einem vollständigen Funktionsumfang, als auf der Benutzerfreundlichkeit. Dennoch dürfen die<br />

Aspekte Verständlichkeit, Ergonomie, Kontext und Struktur natürlich nicht vollständig außer Acht<br />

gelassen werden.<br />

Modifikation von Reports und Dashboards: Die zuvor beschriebenen Reports & Dashboards sehen<br />

neben den beschriebenen Interaktions- und Parametrisierungsmöglichkeiten keine weitere Modifikation<br />

vor. Eine nachträgliche Änderung der Reports & Dashboards lässt sich daher lediglich mit entsprechendem<br />

Know-How über die Entwicklungsumgebungen der eingesetzten BI-Tools erreichen.<br />

Ad-Hoc-Erstellung von Berichten und Dashboards: Jinengo-Manager können mithilfe der installierten<br />

BI-Tools Berichte und Dashboards auch selber erstellen. Dafür sollen sowohl vorkonfigurierte<br />

Datenquellen als auch die gesamte umfangreiche Datenbasis verwendet werden können. Das ermöglicht<br />

dem Management nicht nur die Anpassung der Dimensionen, sondern auch das Darstellen völlig<br />

individueller Kennzahlen. Darstellungsform und Exportformate sollen dabei möglichst frei wählbar<br />

sein.<br />

Integration privater, lokaler Daten: Das Management kann eigene Daten in die eigenen Reports und<br />

Dashboards importieren, dies wird allerdings nur in Excel unterstützt. Dementsprechend müssen die<br />

Inputdaten ein für Excel gängiges Format aufweisen.<br />

25


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

5.2 Data Mining<br />

Die Generierung neuen Wissens aus der vorh<strong>and</strong>enen Datenbasis ist zentrales Ziel des Projekts. Diese<br />

Aufgabe erfüllt das Data Mining. Es werden vier Data-Mining-Anwendungsfälle betrachtet: Eigenschaften<br />

Raten, Newsletter & Reporting, Ökologische Alternativen, sowie Warnung vor ungewöhnlichem<br />

Verhalten. Die Ergebnisse dieser Analyse, sollen das Wissen über den Endanwender vertiefen,<br />

Verhaltensmuster aufdecken und mögliche Potentiale für ein nachhaltigeres Verhalten aufdecken.<br />

5.2.1 Eigenschaften Raten<br />

Nicht jeder Endanwender gibt alle Informationen über sich preis. Der Endanwender könnte entweder<br />

vergessen, seine personenbezogenen Informationen im System zu hinterlegen oder entscheidet sich<br />

aus Gründen der Privatsphäre und des Datenschutzes dagegen. Analyseergebnisse werden mit der<br />

Menge an vorh<strong>and</strong>enem Wissen über den Nutzer besser bzw. schlechter, wenn zu viele Informationen<br />

fehlen. Während Jinengo mit mehr Informationen besser planen kann, ist es für den Endanwender<br />

ebenfalls vorteilhaft, wenn Jinengo viel über ihn weiß. Routen können besser auf die persönlichen<br />

Ansprüchen zugeschnitten werden und Angebote personalisiert werden. Trotzdem ist es weder möglich<br />

noch sinnvoll jede Information zu erzwingen. Data Mining bietet mithilfe von Ähnlichkeitsanalysen<br />

die Möglichkeit, Eigenschaften des Users zu schätzen. Anh<strong>and</strong> ähnlicher Personen, die ein gesuchtes<br />

Merkmal angegeben haben, kann das Merkmal für eine bestimmte Person mit einer gewissen<br />

Wahrscheinlichkeit prognostiziert werden und somit der fehlende Wert ergänzt werden.<br />

5.2.2 Newsletter & Reporting<br />

Um den Endanwender möglichst individualisiert ansprechen zu können und den Erfolg von bspw.<br />

Newsletterkampagnen zu erhöhen, werden die Endanwender in Gruppen mit ähnlichem Verhalten<br />

oder Interessen unterteilt. Neben der Personalisierung von Newslettern ist so auch ein verfeinertes<br />

internes Reporting möglich. Als Dimension können Cluster die Verhaltensstrukturen spezifischer Personengruppen<br />

aufdecken und verbesserte Maßnahmen durch das Management ermöglichen.<br />

Die Unterteilung in Gruppen erfolgt dabei auf zwei verschiedene Arten. Auf der einen Seite erfolgt<br />

eine Unterteilung gemäß der persönlichen Attribute der Endanwender. Auf diese Weise lassen sich<br />

ähnliche gesellschaftliche Gruppen identifizieren und direkt ansprechen. Auf der <strong>and</strong>eren Seite erfolgt<br />

die Unterteilung nach dem Verhalten der Endanwender. Auf diese Weise lassen sich bspw. Gruppen<br />

mit besonders hohem Interesse an nachhaltigen Produkten und Dienstleistungen identifizieren.<br />

26


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

5.2.3 Ökologische Alternativen Vorschlagen<br />

Ziel von Jinengo ist es, den Anwender zur Nutzung nachhaltigerer Verkehrsmittel zu bewegen. Auf<br />

Basis von Assoziationsregeln werden dem Endanwender Vorschläge zum Kauf bzw. zur Nutzung<br />

<strong>and</strong>erer Verkehrsmittel gemacht. Endanwender die bspw. regelmäßig mit dem Auto zur Arbeit fahren,<br />

für die aber auch der Zug eine Option wäre, können so identifiziert und gezielt angesprochen werden.<br />

Assoziationen werden für nachhaltige Verkehrsmittel hergestellt; als Input werden sowohl Bewegungsdaten<br />

als auch personenbezogene Daten verwendet. Wird ein Endanwender als potentieller K<strong>and</strong>idat<br />

für bspw. den Kauf eines E-Bikes eingeschätzt, kann dieser mit einer personalisierten Email<br />

gezielt angesprochen werden.<br />

5.2.4 Warnung vor ungewöhnlichem Verhalten<br />

Das Mobilitätsverhalten der Endanwender zu kennen und verstehen ist Kernbest<strong>and</strong>teil von Jinengo.<br />

Genauso wichtig ist es daher Endanwender zu identifizieren, die sich nicht wie erwartet verhalten.<br />

Diesen können dann entsprechende Alternativen vorgeschlagen werden. Diese Analyse basiert dabei<br />

nicht alleine auf den durch Jinengo gesammelten Daten, sondern auch auf Grundlage der Erkenntnisse<br />

des Data Mining.<br />

6. Kennzahlen<br />

Die im Rahmen von Jinengo relevanten Kennzahlen lassen sich in zwei Systeme einordnen. Die einen<br />

Kennzahlen geben Aufschluss über die Nutzung der Plattform an sich, die <strong>and</strong>eren beschreiben Mobilitätsverhalten.<br />

Aufgrund des Projektschwerpunkts liegt der Fokus auf den Mobilitätskennzahlen, es<br />

werden jedoch auch einige Nutzungskennzahlen definiert.<br />

Tabelle 6.1 gibt eine Übersicht über alle im Rahmen des Projekts definierten Kennzahlen. Die Beschreibung<br />

der Kennzahlen erfolgt – wie bereits in Severith (2012, S. 9-15) empfohlen – auf Basis der<br />

Steckbriefe nach Kütz (2011, S. 45-48). Diese Kennzahlensteckbriefe finden sich im Anhang b.<br />

27


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

System ID Bezeichnung<br />

J01 Anzahl aktiver Endanwender<br />

Jinengo-Nutzung J02 Anzahl registrierter Endanwender<br />

J03 Anteil aktiver Endanwender<br />

M01 Anzahl der Routen<br />

M02 Anzahl der Subrouten<br />

M03 Reisestrecke<br />

M04 Reisekosten<br />

M05 Reisekosten pro Kilometer<br />

Mobilitätsverhalten M06 Reisezeit<br />

M07 Nutzbare Reisezeit<br />

M08 Anteil nutzbarer Reisezeit<br />

M09 CO 2 -Emissionen<br />

M10 CO 2 -Emissionen pro Kilometer<br />

M11 Ausgeschöpftes CO 2 -Reduktionspotential<br />

Tabelle 6.1: Übersicht über die Kennzahlen<br />

Die Kennzahlen zur Jinengo-Nutzung sind primär für das Jinengo-Management von Relevanz. Aber<br />

auch Mobilitätsanbieter und Wissenschaftler können ein Interesse an diesen Daten haben. Endanwender<br />

hingegen haben lediglich ein eingeschränktes Interesse an den Daten und bekommen nur die für<br />

sie interessanten und relevanten Daten zu sehen. Dabei h<strong>and</strong>elt es sich zum einen um ihr eigenes Reiseverhalten,<br />

aber auch um dasjenige von Freunden und vom Jinengo-Durchschnitt. Da der Fokus des<br />

Projektes auf Nachhaltigkeitsaspekten liegt, wird nur eine Auswahl von drei entsprechenden Kennzahlen<br />

definiert. Denkbar ist jedoch, die Nutzung der operativen Jinengo-Plattform zu tracken und dabei<br />

auch eine Erweiterung um weitere interessante Nutzungskennzahlen vorzunehmen, z.B. Summe der<br />

Suchanfragen, Nutzungsdauer der Plattform.<br />

Die Kennzahlen zum Mobilitätsverhalten sind sowohl für Jinengo-Management, Mobilitätsanbieter,<br />

Wissenschaftler, als auch für Endanwender von Interesse. Die Granularität und Filterung der Daten ist<br />

dabei vom Adressaten abhängig. So bekommen Mobilitätsanbieter aus Gründen des Datenschutzes nur<br />

aggregierten Daten zu sehen. Endanwender bekommen lediglich ihre Daten zu sehen.<br />

28


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

7. Semantische Modellierung<br />

Die semantische Modellierung spiegelt die analytischen Anforderungen und die Kennzahlen aus den<br />

vorherigen Kapiteln wieder. Dabei werden hier sowohl Messgrößen, die aufgrund ihrer eher geringen<br />

Bedeutung nicht als Kennzahlen eingestuft werden, als auch dimensionale Attribute beschrieben.<br />

Aufgrund des agilen Vorgehens der <strong>Projektgruppe</strong> kann und soll an dieser Stelle noch keine endgültige<br />

Modellierung erfolgen. Stattdessen werden hier zunächst die wesentlichen Entitäten und Attribute<br />

als Gestaltungsvorschrift für das dimensionale Datenmodell definiert.<br />

Abbildung 7.1: Semantische ModellierungMessgrößen<br />

Während die zuvor beschriebenen Kennzahlen sich zum größten Teil aus summierenden Aggregationen<br />

(SUM) ergeben, sind für gewisse Anwendungsfälle unter Umständen auch <strong>and</strong>ere Aggregationsfunktionen<br />

von Relevanz 4 . Für die Messgrößen Reisestrecke, Reisekosten, Reisezeit, nutzbare Reisezeit<br />

& CO 2 -Emissionen sollen daher neben der Summe (SUM) stets folgende Aggregationsfunktionen<br />

unterstützt werden:<br />

MIN (für den niedrigsten Wert eines gegebenen Datenausschnitts)<br />

MAX (für den größten Wert eines Ausschnitts)<br />

AVG (für den Durchschnitt eines Ausschnitts)<br />

Mögliche Anwendung finden diese Aggregationen insbesondere in der Self-Service-BI, für die sie<br />

bereits entsprechend vorgehalten werden sollen.<br />

4 Aufgrund ihrer weniger starken Bedeutung werden sie nicht als Kennzahlen bezeichnet, der Vollständigkeit<br />

halber hier allerdings noch einmal exemplarisch genannt.<br />

29


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

7.2 Dimensionen<br />

Zur Darstellung der zuvor definierten Kennzahlen und weiteren Messgrößen dienen die folgenden<br />

Dimensionen:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Zeit: Zeitbezogene Analysen sind ein Kernbest<strong>and</strong>teil von BI-Anwendungen.<br />

Route: Reisedaten stehen bei Jinengo immer in Bezug zu einer Route somit und den spezifischen<br />

Reiseumständen.<br />

Raum: Mobilität zielt auf die Überwindung physischer Distanzen. Die Analyse, wie sich<br />

räumliche Aspekte auf Mobilitätsverhalten auswirken, ist daher von großem Interesse.<br />

Verkehrsmittel: Ein zentrales Element intermodaler Mobilität sind die verschiedenen Verkehrsmittel<br />

und deren spezifische Vor- und Nachteile. Eine Analyse bezogen auf einzelne<br />

Verkehrsmittel ist daher von besonderem Interesse.<br />

Endanwender: Mobilitätsverhalten ist nicht alleine durch Erreichung konkreter Ziele begründet.<br />

Vielmehr beeinflussen auch soziale und kulturelle Bedürfnisse die individuellen Mobilitätsgewohnheiten.<br />

Mobilitätsstudien berücksichtigen daher in der Regel auch den gesellschaftlichen<br />

Kontext der Prob<strong>and</strong>en (z.B. Hunecke 2008; InnoZ 2007). In Jinengo wird deshalb<br />

auch der Endanwender als Dimension vorgesehen. Dies ermöglicht zum einen die Analyse des<br />

Mobilitätsverhaltens einzelner Personen über einen Zeitraum hinweg. Zum <strong>and</strong>eren lässt sich<br />

so auch das Verhalten unterschiedlicher gesellschaftlicher Milieus analysieren. Zentrale Angaben<br />

sind daher insbesondere: Alter, Geschlecht, Bildungsgrad, Einkommen, Wohnort, Familienstatus<br />

sowie Angaben zu verfügbaren Verkehrsmitteln (Auto, Fahrrad, ÖPNV-<br />

Monatskarte, Carsharing-Kunde).<br />

Reisezweck: Nach Paech (2007) stellt nicht die ökologische Optimierung bestehender, Bedarfe,<br />

sondern stattdessen die Bedarfssubstitution die größte Chance im Rahmen einer nachhaltigen<br />

Entwicklung dar. Grundlage für die Substitution ist die Erkennung und Berücksichtigung<br />

des Bedarfes, hier: dem Reisezweck.<br />

30


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

8. Nichtfunktionale Anforderungen<br />

Folgende nichtfunktionale Anforderungen sollten bei der Auswahl von St<strong>and</strong>ardsoftware und bei der<br />

Entwicklung von Individualsoftware (Datengenerator, Reporting-API, Endanwender Reports) beachtet<br />

werden:<br />

Benutzerfreundlichkeit<br />

Da besonders die Endanwender nur über wenig Erfahrung im Umgang mit BI-Lösungen verfügen, gilt<br />

es das Webinterface so intuitiv wie möglich zu gestalten. Der Anwender sollte sich innerhalb kürzester<br />

Zeit zurechtfinden und durch die leichte H<strong>and</strong>habung zur intensiven Nutzung der Anwendung motiviert<br />

werden.<br />

Die Reports gilt es so zu gestalten, dass ihr Inhalt schnell erfasst und leicht in den Kontext eingeordnet<br />

werden kann. Hierzu trägt die Nutzung von Charts, Balken- und Kuchendiagrammen bei, die einen<br />

kompakten Überblick ermöglichen.<br />

Datensicherheit<br />

Das System beinhaltet sensible, personenbezogene Daten. Es muss sichergestellt werden, dass nur<br />

autorisierte Personen auf diese Daten Zugriff erhalten. Wenn Daten für die Weitergabe an Drittsysteme<br />

aufbereitet werden, müssen diese vorher anonymisiert werden.<br />

Bei der Darstellung von Endanwender Reports muss zudem garantiert werden, dass Nutzer nur ihre<br />

eigenen oder die Daten von autorisieren Freunden einsehen können.<br />

Wiederverwendbarkeit<br />

Das Projekt ist darauf ausgelegt exemplarische Anwendungsfälle für BI Projekte aufzuzeigen. Die<br />

Wiederverwendung und Erweiterung der entwickelten Lösungen ist daher gewünscht und sollte zu<br />

jedem Zeitpunkt Anwendungsentwicklung beachtet werden. Gefördert werden kann dies durch einen<br />

modularen Aufbau der einzelnen Softwarekomponenten und durch die Verwendung von St<strong>and</strong>ards<br />

und Frameworks die eine Integrierbarkeit einzelner Komponenten in neue Systeme erleichtern.<br />

Skalierbarkeit<br />

Das Projekt muss sich leicht an neue Anforderungen anpassen lassen. Sowohl die Datenbank, als auch<br />

die verwendeten Softwarekomponenten sollten dabei auf den Einsatz im Enterprise Umfeld ausgelegt<br />

sein und auch bei steigender Intensität der Nutzung stabil und zuverlässig arbeiten. Ein Modularer<br />

Aufbau einzelner Komponenten soll zudem die Erweiterbarkeit fördern und Abhängigkeiten reduzieren.<br />

31


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

9. Literaturverzeichnis<br />

Deutscher Bundestag (1998): Konzept Nachhaltigkeit - Vom Leitbild zur Umsetzung. Abschlussbericht<br />

der Enquete-Kommission „Schutz des Menschen und der Umwelt“ des 13. Deutschen Bundestages.<br />

Bonn.<br />

Helmke, S. & Uebel, M. & Dangelmaier, W. (2003): Effektives Customer Relationship Management.<br />

Instrumente - Einführungskonzepte - Organisation. Wiesbaden: Gabler.<br />

Hunecke, M. (2008): MOBILANZ. Möglichkeiten zur Reduzierung des Energieverbrauchs und der<br />

Stoffströme unterschiedlicher Mobilitätsstile durch zielgruppenspezifische Mobilitätsdienstleistungen.<br />

Endbericht. University of Bochum, University of Lüneburg, Wuppertal Institut.<br />

InnoZ (2007): DB Mobility. Beschreibung und Positionierung eines multimodalen Verkehrsdienstleisters.<br />

URL: http://www.innoz.de/fileadmin/INNOZ/pdf/Bausteine/innozbaustein-01.pdf, (Zugriff am:<br />

17.09.2012).<br />

Kütz, M. (2011): Kennzahlen in der IT. Werkzeuge für Controlling und Management. 4. Aufl.,<br />

Heidelberg: DPunkt Verlag.<br />

Multicity o.J.: Multicity Citroen. URL: http://www.multicity.citroen.de, (Zugriff am: 22.03.2013).<br />

Paech, N. (2007): Unternehmerische Nachhaltigkeit und die ungelöste Wachstumsfrage. Von der<br />

Funktionsorientierung zur Bedarfssubstitution. UmweltWirtschaftsForum Jg. 15, Nr. 2, 8-91.<br />

Severith 2012: Anforderungsanalyse und Konzeptarbeit in BI-Projekten. Hausarbeit im Rahmen der<br />

<strong>Projektgruppe</strong> „<strong>Business</strong> <strong>Intelligence</strong>“ (CubeRunner). Abteilung Wirtschaftsinformatik 1: Very Large<br />

<strong>Business</strong> <strong>Applications</strong>.<br />

United Nations (1987): Report of the World Commission on Environment <strong>and</strong> Development: Our<br />

Common Future.<br />

Urban, M. (2012): Reports vs. Dashboards What’s the Difference. URL:<br />

http://www.gooddata.com/blog/reports-vs-dashboards-whats-the-difference. (Zugriff am: 22.03.2013).<br />

Wagner vom Berg, B. & Stamer, D. (2012): Sustainability CRM. A casestudy in the mobility sector.<br />

In: Ghoneim, A. & Klischewski, R. & Schrödl, H. & Kamal, M. (2012): Proceedings of the European,<br />

Mediterranean & Middle Eastern Conference on Information Systems 2012, München.<br />

32


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Wagner vom Berg, B. & Stamer, D. & Marx Gómez, J. (2012): Förderung nachhaltiger Mobilität<br />

durch den Einsatz eines Sustainability CRM. In: Wolgemuth, V. & Lang, C.V. & Marx Gómez, J.<br />

(Hrsg.) Konzepte, Anwendungen und Entwicklungstendenzen von betrieblichen Umweltinformationssystemen.<br />

Aachen: Shaker Verlag.<br />

33


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

Anhang<br />

A. Projektmanagement<br />

Abbildung A.1: GANTT-Diagramm des Projektablaufs (eigene Abbildung)<br />

34


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

B. Kennzahlensteckbriefe<br />

ID: J01<br />

Anzahl aktiver Endanwender<br />

Bedeutung Kennzahlensystem Jinengo-Nutzung<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Anzahl der Endanwender, die Jinengo in der betrachteten<br />

Zeitperiode für die Planung einer Reise genutzt haben.<br />

- Zeit<br />

- Raum (Startort sowie Zielort)<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viele Endanwender haben Jinengo im April 2012 für<br />

Reiseplanungen genutzt? Wie viele Endanwender fuhren<br />

im April 2012 mit dem Zug?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Relevant für das Management<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Nicht relevant<br />

Tabelle B.1: Kennzahlensteckbrief J01<br />

ID: J02<br />

Anzahl registrierter Endanwender<br />

Bedeutung Kennzahlensystem Jinengo-Nutzung<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Anzahl der Endanwender, die bei Jinengo registriert sind.<br />

Vormals registrierte aber mittlerweile gelöschte Anwender<br />

fallen aus der Betrachtung heraus.<br />

- Zeit<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viele Endanwender waren im April 2012 bei Jinengo<br />

registriert?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Relevant für das Management<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Nicht relevant<br />

Tabelle B.2: Kennzahlensteckbrief J02<br />

35


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

ID: J03<br />

Anteil aktiver Endanwender<br />

Bedeutung Kennzahlensystem Jinengo-Nutzung<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Prozentualer Anteil der aktiven an den registrierten Endanwendern<br />

in einer betrachteten Zeitperiode.<br />

- Zeit<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viel Prozent der registrierten Endanwender haben<br />

Jinengo im April 2012 für Reiseplanungen genutzt?<br />

Anwendung Reports & Dashboards Relevant für das Management<br />

Self-Service-BI Relevant<br />

Data Mining<br />

Nicht relevant<br />

Tabelle B.3: Kennzahlensteckbrief J03<br />

ID: M01<br />

Anzahl der Routen<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Anzahl der mit Jinengo geplanten Routen.<br />

- Zeit<br />

- Raum (Startort sowie Zielort)<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Für wie viele Routen wurde im April 2012 Jinengo für die<br />

Planung genutzt? Wie viele Routen im April 2012 wurden<br />

(zum Teil) mit dem E-Bike zurückgelegt?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Relevant für alle Stakeholder<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Relevant<br />

Tabelle B.4: Kennzahlensteckbrief M01<br />

36


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

ID: M02<br />

Anzahl der Subrouten<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Anzahl der Subrouten, aus denen sich eine gegebene<br />

Menge von Routen zusammensetzt.<br />

- Zeit<br />

- Raum (Startort sowie Zielort)<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Aus wie vielen Subrouten setzten sich die Routen im April<br />

2012 zusammen? Wie viele Subrouten wurden 2012<br />

mit dem E-Bike zurückgelegt?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Für Management, Wissenschaftler & Mobilitätsanbieter<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Relevant<br />

Tabelle B.5: Kennzahlensteckbrief M02<br />

ID: M03<br />

Reisestrecke<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Summierte Reisestrecke in Kilometern.<br />

- Zeit<br />

- Raum (Startort sowie Zielort)<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viele Kilometer wurden im April 2012 unter Zuhilfenahme<br />

von Jinengo zurückgelegt? Wie viele Kilometer<br />

wurden 2012 mit dem Elektroauto zurückgelegt?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Relevant<br />

Tabelle B.6: Kennzahlensteckbrief M03<br />

37


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

ID: M04<br />

Reisekosten<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Summierte Reisekosten in EUR.<br />

- Zeit<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viel Geld gaben Endanwender im April 2012 insgesamt<br />

für ihr Reiseverhalten aus? Wie viel Geld steckten<br />

Endanwender 2012 insgesamt in Autoreisen?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Nicht relevant<br />

Tabelle B.7: Kennzahlensteckbrief M04<br />

ID: M05<br />

Reisekosten pro Kilometer<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Reisekosten in EUR je zurückgelegten Kilometer.<br />

- Zeit<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viel Geld gaben Endanwender im April je Kilometer<br />

für ihr Reiseverhalten aus? Wie viel Geld gaben Endanwender<br />

2012 bei Autoreisen je Kilometer aus?<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI Relevant<br />

Data Mining<br />

Nicht relevant<br />

Tabelle B.8: Kennzahlensteckbrief M05<br />

38


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

ID: M06<br />

Reisezeit<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Summierte Reisezeit in Minuten (inklusive Umstiegs- und<br />

Wartezeit).<br />

- Zeit<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viel Zeit wurde im April 2012 für Reiseaktivitäten<br />

aufgebracht? Wie viel Zeit wurde 2012 auf dem E-Bike<br />

verbracht?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Relevant<br />

Tabelle B.9: Kennzahlensteckbrief M06<br />

ID: M07<br />

Nutzbare Reisezeit<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Summierte nutzbare Reisezeit in Minuten.<br />

Nutzbar ist die Reisezeit lediglich in ausgewählten Verkehrsträgern.<br />

Zeit auf dem Fahrrad oder im Auto ist generell<br />

nicht nutzbar. Auch der öffentliche Nahverkehr wird<br />

aufgrund des beschränkten Platzangebots nicht positiv<br />

bewertet. Lediglich im Fernverkehr (Bahn) ist die Zeit<br />

nutzbar (potentiell auch im Flugzeug, was bislang nicht<br />

berücksichtigt wird). Umstiegs- und Wartezeiten sind<br />

generell nicht nutzbar.<br />

- Zeit<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viel Zeit war im April 2012 bei Reiseaktivitäten aktiv<br />

nutzbar?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Relevant<br />

Tabelle B.10: Kennzahlensteckbrief M07<br />

39


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

ID: M08<br />

Anteil nutzbarer Reisezeit<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Prozentualer Anteil der nutzbaren Reisezeit.<br />

- Zeit<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie groß war der Anteil der nutzbaren Reisezeit bei Reiseaktivitäten<br />

im April 2012?<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI Relevant<br />

Data Mining<br />

Nicht relevant<br />

Tabelle B.11: Kennzahlensteckbrief M08<br />

ID: M09<br />

CO 2 -Emissionen<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Summierte Umweltwirkung in CO 2 (-Äquivalenten).<br />

- Zeit<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viel CO 2 -Emissionen wurden im April 2012 bei Reiseaktivitäten<br />

emittiert?<br />

Kennzahl ist eine Messgröße (SUM-Aggregation)<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI<br />

Data Mining<br />

Relevant<br />

Relevant<br />

Tabelle B.12: Kennzahlensteckbrief M09<br />

40


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Fachkonzept<br />

ID: M10<br />

CO 2 -Emissionen pro Kilometer<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Umweltwirkung in CO 2 (-Äquivalenten) je Kilometer.<br />

- Zeit<br />

- Verkehrsmittel<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Wie viele CO 2 -Emissionen fielen bei Autoreisen in 2012<br />

pro Kilometer an?<br />

Anwendung Reports & Dashboards Für alle Stakeholder relevant<br />

Self-Service-BI Relevant<br />

Data Mining<br />

Relevant<br />

Tabelle B.13: Kennzahlensteckbrief M10<br />

ID: M11<br />

Ausgeschöpftes CO 2 -Reduktionspotential<br />

Bedeutung Kennzahlensystem Mobilitätsverhalten<br />

Beschreibung<br />

Dimensionen<br />

Exemplarische<br />

Analysefragen<br />

Ausgeschöpftes prozentuales CO 2 -Reduktionspotential.<br />

Dabei werden die tatsächlich getroffenen Routenentscheidungen<br />

der Endanwender in Relation zu den von Jinengo<br />

vorgeschlagenen Reisealternativen gesetzt. Berücksichtigt<br />

werden dabei jeweils die Alternativroute mit den niedrigsten<br />

(minCO2) sowie die mit den höchsten CO 2 -Emissionen<br />

(maxCO2).<br />

- Zeit<br />

- Endanwenderattribute<br />

- Reisezweck<br />

Berechnung Datenquellen Data Warehouse<br />

Berechnung<br />

Zu wie viel Prozent schöpften Endanwender ihr CO 2 -<br />

Reduktionspotential im Jahr 2012 aus?<br />

Anwendung Reports & Dashboards Relevant für Endanwender (und Management)<br />

Self-Service-BI Relevant<br />

Data Mining<br />

Nicht relevant<br />

Tabelle B.14: Kennzahlensteckbrief M11<br />

41


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

42


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: Jinengo<br />

DV-Konzept<br />

43


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

44


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Inhaltsverzeichnis Jinengo DV-Konzept<br />

Abbildungsverzeichnis ............................................................................................................. 46<br />

Tabellenverzeichnis .................................................................................................................. 47<br />

1. Einleitung .......................................................................................................................... 48<br />

2. Ist-Zust<strong>and</strong> ........................................................................................................................ 49<br />

2.1 Entwicklungsst<strong>and</strong> von Jinengo ................................................................................... 49<br />

2.2 Software- & Hardwarearchitektur ................................................................................ 50<br />

2.3 Daten............................................................................................................................. 50<br />

3. Soll-Zust<strong>and</strong> ...................................................................................................................... 51<br />

3.1 BI-Systemarchitektur & Softwaretechnologien ........................................................... 51<br />

3.2 Datenmodellierung ....................................................................................................... 54<br />

3.2.1 Operative Datenbank ......................................................................................... 54<br />

3.2.2 Relationales Data Warehouse ............................................................................ 57<br />

3.2.3 Multidimensionales Data Warehouse ................................................................ 61<br />

3.3 Datenflüsse ................................................................................................................... 65<br />

3.3.1 Prozess zur Füllung der operativen Datenbank mit generierten Daten ............. 65<br />

3.3.2 ETL-Prozess zur Füllung des relationalen Data Warehouse ............................. 66<br />

3.3.3 Aggregation von Daten im Data Warehouse ..................................................... 68<br />

3.4 Data Mining .................................................................................................................. 68<br />

3.4.1 Klassifizierung ................................................................................................... 69<br />

3.4.2 Clustering........................................................................................................... 70<br />

3.4.3 Assoziation ........................................................................................................ 71<br />

3.4.4 Warnen vor „ungewöhnlichem“ Verhalten ....................................................... 72<br />

3.5 Reports & Dashboards .................................................................................................. 74<br />

3.5.1 Reporting für Endanwender............................................................................... 74<br />

3.5.2 Reporting für Management, Wissenschaftler & Mobilitätsanbieter .................. 78<br />

3.5.3 Self-Service BI für Management, Wissenschaftler & Mobilitätsanbieter ......... 86<br />

4. Realisierung ...................................................................................................................... 90<br />

4.1 Datengenerator ............................................................................................................. 90<br />

4.1.1 Stammdaten ....................................................................................................... 91<br />

4.2 Reporting-API (Webservice) ........................................................................................ 97<br />

4.3 Reporting-Frontend für Endanwender ........................................................................ 102<br />

4.4 Programmierrichtlinien............................................................................................... 105<br />

5. Literaturverzeichnis ........................................................................................................ 106<br />

Anhang ................................................................................................................................... 107<br />

A.<br />

B.<br />

Tabellen der operativen Datenbank ................................................................................ 107<br />

Tabellen des Data Warehouse ......................................................................................... 111<br />

45


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Abbildungsverzeichnis<br />

Abbildung 2.1: Jinengo-Systemarchitektur .............................................................................. 50<br />

Abbildung 2.2: Bisheriges Datenmodell von Jinengo .............................................................. 51<br />

Abbildung 3.1: BI-Systemarchitektur ...................................................................................... 51<br />

Abbildung 3.2: Datenmodell der operativen Datenbank .......................................................... 56<br />

Abbildung 3.3: Datenmodell des Data Warehouse .................................................................. 59<br />

Abbildung 3.4: Datenmodell des aggregierten Data Warehouse ............................................. 60<br />

Abbildung 3.5: Semantische Modellierung des Subroute-Cube .............................................. 64<br />

Abbildung 3.6: Entscheidungsbaum UseCase OwnsEbike ...................................................... 73<br />

Abbildung 3.7: Mockup des Dashboards „Endanwender-Kennzahlen über die Zeit“ ............. 75<br />

Abbildung 3.8: Mockup des Dashboards „Endanwender-Kennzahlen nach<br />

Verkehrsmittel“ ........................................................................................................................ 76<br />

Abbildung 3.9: Mockup des Dashboards „CO 2 -Einsparpotential des Anwenders“ ................. 77<br />

Abbildung 3.10: Mockup des Dashboards „Jinengo-Überblick“ ............................................. 79<br />

Abbildung 3.11: Mockup des Dashboards "Clusteranalyse" ................................................... 80<br />

Abbildung 3.12: Mockup des Dashboards "Orte in Oldenburg" ............................................. 81<br />

Abbildung 3.13: Mockup des Reports „Nutzung der Plattform“ ............................................. 82<br />

Abbildung 3.14: Mockup des Reports „Reisekennzahlen nach Zeit & Verkehrsmittel“ ......... 83<br />

Abbildung 3.15: Mockup des Reports „Reisekennzahlen nach Zeit & Präferenz“ ................. 84<br />

Abbildung 3.16: Mockup des QlikView-Dashboards zur Plattformnutzung ........................... 85<br />

Abbildung 3.17: Mockup zur Self-Service-BI-Lösung für allgemeine<br />

Plattforminformationen ............................................................................................................ 87<br />

Abbildung 3.18: Mockup zur Self-Service BI-Lösung für detaillierte<br />

Plattforminformationen ............................................................................................................ 88<br />

Abbildung 3.19: Mockup zur Self-Service BI-Lösung für detaillierte<br />

Nachhaltigkeitsinformationen .................................................................................................. 89<br />

Abbildung 4.1: Sequenzdiagramm des Datengenerators ......................................................... 97<br />

Abbildung 4.2: Sequenzdiagramm Reporting-API .................................................................. 99<br />

Abbildung 4.3: Sequenzdiagramm Reporting-Frontend ........................................................ 103<br />

46


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Tabellenverzeichnis<br />

Tabelle 3.1: Systembest<strong>and</strong>teile, ihre Funktion & eingesetzte Technologien ......................... 52<br />

Tabelle 3.2: Verdichtungsebenen der aggregierten Tabellen im Data Warehouse .................. 58<br />

Tabelle 3.3: Kennzahlen und Messgrößen des Subroute-Cubes .............................................. 62<br />

Tabelle 3.4: Beschreibung der Schritte des ETL-Prozess ........................................................ 68<br />

Tabelle 3.5: Zuordnung der Data-Mining-Methoden zu den Anwendungsfällen .................... 69<br />

Tabelle 3.6: Charakteristika des Dashboards „Endanwender-Kennzahlen über die Zeit“ ....... 75<br />

Tabelle 3.7: Charakteristika des Dashboards „Endanwender nach Verkehrsmittel“ ............... 77<br />

Tabelle 3.8: Charakteristika des Dashboards „CO 2 -Einsparpotential des Anwenders“ ........... 78<br />

Tabelle 3.9: Charakteristika des Dashboards „Jinengo-Überblick“ ......................................... 79<br />

Tabelle 3.10: Charakteristika des Dashboards „Clusteranalyse“ ............................................. 80<br />

Tabelle 3.11: Charakteristika des Reports „Orte in Oldenburg“ .............................................. 81<br />

Tabelle 3.12: Charakteristika des Reports „Nutzung der Plattform“ ....................................... 82<br />

Tabelle 3.13: Charakteristika des Reports „Reisekennzahlen nach Zeit & Verkehrsmittel“ ... 83<br />

Tabelle 3.14: Charakteristika des Reports „Reisekennzahlen nach Zeit & Präferenz“ ........... 84<br />

Tabelle 3.15: Charakteristika des Dashboards „Plattformnutzung“......................................... 85<br />

Tabelle 3.16: Charakteristika zur Self-Service-BI-Lösung für allgemeine<br />

Plattforminformationen ............................................................................................................ 87<br />

Tabelle 3.17: Charakteristika zur Self-Service-BI-Lösung für detaillierte<br />

Plattforminformationen ............................................................................................................ 88<br />

Tabelle 3.18: Charakteristika zur Self-Service-BI-Lösung für detaillierte<br />

Nachhaltigkeitsinformationen .................................................................................................. 89<br />

Tabelle 4.1: Im Datengenerator unterschiedene Datenarten .................................................... 90<br />

Tabelle 4.2: Erläuterung der Attribut-Abhängigkeiten ............................................................ 92<br />

Tabelle 4.3: Zuordnung der Arbeitspakete zu den Programmkomponenten ........................... 93<br />

Tabelle 4.4: Erläuterung der Berechnung für die Routeneigenschaften .................................. 95<br />

Tabelle 4.5: Allgemeine Schnittstellenspezifikation Webservice .......................................... 100<br />

Tabelle 4.6: Nutzerspezifische Schnittstellenspezifikation Webservice ................................ 101<br />

Tabelle 4.7: Entwicklungsinfrastruktur .................................................................................. 101<br />

Tabelle 4.8: Programmierrichtlinien ...................................................................................... 105<br />

Tabelle A.1: Entität JinengoUser der operativen Datenbank ................................................. 107<br />

Tabelle A.2: Entität Route der operativen Datenbank ........................................................... 108<br />

Tabelle A.3: Entität Suboute der operativen Datenbank ........................................................ 109<br />

Tabelle A.4: Entität Preferences der operativen Datenbank .................................................. 110<br />

Tabelle A.5: Entität Transportation der operativen Datenbank ............................................. 110<br />

Tabelle B.1: Entität UserHistoric des Data Warehouse ......................................................... 112<br />

Tabelle B.2: Entität JinengoUser des Data Warehouse .......................................................... 112<br />

Tabelle B.3: Entität AggrUserFigure des Data Warehouse ................................................... 114<br />

Tabelle B.4: Entität AggrUserFigurePerTransportation des Data Warehouse....................... 115<br />

Tabelle B.5: Entität AggrPlatformFigure des Data Warehouse ............................................. 116<br />

47


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

1. Einleitung<br />

Die Mobilitätsplattform Jinengo bietet Endanwendern die Möglichkeit, Reiserouten unter Einbeziehung<br />

verschiedener Verkehrsträgern und Beachtung ökologischer Aspekte zu planen. Jinengo ist damit<br />

eine nachhaltigkeitsorientierte Anwendung eines Customer Relationship Managements (CRM). Das<br />

System wurde im Rahmen einer <strong>Projektgruppe</strong> der Wirtschaftsinformatik an der Carl von Ossietzky<br />

Universität Oldenburg entwickelt. Die Softwarearchitektur besteht aus einem CRM, das als Datenbasis<br />

einen Microsoft SQL Server 2008 nutzt, sowie der eigentlichen Anwendung in Java und .net, die dem<br />

Anwender die Nutzung der Software über Webtechnologien ermöglicht.<br />

Aufgabe der <strong>Projektgruppe</strong> ist die Erweiterung des bestehenden operativen Systems um Elemente der<br />

<strong>Business</strong> <strong>Intelligence</strong>. Dabei werden die folgenden Ziele verfolgt.<br />

Analyse des Mobilitätsverhaltens: Jinengo zielt auf die Beeinflussung des Mobilitätsverhaltens der<br />

Anwender. Allerdings erfordert die Veränderung des eigenen Verhaltens auch eine Hinterfragung und<br />

Anpassung eigener gewohnter Entscheidungen (Routinen) und Vorlieben. Hinter dem bisherigen Mobilitätsverhalten<br />

eines Anwenders stecken jedoch verschiedene individuelle Gründe, die es zunächst zu<br />

verstehen und zu berücksichtigen gilt. Mit den Methoden der <strong>Business</strong> <strong>Intelligence</strong> sollen Muster im<br />

Mobilitätsverhalten der Anwender entdeckt werden. Angestrebt wird ein größtmögliches Verständnis,<br />

warum sich Anwender für eine entsprechende Routenalternative entschieden haben.<br />

Darstellung des Mobilitätsverhaltens: Die Visualisierung des Mobilitätsverhaltens der Anwender<br />

dient der Bewusstseinsbildung zu Nachhaltigkeitsaspekten des eigenen Reiseverhaltens. Die Darstellung<br />

von Mobilitätsverhalten ist des Weiteren für das Jinengo-Management zur Bewertung der Attraktivität<br />

von Jinengo von Interesse. Zudem haben auch Dritte, wie beispielsweise Wissenschaftler und<br />

Mobilitätsanbieter ein Interesse an entsprechend aufbereiteten Daten.<br />

Verbesserung von Jinengo: Die Analyse vergangener Reisedaten ermöglicht die Erkennung von<br />

Ähnlichkeiten und Mustern und damit die Generierung neuen Wissens. Die Speisung von analytisch<br />

gewonnenem Wissen in die operativen Prozesse realisiert den sogenannten Closed-Loop des CRM.<br />

Auf diese Weise lassen sich neue Erkenntnisse über das Reiseverhalten generieren und die operativen<br />

Prozesse von Jinengo dementsprechend verbessern. Dadurch verbessert sich die Leistungsfähigkeit<br />

von Jinengo, zielgruppengerechte Mobilitätsalternativen vorschlagen zu können.<br />

48


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

2. Ist-Zust<strong>and</strong><br />

2.1 Entwicklungsst<strong>and</strong> von Jinengo<br />

Jinengo wurde im Rahmen einer <strong>Projektgruppe</strong> der Wirtschaftsinformatik an der Carl von Ossietzky<br />

Universität Oldenburg entwickelt. Die Softwarearchitektur besteht aus einem CRM, das als Datenbasis<br />

einen Microsoft SQL Server 2008 nutzt, sowie der eigentlichen Anwendung in Java und .net, die dem<br />

Anwender die Nutzung der Software über Webtechnologien ermöglicht.<br />

Die Mobilitätsanwendung Jinengo ist grundsätzlich funktionstüchtig. Endanwender können sich mithilfe<br />

unterschiedlicher Endgeräte am System anmelden und erhalten Routenvorschläge für angefragte<br />

Reiseziele. Die ausgewählten Routen werden in einer Datenbank auf dem Microsoft SQL Server 2008<br />

abgespeichert. Diese Datenbank enthält zudem die persönlichen Daten aller registrierten Endanwender.<br />

Eine Verwendung der Daten im Sinne der <strong>Business</strong> <strong>Intelligence</strong> findet bislang allerdings nicht<br />

statt. Eine Erweiterung um entsprechende Funktionen ist daher Ziel dieser <strong>Projektgruppe</strong>.<br />

Die bestehende Realisierung von Jinengo lässt bislang jedoch einige wesentliche Funktionen vermissen,<br />

die aus Sicht der Anwendung von <strong>Business</strong> <strong>Intelligence</strong> sinnvoll sind. Dazu gehören bspw. persönliche<br />

Attribute wie Alter, Geschlecht und die Angabe, welche Verkehrsmittel einem Endanwender<br />

zur Verfügung stehen. Neben einem Testbetrieb f<strong>and</strong> zudem bislang noch kein operativer Betrieb des<br />

Systems statt. Die Datenbasis ist daher bezüglich Quantität sowie Qualität nicht ausreichend. Für das<br />

Projekt stellt sich daher die Herausforderung, Methoden der <strong>Business</strong> <strong>Intelligence</strong> bei Jinengo anzuwenden,<br />

ohne sich zu sehr durch den noch nicht vollständig ausreichenden Entwicklungsst<strong>and</strong> von<br />

Jinengo behindern zu lassen 5 .<br />

Die derzeitige Systemarchitektur ist zudem nicht besonders stabil und auf verschiedene manuelle Eingriffe<br />

angewiesen. Die Lizenz des verwendeten CRM-Systems von Microsoft in der Cloud muss regelmäßig<br />

manuell verlängert werden und die eingebundenen universitären Server fallen gelegentlich<br />

aus und müssen dann manuell neugestartet werden. Zudem ist die Vertragszeit der Domain<br />

www.jinengo.com mittlerweile ausgelaufen.<br />

Die funktionale Weiterentwicklung von Jinengo im Zuge des „Schaufensters Elektromobilität“ steht in<br />

Aussicht. Für die durch die <strong>Projektgruppe</strong> zu implementierenden BI-Anwendungen stellt sich daher<br />

die Anforderung einer flexiblen Einbindung in ein sich dynamisch veränderndes System.<br />

5 Eine funktionale Weiterentwicklung des operativen Jinengo-Systems ist nicht Aufgabe der <strong>Projektgruppe</strong>.<br />

49


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

2.2 Software- & Hardwarearchitektur<br />

Jinengo basiert auf der in Abbildung 2.1 dargestellten Systemarchitektur. Ein Java-Programm dient als<br />

eigentlicher Anwendungskern. Darauf setzt ein .NET-Framework für die Entwicklung der Frontends<br />

auf. Über dieses Framework lässt sich Jinengo mithilfe von Webtechnologien für beliebige Endgeräte<br />

verfügbar machen. Die Datenhaltung für die Java-Anwendung erfolgt über ein Microsoft Dynamics<br />

CRM, welches eine relationale Datenbank des Microsoft SQL Server 2008 als Grundlage nutzt. Die<br />

Synchronisation von CRM und relationaler Datenbank erfolgt über manuell angestoßene Prozeduren.<br />

Abbildung 2.1: Jinengo-Systemarchitektur<br />

Die SQL-Datenbank, das Java-Programm sowie das .NET-Framework liegen auf verschiedenen universitären<br />

Servern der VLBA. Das CRM ist in der Microsoft-Cloud gehostet.<br />

2.3 Daten<br />

Bislang f<strong>and</strong> noch kein operativer Betrieb der Jinengo-Plattform statt. Die bestehende Datenbasis<br />

speist sich daher bislang ausschließlich aus Daten, die im Testbetrieb nach und nach angefallen sind.<br />

Die Menge der Daten in der relationalen Datenbank kann daher als quantitativ nicht ausreichend für<br />

die Anwendung von <strong>Business</strong> <strong>Intelligence</strong> bezeichnet werden. Auch qualitativ genügt das bestehende<br />

Datenmodell noch nicht den Ansprüchen der <strong>Business</strong> <strong>Intelligence</strong>. So verfügt das Datenmodell (siehe<br />

Abbildung 2.2) bislang noch nicht über die notwendige Komplexität, um für BI-Anwendungen sinnvoll<br />

geeignet zu sein. Aufgabe des Projektes ist es daher auch, ein für die analytischen Anforderungen<br />

erweitertes Datenmodell zu definieren und die fehlenden Daten zu generieren.<br />

50


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Quelle: Huang (2011), S.143<br />

Abbildung 2.2: Bisheriges Datenmodell von Jinengo<br />

3. Soll-Zust<strong>and</strong><br />

3.1 BI-Systemarchitektur & Softwaretechnologien<br />

Abbildung 3.1: BI-Systemarchitektur<br />

Die zukünftige Systemarchitektur wird in Abbildung 3.1 dargestellt. Die einzelnen Best<strong>and</strong>teile der<br />

BI-Systemarchitektur erfüllen die in Tabelle 3.1 aufgeführten Funktionen.<br />

51


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Best<strong>and</strong>teil Funktion Technologien<br />

Datengenerator<br />

Operative<br />

Datenbank<br />

Data<br />

Warehouse<br />

ETL-<br />

Prozess<br />

Data<br />

Mining<br />

Reporting<br />

Self-<br />

Service BI<br />

Web-<br />

Reporting<br />

Web-API<br />

Die Daten des operativen Systems werden hier generiert und<br />

damit die bislang fehlende Endanwenderaktivität von Jinengo<br />

simuliert.<br />

Die relationale Datenbank speichert die vom Datengenerator<br />

(bzw. dem Endanwender) generierten Stamm- und Bewegungsdaten.<br />

Im Data Warehouse werden die Daten aus der operativen<br />

Datenbank für analytische Zwecke abgelegt. Die Datenstruktur<br />

ist an die spezifischen analytischen Anforderungen angepasst.<br />

Insbesondere findet hier eine Historisierung der Daten<br />

statt.<br />

Der ETL-Prozess zwischen operativer Datenbank und Data<br />

Warehouse sorgt für den kontinuierlichen Datenstrom zwischen<br />

den beiden Datenbanken.<br />

Das Data Mining analysiert die Daten im Data Warehouse<br />

und speist gewonnene Erkenntnisse in das Data Wareouse.<br />

Zielgruppengerechte Dashboards und Reports ermöglichen<br />

dem Jinengo-Management, Wissenschaftlern und Mobilitätsanbietern<br />

eine individuelle Datenanalyse.<br />

Self-Service BI ermöglicht insbesondere dem Jinengo-<br />

Management eine detaillierte und individuelle Sicht auf die<br />

analytischen Daten.<br />

Endanwender von Jinengo bekommen die Möglichkeit, ihr<br />

eigenes Reiseverhalten durch verschiedene Web-Dashboards<br />

zu analysieren.<br />

Die Web-API dient als Schnittstelle zwischen Web-<br />

Anwendungen (Web-Reporting) und dem Data-Warehouse.<br />

Java, TSQL<br />

Microsoft SQL Server<br />

2012 Database<br />

Microsoft SQL Server<br />

2012 Database<br />

SQL Server Analysis<br />

Services 2012 (SSAS)<br />

SQL Server Integration<br />

Services 2012<br />

(SSIS)<br />

IBM SPSS Modeler<br />

15.0<br />

SQL Server Reporting<br />

Services (SSRS)<br />

QlickView 11<br />

Microsoft Excel 2012<br />

Java, HTML, CSS,<br />

JavaScript,<br />

Java, JSON<br />

Tabelle 3.1: Systembest<strong>and</strong>teile, ihre Funktion & eingesetzte Technologien<br />

Um die Anschlussfähigkeit an die bisherige Jinengo-Infrastruktur zu gewährleisten, wird – analog zu<br />

der operativen Anwendung – auch für die <strong>Business</strong> <strong>Intelligence</strong> als technische Grundlage ein Microsoft<br />

SQL-Server genutzt. Dabei wird jedoch statt wie bisher der 2008er-Version nun die 2012er-<br />

Version verwendet. Der SQL Server 2012 wurde von den Betreuern der <strong>Projektgruppe</strong>, als zu verwendende<br />

Technologie, festgelegt.<br />

Neben der eigentlichen relationalen Datenbankanwendung kommen die SQL Server Analysis Services<br />

(SSAS) für OLAP, die SQL Server Integration Services (SSIS) für ETL, die SQL Server Reporting<br />

Services (SSRS) sowie Microsoft Excel für das Reporting zum Einsatz. Für das Reporting mit dem<br />

SQL Server 2012 ist zwar SharePoint aufgrund von Nutzungskomfort und Design das zu bevorzugende<br />

Tool, in dem Fall der <strong>Projektgruppe</strong> allerdings aufgrund der Systemarchitektur keine Option gewesen.<br />

Reporting mit dem SharePoint setzt voraus, dass SharePoint und Reporting Services auf demselben<br />

Server installiert sind. Dies ist durch die Cloud-Lösung des SharePoints in der <strong>Projektgruppe</strong> allerdings<br />

nicht möglich.<br />

52


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Neben den Microsoft-Produkten kommen weitere Softwareprodukte zum Einsatz. Für das Data Mining<br />

wird der IBM SPSS Modeler 15.0 verwendet; für das Reporting kommt zudem QlikView 11 zum<br />

Einsatz. Der SPSS Modeler von IBM ist insbesondere im Punkt Algorithmen besser ausgestattet als<br />

SSIS und daher das zu bevorzugende Data-Mining-Tool. QlikView ist ein weiteres Reporting Tool<br />

und soll beispielhaft zeigen, wie Reporting alternativ realisiert werden kann.<br />

Für die Entwicklung individueller, funktionaler Anforderungen wird die Programmiersprache Java<br />

verwendet. So wird mittels Java und dem Spring MVC Framework die Grundlage für das Web-<br />

Reporting geschaffen. Für die Kommunikation zwischen Web-Reporting und dem Data-Warehouse<br />

wird eine REST-Schnittstelle implementiert (Web-API). Das Web-Reporting selbst basiert hauptsächlich<br />

auf den Webtechnologien JavaScript, HTML und CSS und nutzt die Web-API zur Abfrage der<br />

benötigten Kennzahlen.<br />

Operative Datenbank und Data Warehouse liegen auf einem virtuellen Server der Abteilung VLBA an<br />

der Universität Oldenburg. Dieser Server verantwortet auch den ETL-Prozess sowie das Reporting.<br />

Teile der BI-Systemarchitektur werden jedoch von den Entwickler-Computern ausgeführt. Der Java-<br />

Datengenerator wird lokal ausgeführt, da er kein dauerhafter Best<strong>and</strong>teil der Architektur ist und nur<br />

bei Bedarf gestartet wird. Ferner werden der IBM SPSS Modeler sowie Qlikview lokal verwendet.<br />

Aufgrund fehlender Lizenzen für beide Programme können keine Servervarianten aufgesetzt werden.<br />

Die Web-API und das Web-Reporting können lokal genutzt werden; zudem wird eine Testumgebung<br />

auf einem virtuellen Server aufgesetzt.<br />

Die im Rahmen der <strong>Projektgruppe</strong> erarbeiteten Lösungen sind als exemplarische Anwendungsfälle zu<br />

verstehen. Produktiv zu überführende Projektbest<strong>and</strong>teile sind daher zu übertragen, sobald die notwendige<br />

IT-Infrastruktur dauerhaft vorh<strong>and</strong>en ist. Die Dokumentation soll daher insbesondere auch<br />

die Schritte zur Übertragung der Projektergebnisse auf eine <strong>and</strong>ere Systemumgebung beschreiben. 6<br />

6 Hierbei ist auch die Besonderheit von QlikView zu erwähnen, dass in der Personal Edition nur dem Ersteller<br />

das Öffnen der Dokumente erlaubt. Skript sowie Screenshots werden bei Abgabe übergeben, allerdings müssen<br />

die erstellten Reports & Dashboards bei einer endgültigen Realisierung des Prototyps noch einmal neu<br />

gebaut werden.<br />

53


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

3.2 Datenmodellierung<br />

Um den Anforderungen an eine zeitgemäße BI-Architektur gerecht zu werden gliedert sich das Datenmodell<br />

in drei Teile. Auf der einen Seite wird die operative Datenbank von Jinengo weiterentwickelt,<br />

die sowohl Stamm- als auch Bewegungsdaten für den operativen Betrieb enthält. Auf der <strong>and</strong>eren<br />

Seite wird das System um ein Data Warehouse erweitert, auf dem neben Stamm- und Bewegungsdaten<br />

auch historische und aggregierte Daten gespeichert werden. Ein Cube stellt die Mobilitätsdaten<br />

des relationalen Data Warehouse zudem multidimensional dar.<br />

Die Trennung von operativer Datenbank und Data Warehouse ermöglicht die Anpassung der Datenstruktur<br />

gemäß den spezifischen Anforderungen der analytischen Anwendungen. Zudem hat dies den<br />

Vorteil, dass die Performance des operativen Systems nicht durch analytische Abfragen negativ beeinflusst<br />

wird.<br />

3.2.1 Operative Datenbank<br />

Die operative Datenbank ist direkt an das laufende Jinengo-System angebunden und beinhaltet die<br />

Datengrundlage für den operativen Betrieb. Die Datenbank speichert dabei im Wesentlichen die Endanwenderstammdaten<br />

sowie deren in der Vergangenheit zurückgelegten Routen mit den zugehörigen<br />

Subrouten.<br />

Von zentraler Bedeutung sind die Eigenschaften eines Endanwenders, die in der Tabelle JinengoUser<br />

abgelegt werden. Neben Attributen wie dem Namen sowie dem Geburtsdatum werden hier insbesondere<br />

Informationen zum Familienst<strong>and</strong> (FamilyStatus), dem Einkommen (IncomeRange), den Mitgliedschaften<br />

bei CarSharing-Anbietern (CarSharingMembership), den Bahncard-Besitz (RailMembership)<br />

sowie den individuellen Präferenzen (Preferences) gespeichert. 7<br />

Für den Vergleich des Reiseverhaltens von einzelnen Endanwendern unterein<strong>and</strong>er soll es zudem die<br />

Möglichkeit für die Bildung von Freundschaften geben. Hierfür wird die Tabelle JinengoUserFriend<br />

verwendet. Aufgrund der Tatsache, dass beidseitige Freundschaftsbeziehungen in relationalen Datenbanken<br />

durch zwei Tabelleneinträge je Freundschaft abgebildet werden sind pro Freundschaft sowohl<br />

die Identifikationsnummer des Anwenders als auch die Identifikationsnummer dessen Freundes (eines<br />

weiteren Anwenders) hinterlegt. Dies bedeutet zum einen zwar eine gewisse Redundanz, ermöglicht<br />

7 Ein Teil der Eigenschaften wird dabei als freies Attribut definiert, ein <strong>and</strong>erer Teil wird über Fremdschlüsselbeziehungen<br />

zu entsprechenden Stammdatentabellen definiert. Auf diese Weise werden fehlerhafte und nicht<br />

zuzuordnende Angaben vermieden und damit die Datenqualität erhöht.<br />

54


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

durch die zweifache Richtung allerdings auch einen besonders leichten lesenden Zugriff (Explain Extended<br />

2009).<br />

Verknüpft mit dem Endanwender sind die von ihm gefahrenen Routen (Tabelle Route). Für jede Route<br />

werden hier die spezifischen Fahrtinformationen gespeichert. So z.B. Start und Ziel (departureAddress<br />

& destinationAddress), die Anzahl der mitgefahrenen Passagiere (passengers) sowie die Zeit (totalTime).<br />

Für jede Route werden zudem die Vor- und Nachteile (advantage & disadvantage) der Route im<br />

Vergleich zur besten und schlechtesten von Jinengo vorgeschlagenen Alternative quantifiziert. Dies<br />

passiert in Bezug auf die Aspekte CO 2 -Emissionen (ecoImpact), Kosten (costs), Reisezeit (time) sowie<br />

nutzbare Reisezeit (effectiveTime). 8<br />

Jede Route verfügt über mindestens eine zugeordnete Subroute. Gespeichert werden hier detaillierte<br />

Informationen zum jeweiligen Streckenabschnitt. Dies beinhaltet neben den speziellen Start- und Zielorten<br />

(departureAddress & destinationAddress) auch die Angaben bezüglich Entfernung (distance),<br />

Reisezeit (time), nutzbare Reisezeit (timeUsable), Kosten (costs) und CO2-Emissionen (ecoImpact).<br />

Zudem wird über eine Fremdschlüsselbeziehung zur Tabelle Transportation angegeben, mit welchem<br />

Verkehrsmittel die Subroute zurückgelegt wurde. Jedes Verkehrsmittel verfügt über einen Klartextnamen<br />

(classOrProviderName), eine Komfortbewertung sowie eine Referenz auf einen übergeordneten<br />

Verkehrsmitteltyp (Tabelle TransportationType).<br />

Eine schematische Darstellung des beschriebenen Datenmodells ist in Abbildung 3.2 abgebildet. Anhang<br />

a listet zudem alle Attribute der erwähnten Tabellen auf und beschreibt diese näher. Der Datengenerator<br />

zur Füllung der operativen Datenbank wird in Kapitel 4.1 beschrieben.<br />

8 Die eigentlichen Werte der Route in Bezug auf CO 2 -Emissionen, Kosten, Reisezeit und nutzbare Reisezeit<br />

werden nicht in der Tabelle Route, sondern lediglich auf Ebene der Subroute festgehalten. Dies vermeidet die<br />

Haltung redundanter Daten in der operativen Datenbank. Die entsprechenden Werte lassen sich durch eine<br />

einfache Summierung der Subrouten-Daten bestimmen.<br />

55


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Abbildung 3.2: Datenmodell der operativen Datenbank<br />

56


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

3.2.2 Relationales Data Warehouse<br />

Das Data Warehouse bildet die Grundlage für alle datenbezogenen Analysen. Im Data Warehouse<br />

werden ein historisiertes sowie ein aggregiertes Datenmodell unterschieden. Die doppelte Datenhaltung<br />

ermöglicht dabei die exemplarische Darstellung von zwei Einsatzbereichen eines Data Warehouse.<br />

Während die aggregierten Daten einen schnellen und unkomplizierten Zugriff auf Informationen<br />

insbesondere für übersichtliche Dashboards bereitstellen, ermöglichen die historisierten Daten<br />

eine detaillierte Datensicht.<br />

Im Folgenden soll auf die wesentlichen Aspekte eingegangen werden. Ergänzend enthalten die Tabellen<br />

in Anhang b eine detaillierte Beschreibung der im Vergleich zur operativen Datenbank neuen und<br />

veränderten Attribute.<br />

Historisiertes Datenmodell<br />

Für das historisierte Modell wurde das Datenmodell der operativen Datenbank größtenteils übernommen<br />

und an den relevanten Stellen angepasst (siehe Abbildung 3.3).<br />

Eine der relevantesten Änderung ist die Historisierung der Endanwender. Die Tabelle JinengoUser der<br />

operativen Datenbank wird im Data Warehouse aufgeteilt in zwei Tabellen. Die (verkleinerte) Tabelle<br />

JinengoUser beinhaltet die (nahezu) unveränderlichen persönlichen Attribute, wie z.B. Name, Geschlecht<br />

und Geburtsdatum. Die persönlichen Lebensumstände, die Zugänge zu Verkehrsmitteln sowie<br />

die Präferenzen der Endanwender werden in der Tabelle UserHistoric gespeichert. Die entsprechenden<br />

Attribute können sich im Laufe der Zeit mehr oder weniger schnell ändern und haben dabei einen wesentlichen<br />

Einfluss auf das Mobilitätsverhalten. Die entsprechenden Attribute müssen daher zwingend<br />

historisiert werden. Nur so können auch nach einer Änderung des Attributs die zum Zeitpunkt des<br />

Reiseantritts gültigen Werte des Attributs nachvollzogen werden. Sobald ein Endanwender eine, oder<br />

mehrere Attribute verändert, wird ein neuer historisierter Endanwender angelegt, der über eine Fremdschlüsselbeziehung<br />

mit dem eigentlichen Endanwender (JinengoUser) verbunden ist. Je Endanwender<br />

existiert daher in der Regel mehr als ein historisierter Datensatz, zu einem Zeitpunkt ist dabei jedoch<br />

jeweils nur einer dieser Sätze gültig. Die Gültigkeit wird jeweils über einen Zeitraum definiert (valid-<br />

From & validTill).<br />

Die Routendaten beziehen sich im Data Warehouse daher auch auf eben diesen historisierten Endanwender.<br />

Somit ist sichergestellt, dass für jede gefahrene Strecke auch die zum Zeitpunkt der Reise<br />

gültigen Endanwendereigenschaften gespeichert sind. Ohne diese Historisierung der Eigenschaften<br />

eines Anwenders wäre hingegen später nicht mehr nachvollziehbar, warum ein Endanwender sich in<br />

der Vergangenheit für genau diese Routenalternative entschieden hat. Schließlich kann er zum Zeitpunkt<br />

der Analyse bereits durch ganz <strong>and</strong>ere Eigenschaften und Präferenzen repräsentiert werden.<br />

57


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Das historisierte Datenmodell bietet eine vollständige und damit detaillierte Sicht auf die von Jinengo<br />

gesammelten Daten. Es dient damit als direkte Datengrundlage für eine Vielzahl von Reportinganforderungen.<br />

Des Weiteren bedient es das Reporting auch indirekt, indem es für die Bereitstellung von<br />

Cubes, also einer multidimensionalen Aufbereitung der Daten genutzt werden kann (siehe Kapitel<br />

3.2.3).<br />

Aggregiertes Datenmodell<br />

Im Data Warehouse sind des Weiteren drei aggregierte Tabellen vorgesehen. Sie beinhalten die aufsummierten<br />

Informationen zur Plattformnutzung (AggrPlatformFigure), den Endanwenderaktivitäten<br />

(AggrUserFigure) sowie den Endanwenderaktivitäten je Verkehrsmittel (AggrUserFigurePerTranportation).<br />

Die Tabellen ermöglichen im Gegensatz zu den granular vorliegenden Daten des historisierten<br />

Data Warehouse einen schnellen Zugriff auf eine aggregierte Datensicht.<br />

Dies reduziert die notwendige Logik für gängige Anwendungsfelder, die eine entsprechende Datensicht<br />

vorsehen. Insbesondere trifft dies für das Endanwender-Reporting zu (siehe Kapitel 3.5.1). Da<br />

dieses Reporting auf Webtechnologien zurückgreift, sind die Reduktion von Programmlogik und Datenumfang<br />

von besonderer Bedeutung.<br />

Tabelle 3.2 stellt die einzelnen Aggregationsebenen der Tabellen im Detail dar. Das Datenmodell der<br />

aggregierten Daten wird in Abbildung 3.4 dargestellt.<br />

Tabelle<br />

AggrPlatformFigure<br />

(Informationen zur Plattformnutzung )<br />

AggrUserFigure<br />

(Informationen zu den Endawenderaktivitäten)<br />

AggrUserFigurePerTranportation<br />

(Informationen zu den Endanwenderaktivitäten<br />

je Verkehrsmittel)<br />

Aggregationsebene<br />

Jahr und Monat<br />

Jahr, Monat, Endanwender und Reisebedürfnis<br />

Jahr, Monat, Endanwender, Reisebedürfnis und<br />

Verkehrsmittel<br />

Tabelle 3.2: Verdichtungsebenen der aggregierten Tabellen im Data Warehouse<br />

58


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Abbildung 3.3: Datenmodell des Data Warehouse<br />

59


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Abbildung 3.4: Datenmodell des aggregierten Data Warehouse<br />

60


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

3.2.3 Multidimensionales Data Warehouse<br />

Neben dem relationalen soll auch ein multidimensionales Data Warehouse aufgebaut werden. Anwendungsfelder<br />

sind das Reporting mit SQL Server Reporting Services (SSRS) sowie insbesondere Self-<br />

Service BI mit Microsoft Excel. Die Erstellung des multidimensionalen Data Warehouses geschieht<br />

mithilfe der SQL Server Analysis Services (SSAS) auf Basis der Daten des relationalen Data Warehouse.<br />

Das multidimensionale Data Warehouse soll dabei zunächst lediglich aus einem Cube (Subroute) bestehen.<br />

Dieser Cube soll dazu befähigt werden, nahezu alle zuvor im Fachkonzept definierten Kennzahlen<br />

und Messgrößen darzustellen 9 . Tabelle 3.3 listet die insgesamt 26 Werte (Kennzahlen und<br />

Messgrößen) auf, die der Cube umfassen soll.<br />

9 Lediglich die Kennzahlen „Ausgeschöpftes CO2-Reduktionspotential“ (M11), „Anzahl registrierter Endanwender“,<br />

(J02) und „Anteil aktiver Endanwender“ (J03) werden nicht abgedeckt. Die Kennzahl M11 ist jedoch<br />

weniger für das SSRS-Reporting und Self-Service-BI, als vielmehr für das Endanwender-Reporting von<br />

Relevanz, so dass die entsprechende Kennzahl hier nicht berücksichtigt werden muss. Die Kennzahlen J02<br />

und J03 lassen sich hingegen aus datentechnischen Gründen leichter durch eine relationale SQL-Abfrage gewinnen.<br />

61


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Sachverhalt<br />

Anzahl<br />

der Werte<br />

Berechnung<br />

Referenz zum<br />

Fachkonzept<br />

Anzahl aktiver Endanwender (Reisende) 1 SUM Kennzahl J01<br />

Anzahl der Routen 1 SUM Kennzahl M01<br />

Anzahl der Subrouten 1 SUM Kennzahl M02<br />

Reisestrecke<br />

Reisekosten<br />

4<br />

4<br />

SUM<br />

MIN/MAX/AVG<br />

SUM<br />

MIN/MAX/AVG<br />

Kennzahl M03<br />

Messgrößen<br />

Kennzahl M04<br />

Messgrößen<br />

Reisekosten pro Kilometer 1 SUM Kennzahl M05<br />

Reisezeit<br />

Nutzbare Reisezeit<br />

4<br />

4<br />

SUM<br />

MIN/MAX/AVG<br />

SUM<br />

MIN/MAX/AVG<br />

Kennzahl M06<br />

Messgrößen<br />

Kennzahl M07<br />

Messgrößen<br />

Anteil nutzbarer Reisezeit 1 «Formel» Kennzahl M08<br />

CO 2 -Emissionen<br />

4<br />

SUM<br />

MIN/MAX/AVG<br />

Kennzahl M09<br />

Messgrößen<br />

CO 2 -Emissionen pro Kilometer 1 «Formel» Kennzahl M10<br />

Tabelle 3.3: Kennzahlen und Messgrößen des Subroute-Cubes<br />

Die Cubedaten sollen durch verschiedene Dimensionen multidimensional dargestellt werden. Im Folgenden<br />

werden die Dimensionen mitsamt ihren Attributen und Hierarchien 10 dargestellt:<br />

<br />

<br />

<br />

Zeit: Subrouten verfügen über einen Zeitpunkt der Abreise sowie einen der Ankunft. Beide<br />

Zeiten sollen durch entsprechende Dimensionen abgebildet werden können. SSAS unterstützt<br />

die Anlage von Zeitdimensionen. Von Relevanz sind die Attribute Tag, Woche, Monat, Quartal<br />

und Jahr. Es sind die st<strong>and</strong>ardmäßig definierten Hierarchien beizubehalten.<br />

Verkehrsmittel: Jede Subroute wird mit einem Verkehrsmittel gefahren. Relevante Attribute<br />

sind die Klasse / der Anbieter (classOrProviderName, z.B. „Fernverkehr“), der Verkehrsmitteltyp<br />

(transportationType, z.B. „ICE“) sowie der Komfort des Verkehrsmittels (comfort-<br />

Rating). Zwischen Verkehrsmitteltyp und Klasse/Anbieter ist eine Hierarchie zu erstellen.<br />

Endanwender: Der Endanwender mitsamt seinen Eigenschaften, der die Subroute gefahren<br />

ist. Von Relevanz sind alle in den Tabellen UserHistoric und JinengoUser definierten Attribute<br />

(siehe Tabellen in Abbildung 3.3). Zudem sind die beiden Clusterzuordnungen SustainabilityCluster<br />

und AttributeCluster von Relevanz. Hierarchien zwischen diesen sehr unterschiedlichen<br />

Attributen lassen sich nicht definieren.<br />

10 Hierarchien definieren den Zusammenhang zwischen einzelnen Attributen im Rahmen des Drill-Downs.<br />

62


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

<br />

Route: Jede Subroute gehört zu einer Route mit weiteren spezifischen Eigenschaften. Im Cube<br />

sollen zunächst die Attribute des Reisebedürfnisses (need), die Angabe zu mitgeführtem<br />

Gepäck (luggage) sowie die Anzahl der Passagiere (passengers) berücksichtigt werden. Hierarchien<br />

zwischen den einzelnen Attributen lassen sich nicht definieren.<br />

Anders als im Fachkonzept dargestellt, erfolgt im Subroute-Cube keine Berücksichtigung der Raum-<br />

Dimension. Dies ist darin begründet, dass SSAS-Cubes den Geokoordinaten-Datentyp des SQL-<br />

Servers nicht unterstützen. Die Funktionen des vergleichsweise neuen Datenformats (Katibah & Stojic<br />

2011) bleiben daher relationalen Abfragen vorbehalten. Der in Kapitel 3.5.2 beschriebene Report mit<br />

der geographischen Darstellung der Kennzahlen wird daher auch mithilfe des relationalen Data Warehouse<br />

realisiert.<br />

63


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Abbildung 3.5 gibt einen zusammenfassenden Überblick über die zuvor beschriebene semantische<br />

Modellierung des Subroute-Cubes 11 .<br />

Abbildung 3.5: Semantische Modellierung des Subroute-Cube<br />

11 Die Zeit-Dimension weicht bezüglich der deutschsprachigen Attributbenennungen von der englischsprachigen<br />

Projektkonvention ab. Dies liegt darin begründet, dass die Zeitdimension von SSAS unterstützt angelegt wird<br />

und die Benennung aufgrund der eingesetzten Softwareversion deutschsprachig erfolgt.<br />

64


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

3.3 Datenflüsse<br />

Die folgenden Datenflüsse dienen der Übertragung von Daten zwischen verschiedenen Datenbanken<br />

und Tabellen. Zum Einsatz sollen dabei jeweils die SQL Server Integration Services (SSIS) kommen,<br />

die integraler Best<strong>and</strong>teil des SQL-Servers von Microsoft sind.<br />

Im Folgenden werden die Charakteristika der im Rahmen des Projektes relevanten Integrationsprozesse<br />

beschrieben. Da die Daten im Projekt durch einen Datengenerator künstlich und einmalig erzeugt<br />

werden, ist die regelmäßige Einplanung der einzelnen Prozesse als automatisch ablaufender Job zunächst<br />

nicht von Interesse. Stattdessen ist die manuelle Ausführung der Integrationsprozesse noch<br />

ausreichend. Dies erleichtert auch das Monitoring von Erfolg bzw. Misserfolg der einzelnen Prozessausführungen.<br />

Langfristig ist jedoch insbesondere für den ETL- sowie den Aggregationsprozess eine<br />

Einplanung als automatischer Job von Relevanz 12 .<br />

3.3.1 Prozess zur Füllung der operativen Datenbank mit generierten Daten<br />

Die Füllung der operativen Datenbank erfolgt im Rahmen der Projektarbeit durch generierte Daten<br />

und nicht durch die Interaktion von Endanwendern. Die Stammdaten der operativen Datenbank werden<br />

durch den Datengenerator (siehe Kapitel 4.1) direkt gefüllt. Die verkehrsbezogenen Bewegungsdaten<br />

(Route und Subroute) werden vom Generator hingegen zunächst in die temporären Tabellen<br />

A_SOURCE_Route und A_SOURCE_Subroute gespeichert. Ein Integration-Service muss daher die<br />

folgenden Verarbeitungsschritte durchlaufen:<br />

1. Selektierung aller neu generierten Routendaten (A_SOURCE_Route) und Einfügung dieser in<br />

die operative Datenbanktabelle Route.<br />

2. Selektierung aller zugehörigen Subroutendaten (A_SOURCE_Subroute) und Einfügung dieser<br />

in die operative Datenbanktabelle Subroute.<br />

3. Kennzeichnung der soeben verarbeiteten Routen (Attribut isProcessed in<br />

A_SOURCE_Route), so dass sie beim nächsten Durchlauf nicht erneut berücksichtigt werden.<br />

Der Prozess wird manuell gestartet, da der Datengenerator ebenfalls manuell gestartet wird und daher<br />

nur sporadisch mit neuen Daten zu rechnen ist. Auf längere Sicht sind die Endanwender und nicht<br />

mehr der Datengenerator für die Generierung von Datensätzen zuständig.<br />

12 Die automatische Ausführung von Integrationsprozessen wird vom SQL Server unterstützt und im Rahmen<br />

der Jinengo-Dokumentation auch angeleitet.<br />

65


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

3.3.2 ETL-Prozess zur Füllung des relationalen Data Warehouse<br />

Die operative Datenbank und das historisierte relationale Data Warehouse haben eine nahezu identische,<br />

in Teilen aber dennoch abweichende Struktur. Ein ETL-Prozess soll die Füllung des Data Warehouses<br />

vornehmen und die dabei notwendigen Transformationen vornehmen.<br />

Die meisten Schritte des ETL-Prozesses befassen sich mit der Verarbeitung von Stammdaten. Dabei<br />

wird das Data Warehouse mit der operativen Datenbank gleichgezogen, eine Historisierung findet<br />

nicht statt. Eine Ausnahme stellt insbesondere die Endanwender-Tabelle (JinengoUser) dar, bei der<br />

ein Großteil der Attribute im Data Warehouse in der Tabelle UserHistoric historisiert wird. Ein kleinerer<br />

Teil der Attribute wird auch hier hingegen nicht historisiert und verbleibt in der Tabelle JinengoUser.<br />

Die Zweiteilung der Endanwenderattribute in zwei Tabellen führt dazu, dass die Fremdschlüssel<br />

in allen abhängigen Tabellen angepasst werden müssen. Statt der JinengoUser-ID muss im Data Warehouse<br />

flächendeckend die UserHistoric-ID verwendet werden. Der ETL-Prozess muss daher jeweils<br />

die aktuell gültige Identifikationsnummer für den historisierten Anwender bestimmen und alle Fremdschlüssel<br />

entsprechend umschreiben.<br />

In den Tabellen Route und Subroute finden zudem einige weitere Transformationen statt:<br />

<br />

<br />

<br />

Für den einfacheren Zugriff sollen im Data Warehouse auf Ebene der Route auch Umweltwirkung<br />

(ecoImpactTotal), nutzbare Zeit (effectiveTimeTotal), Kosten und Reisestrecke (distanceTotal)<br />

der zugehörigen Subrouten aggregiert werden.<br />

Die Streckenattribute in Route und Subroute sollen von Meter in Kilometer umgerechnet werden,<br />

da dies die H<strong>and</strong>habung mit größeren Werten erleichtert.<br />

Alle sonstigen Messwerte (Kosten & Umweltwirkungen) sollen auf zwei Nachkommastellen<br />

gerundet werden. Diese Detailierungsebene ist für Analysen ausreichend und vereinfacht die<br />

Darstellung der Werte in Reports und Dashboards.<br />

Tabelle 3.4 fasst die hier beschriebenen Anforderungen an den ETL-Prozess noch einmal aus Sicht der<br />

einzelnen Tabellen zusammen. Dabei werden zusätzlich auch die gegenseitigen Abhängigkeiten definiert,<br />

die sich durch die Fremdschlüsselbeziehungen der einzelnen Tabellen ergeben. Im Anschluss an<br />

die Verarbeitung aller Tabellen müssen die Cubes des Analysis-Services aktualisiert werden, damit die<br />

neu eingespielten Daten auch im multidimensionalen Data Warehouse zur Verfügung stehen.<br />

Der gesamte Prozess wird zunächst manuell angestoßen, da aufgrund des sporadischen Starts des Datengenerators<br />

zunächst nicht dauerhaft mit neuen Daten zu rechnen ist. Auf längere Sicht ist für den<br />

operativen Betrieb von Jinengo jedoch eine regelmäßige automatische Einplanung des ETL-Prozesses<br />

denkbar. Das entsprechende Vorgehen wird daher bereits in der Jinengo-Dokumentation beschrieben.<br />

66


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

# Tabelle Beschreibung des Schritte Vorgänger<br />

1 Transportation-<br />

Type<br />

Neue & geänderte Datensätze werden im Data Warehouse<br />

nachgezogen (keine Historisierung). Eine Löschung findet nicht<br />

statt.<br />

2 Transportation Neue & geänderte Datensätze werden im Data Warehouse<br />

nachgezogen (keine Historisierung). Eine Löschung findet nicht<br />

statt.<br />

3 FamilyStatus Neue & geänderte Datensätze werden im Data Warehouse<br />

nachgezogen (keine Historisierung). Eine Löschung findet nicht<br />

statt.<br />

4 IncomeRange Neue & geänderte Datensätze werden im Data Warehouse<br />

nachgezogen (keine Historisierung). Eine Löschung findet nicht<br />

statt.<br />

5 Need Neue & geänderte Datensätze werden im Data Warehouse<br />

nachgezogen (keine Historisierung). Eine Löschung findet nicht<br />

statt.<br />

6 Rail-Membership Neue & geänderte Datensätze werden im Data Warehouse<br />

nachgezogen (keine Historisierung). Eine Löschung findet nicht<br />

statt.<br />

7 JinengoUser<br />

(als Datenquelle)<br />

JinengoUser &<br />

UserHistoric<br />

(als Datenziel)<br />

8 JinengoUser-<br />

Friend<br />

9 CarSharing-<br />

Membership<br />

Berücksichtigt werden neue Datensätze und Änderungen. Anwender<br />

werden nicht gelöscht, sondern ungültig gestempelt.<br />

Die Entität wird im Data Warehouse zweigeteilt in JinengoUser<br />

und UserHistoric. JinengoUser enthält lediglich die Attribute,<br />

die die physische Identität eines Anwenders ausmachen (z.B.<br />

Name, Geburtsdatum). Änderungen dieser Attribute werden<br />

(ohne Historisierung) im Data Warehouse nachgezogen.<br />

UserHistoric hingegen enthält die Attribute, die historisiert<br />

(Neuanlage & Ungültigstempelung) nachverfolgt werden sollen.<br />

Neue Datensätze und Löschungen werden nachgezogen, Änderungen<br />

finden nicht statt (keine Historisierung).<br />

Umschreibung des Anwender-Fremdschlüssels (UserHistoric)<br />

Neue Datensätze werden im Data Warehouse hinzugefügt. Gelöschte<br />

Datensätze werden historisch nachverfolgt (Neuanlage<br />

& Ungültigstempelung). Änderungen finden nicht statt.<br />

Umschreibung des Anwender-Fremdschlüssels (UserHistoric)<br />

10 Route Neue Datensätze werden in das Data Warehouse übertragen.<br />

Nachträgliche Änderungen und Löschungen finden nicht statt.<br />

Umweltwirkung (ecoImpactTotal), nutzbare Zeit (effectiveTimeTotal),<br />

Kosten und Reisestrecke (distanceTotal) der zugehörigen<br />

Subrouten werden auf Routenebene aggregiert.<br />

Streckenattribute werden von Metern in Kilometer umgerechnet,<br />

alle Messwerte auf 2 Nachkommastellen gerundet.<br />

Umschreibung des Anwender-Fremdschlüssels (UserHistoric)<br />

11 Subroute Neue Datensätze werden in das Data Warehouse übertragen.<br />

Nachträgliche Änderungen und Löschungen finden nicht statt.<br />

Streckenattribute werden von Metern in Kilometer umgerechnet,<br />

alle Messwerte auf 2 Nachkommastellen gerundet.<br />

-<br />

1<br />

-<br />

-<br />

-<br />

-<br />

3, 4, 6<br />

7<br />

2, 7<br />

5, 7<br />

2, 10<br />

67


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Umschreibung des Anwender-Fremdschlüssels (UserHistoric)<br />

Tabelle 3.4: Beschreibung der Schritte des ETL-Prozess<br />

3.3.3 Aggregation von Daten im Data Warehouse<br />

Zusätzlich zu den historisierten Tabellen verfügt das Data Warehouse auch über drei aggregierte Tabellen,<br />

die den Zugriff auf eine verdichtete Sicht der Reisedaten vereinfachen. Die Verdichtung erfolgt<br />

dabei gemäß der in Tabelle 3.2 dargestellten Ebenen.<br />

Der Prozess zur Aktualisierung der drei Tabellen erfolgt durch die folgenden Schritte:<br />

1. Bestimmung der Jahr-Monat-Konstellationen, bei denen Routen noch nicht in die Aggregation<br />

einbezogen wurden (Attribut isAggregatedInDW), da sie seit der letzten Verdichtung<br />

hinzugekommen sind. Für diese Konstellationen müssen die aggregierten Daten neu berechnet<br />

werden.<br />

2. Löschung der veralteten Jahr-Monat-Konstellationen in den drei Aggregationstabellen.<br />

3. Erneute Datenaggregation und Einfügung der entsprechenden Datensätze in die drei Aggregationstabellen.<br />

Die Verdichtung erfolgt dabei für jede Tabelle spezifisch entsprechend ihrer<br />

Aggregationsebene.<br />

4. Kennzeichnung der aggregierten Routen mithilfe des Attributs isAggregatedInDW.<br />

Der Prozess wird zunächst manuell nach Abschluss des ETL-Prozesses angestoßen. Auf längere Sicht<br />

ist jedoch analog zum ETL-Prozess eine regelmäßig automatische Einplanung des Prozesses denkbar.<br />

3.4 Data Mining<br />

Ziel des Data Mining ist es, aus den Daten des Data Warehouse neue Erkenntnisse zu ziehen und Zusammenhänge<br />

in den Daten zu entdecken. Um diese Aufgabe bewerkstelligen zu können wird es zwischen<br />

der operativen Datenbank und dem Data Warehouse eingeordnet (siehe Abbildung 3.1).<br />

Das Data Mining wird im Projekt mit dem SPSS Modeler 15 umgesetzt. Das Tool bietet umfangreiche<br />

Modellierungsmöglichkeiten. Daten lassen sich sowohl aus dem SQL Server als auch, falls notwendig,<br />

aus CSV-Dateien auslesen. Im Modeler können die Daten so vorbereitet werden, wie sie für das Data<br />

Mining benötigt werden. Die alternative Lösung mit den Data-Mining-Tools von SSAS bietet nicht<br />

denselben Umfang und Komfort. Der SPSS Modeler ist sowohl in der Datenintegration, -extraktion<br />

und Data-Mining-Fähigkeit umfangreicher und komfortabler als SSAS.<br />

Der in den einzelnen Methoden angew<strong>and</strong>te Algorithmus hat sich während der Tests als am stabilsten<br />

herausgestellt. Es ist allerdings nicht aus zu schließen, dass sich dieser mit einer realen Datenbasis<br />

ändern könnte.<br />

68


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

In der Tabelle 3.5 werden die in dem Fachkonzept formulierten Anwendungsfälle und die für die Lösung<br />

verwendeten Methoden mitein<strong>and</strong>er in Beziehung gebracht.<br />

Anwendungsfall aus Fachkonzept verwendete Data-Mining-Methode<br />

Eigenschaften raten<br />

Klassifizierung<br />

Newsletter & Reporting<br />

Clustering<br />

Ökologische Alternativen vorschlagen Assoziation<br />

Warnung vor ungewöhnlichem Verhalten eigene Logik auf Basis der Data-Mining-Ergebnisse<br />

Tabelle 3.5: Zuordnung der Data-Mining-Methoden zu den Anwendungsfällen<br />

3.4.1 Klassifizierung<br />

Ziel der Klassifizierung ist es, Eigenschaften von Endanwendern – z.B. Besitz eines Elektroautos<br />

(ownsPEV) – zu ermitteln, die mit einer gewissen Konfidenz (z.B. >98%) vorliegen, aber bislang vom<br />

Benutzer nicht angegeben wurden (Besitz Elektroauto bislang NULL). Der Schwellenwert für die<br />

Konfidenz-Akzeptanz sollte von Fall zu Fall angepasst werden. Einen Richtwert liefert der im SPSS<br />

Modeler ausgegebene Wert „always correct above“.<br />

Input:<br />

<br />

<br />

<br />

<br />

Anzahl der gefahrenen Strecken pro Verkehrsmittel<br />

Persönliche Attribute (Geschlecht, etc.)<br />

Besitz von Verkehrsmittel (ownsPEV, ownsEbike, etc.)<br />

Endanwenderpräferenzen<br />

Algorithmus:<br />

<br />

<br />

CHAID<br />

Der Algorithmus muss mit sich ändernden Daten überprüft und angepasst werden, da verschiedene<br />

Algorithmen mit fehlenden Datensätzen besser / schlechter umgehen können.<br />

Output:<br />

Die Ergebnisse werden in das Data Warehouse geschrieben (jinengoData-<br />

Warehouse.dbo.ClassificationPrediction).<br />

Spalten der Tabelle: jinengoUserID, userHistoricID, attribute, attributeValue, attributePrediction,<br />

predictionConfidence, predictionDate und predictionAcception.<br />

Die Attribut-Spalte speichert den Namen des Attributs (Bspw.: ownsPEV, ownsEbike, etc), in der<br />

Spalte attributeValue wird der angegebene Wert abgespeichert. Vergleichend dazu wird in der Spalte<br />

attributePrediction der durch DataMining ermittelte Konfidenzwert festgehalten.<br />

69


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

3.4.2 Clustering<br />

Clustering zielt auf zwei Fälle ab. Zum einen sollen Newsletter personalisiert zugestellt werden können<br />

und zum <strong>and</strong>eren Reports und Dashboards eine zusätzliche Dimension zur Unterteilung von Endanwendern<br />

erhalten.<br />

Dabei werden zwei Cluster definiert. Das Sustainability-Cluster gruppiert Endanwender in Bezug auf<br />

ihr Reiseverhalten. Das Personen-Cluster hingegen ordnet Anwender entsprechend ihrer persönlichen<br />

Attribute in Gruppen ein.<br />

Personen-Cluster<br />

Input:<br />

<br />

<br />

<br />

Personenattribute (Geschlecht, Alter, etc)<br />

Besitz von Verkehrsmitteln oder ÖPNV (owns-Attribute)<br />

Userpräferenzen<br />

Algorithmus:<br />

<br />

K-Means<br />

Output:<br />

Die Ergebnisse werden in das Data Warehouse geschrieben (jinengoData-<br />

Warehouse.dbo.UserAttributeClustering)<br />

Spalten der Tabelle: jinengoUserID, userHistoricID, cluster, clusterdescription, date<br />

Sustainability-Cluster<br />

Input:<br />

<br />

<br />

<br />

<br />

<br />

<br />

CO 2 -Emissionen je Kilometer<br />

Absolute CO 2 -Emissionen<br />

Gefahrene Kilometer<br />

Genutzte Verkehrsmittel<br />

Summe der Strecken<br />

Km pro Strecke<br />

70


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Algorithmus:<br />

<br />

Two-Step<br />

Output:<br />

Die Ergebnisse werden in das Data Warehouse geschrieben (jinengoData-<br />

Warehouse.dbo.UserSustainabilityClustering)<br />

Spalten: userHistoricID, cluster, clusterdescription, date<br />

3.4.3 Assoziation<br />

Durch einen Assoziationsalgorithmus sollen Konsummuster und damit mögliche Veränderungspotentiale<br />

bei Endanwender aufgedeckt werden. Die Daten werden auf Regeln hin untersucht, die zu einer<br />

gewissen Sicherheit vermuten lassen, dass ein Endanwender Interesse an einem nachhaltigen Verkehrsmittel<br />

hat. Trifft diese Regel zu, wird das Ergebnis in das Data Warehouse geschrieben. Der Anwendungsfall<br />

wird beispielhaft an dem Attribut zum Besitz eines Autos mit Verbrennungsmotor<br />

(ownsGasCar) umgesetzt. Um akzeptiert zu werden, sollte eine Regel über 10% Support und 90%<br />

Konfidenz liegen. Allerdings hängen diese Werte stark von den untersuchten Daten ab und sollten<br />

daher bei Bedarf, sowohl nach oben als auch unten, angepasst werden.<br />

Input:<br />

<br />

<br />

<br />

<br />

<br />

<br />

Genutzte Verkehrsmittel<br />

persönliche Attribute<br />

Besitz von Verkehrsmitteln<br />

Routen Attribute<br />

Cluster<br />

CO 2 -Emissionen / Vor- und Nachteile der gewählten Routen<br />

Alle Input-Attribute, die keinen kleinen diskreten Wertebereich haben, werden in Quartile eingeteilt.<br />

Die Grenzen der Quartile werden anh<strong>and</strong> des minimalen und des maximalen Wertes gesetzt.<br />

Algorithmus:<br />

<br />

Apiori<br />

71


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Output:<br />

<br />

<br />

Die ermittelten Regeln werden mit einem Entscheidungsbaum auf den Datensatz angew<strong>and</strong>t.<br />

In die Datenbank werden nur die Datensätze zurückgeschrieben, bei denen das Zielattribut<br />

(ownsGasCar) NULL oder 0 als Ausprägung besitzt.<br />

Die Zieltabelle ist jinengoDataWarehouse.dbo.AssociationResults<br />

3.4.4 Warnen vor „ungewöhnlichem“ Verhalten<br />

Während die oberen drei Anwendungsfälle jeweils eine Methode des Data Mining verwenden, um<br />

Erkenntnisse aus den Daten zu gewinnen zielt dieser Anwendungsfall darauf ab, durch eine Verbindung<br />

der Data-Mining-Ergebnisse und den vorh<strong>and</strong>enen Endanwender- und Routendaten neue Erkenntnisse<br />

zu gewinnen.<br />

Anwender die bspw. ein E-Bike besitzen, es aber nie nutzen, werden mit Hilfe dieser Daten identifiziert.<br />

Daraus lässt sich ein Entscheidungsbaum entwickeln, der auf Basis der gefahrenen Routen und<br />

angegebenen Präferenzen eine Konsequenz ableitet. Da es sehr viele Möglichkeiten gibt Verhalten von<br />

Endanwender zu analysieren werden hier die Potentiale dieser Methode anh<strong>and</strong> des Beispiels E-Bike<br />

aufgezeigt.<br />

USE-CASE: ownsEBike<br />

Wie in der Abbildung 3.6 zu sehen, kann es zwei Ausgangssituationen geben. Zum einen kann der<br />

Anwender angegeben haben, dass er ein E-Bike besitzt (Angabe = 1), laut Data Mining verhält er sich<br />

aber nicht so (Prediction = 0). Anders herum kann er angegeben haben, dass er kein E-Bike besitzt<br />

(Angabe = 0), er verhält sich aber laut Data-Mining so (Predicition = 0). Selbstverständlich kann es<br />

analog dazu auch noch die Fälle geben in denen der Anwender keine wahrheitsgemäße Aussage getroffen<br />

hat. Im Folgenden soll das Hauptaugenmerk aber auf wahrheitsgemäße Angaben gelegt werden.<br />

Der Vollständigkeit halber seien die <strong>and</strong>eren Fälle aber auch noch erwähnt:<br />

<br />

<br />

Laut Angabe hat der Anwender kein E-Bike (Angabe = 0), er besitzt aber eins (korrekte Angabe<br />

wäre demnach 1). Das Data-Mining erkennt den Endanwender als eine Person die ein E-<br />

Bike besitzen (Predicition = 1) und das ist korrekt.<br />

Laut Angabe hat der Anwender ein E-Bike (Angabe = 1), er besitzt aber keins (Korrekte Angabe<br />

wäre demnach 0). Das Data-Minig erkennt den Endanwender als eine Person die kein<br />

eBike besitzen (Predicition = 0) und das ist korrekt.<br />

Bei diesen zwei Fällen müsste nichts weiter geschehen als den Anwender auf die Vermutung aufmerksam<br />

zu machen.<br />

72


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

In den zwei Fällen, die in der Abbildung 3.6 dargestellt sind muss die Schätzungen anschließend überprüft<br />

werden. Nutzt der User das E-Bike bzw. das Bike oft, so kann darauf reagiert werden mit Meldungen,<br />

Abfragen, oder zielgerichteter Werbung.<br />

eBike Szenario<br />

Angabe: 1<br />

Predicition: 0<br />

Angabe: 0<br />

Predicition: 1<br />

Prüfen ob eBike<br />

oft genutzt<br />

Prüfen ob viel<br />

Bike gefahren<br />

Nutzung hoch<br />

Nutzung niedrig<br />

Nutzung gering<br />

Nutzung hoch<br />

Schätzung falsch,<br />

keine Meldung<br />

Meldung: User<br />

fragen, warum.<br />

Keine Meldung<br />

da Schätzung<br />

„falsch“<br />

Weitere<br />

Prüfung*<br />

Abbildung 3.6: Entscheidungsbaum UseCase OwnsEbike<br />

Sollte die Überprüfung zum Beispiel ergeben haben, dass die Schätzungen falsch waren, so ist dies zu<br />

dokumentieren und nach außen keine weitere Meldung zu erstatten. War die Schätzung laut Überprüfung<br />

korrekt, sollte der Dialog mit dem Anwender gesucht werden. Für den Fall, dass gegen die Angabe<br />

des Endanwenders der Besitz eine E-Bikes vermutet wurde und die Prüfungen ergeben haben,<br />

dass dieser viel Fahrrad fährt wäre es natürlich nicht ökologisch diesem Anwender ein E-Bike vorzuschlagen.<br />

Schließlich fährt er mit seinem Fahrrad ohne Elektrounterstützung deutlich umweltfreundlicher.<br />

So könnten an dieser Stelle weitere Prüfungen angebracht sein. Zum Beispiel könne geprüft werden<br />

ob der Endanwender auch viel Auto auf kurzen Strecken fährt. Dann könnte man ihm vorschlagen,<br />

diese Strecken mit einem E-Bike zu bewältigen.<br />

Ein solches Vorgehen zur Wissensgewinnung ist auch mit den <strong>and</strong>eren Endanwender-Attributen möglich:<br />

<br />

<br />

<br />

<br />

Bahncard Mitgliedschaft (RailMembershipID)<br />

Besitz eines Autos mit Verbrennungsmotor (ownsGasCar)<br />

Besitz einer Monatskarte (publicTransportMember)<br />

Besitz eines Elektroautos (ownsPEV)<br />

Sinn macht es aber nur, wenn die Reaktion des Nutzers auf die Werbung bzw. den Vorschlag dokumentiert<br />

werden kann.<br />

73


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

3.5 Reports & Dashboards<br />

Im Folgenden werden die Reports und Dashboards definiert, die die zuvor im Fachkonzept thematisierten<br />

Reportinganforderungen der verschiedenen Stakeholder 13 abdecken. Dabei sollen unterschiedliche<br />

Softwarelösungen für die Realisierung verwendet werden:<br />

<br />

<br />

<br />

Das Endanwender-Reporting erfolgt über eine Eigenentwicklung auf Basis von Webtechnologien<br />

und Java. Dies liegt insbesondere darin begründet, dass der Microsoft SQL Server keine<br />

entsprechende Software vorsieht, die auch von externen Stakeholdern gut benutzt werden<br />

kann. Nicht zuletzt ermöglicht die Eigenentwicklung im Anschluss an das Projekt eine bessere<br />

Integration in die Jinengo-Plattform.<br />

Das Reporting für Management, Wissenschaftler und Mobilitätsanbieter hingegen erfolgt<br />

über gängige BI-St<strong>and</strong>ardsoftware. Zum Einsatz kommen sollen dafür sowohl die SQL Server<br />

Reporting Services (SSRS) als auch QlikView, um auf diese Weise auch einen Vergleich verschiedener<br />

Softwarelösungen zu ermöglichen.<br />

Die Self-Service BI für Management, Wissenschaftler und Mobilitätsanbieter wird<br />

exemplarisch anh<strong>and</strong> von Microsoft Excel exerziert.<br />

3.5.1 Reporting für Endanwender<br />

Für das Reporting der Endanwender-Kennzahlen gilt es ein Webinterface zu erstellen. Dieses soll als<br />

leichtgewichtige Webanwendung realisiert werden, die alle notwendigen Daten über eine Web-<br />

Schnittstelle erhält. Ziel des Webinterface ist es, die wesentlichen Kennzahlen kompakt aufbereitet<br />

und graphisch ansprechend dem Nutzer darzustellen.<br />

Das Webinterface soll dabei unterschiedliche Möglichkeiten der Kennzahlendarstellung für Endanwender<br />

aufzeigen und diese beispielhaft implementieren. Durch die Verwendung von Webst<strong>and</strong>ards<br />

soll eine allgemeingültige Vorlage geschaffen werden, die in Zukunft leicht in <strong>and</strong>eren Webanwendungen<br />

integriert oder als eigenständige Anwendung weiterentwickelt werden kann.<br />

13 Management, Wissenschaftler und Mobilitätsanbieter werden im Folgenden nicht mehr streng vonein<strong>and</strong>er<br />

getrennt. Trotz unterschiedlicher Motive und Zielsetzungen sind ihre Anforderungen vergleichsweise ähnlich<br />

und lassen sich insbesondere auf der exemplarischen Ebene des Projekts nicht trennscharf vonein<strong>and</strong>er trennen.<br />

74


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Aus dem Fachkonzept ergeben sich eine Reihe an Anforderungen für die Implementierung der Web-<br />

Oberfläche. Das folgende Mockup (Abbildung 3.7) stellt den geplanten Aufbau und Inhalt des Dashboards<br />

für Endanwender dar.<br />

Inhalt & Zweck<br />

Abbildung 3.7: Mockup des Dashboards „Endanwender-Kennzahlen über die Zeit“<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimension<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Eine vom Endanwender über das Menü gewählte Kennzahl wird auf<br />

Monatsbasis aggregiert über die Zeit als Kurvenverlauf darstellt. Die<br />

dunkle Kurve steht für das Fahrverhalten des Anwenders, die helle für<br />

das Fahrverhalten einer Vergleichsperson.<br />

M03 – Reisestrecke<br />

M04 – Reisekosten<br />

M05 – Reisekosten pro Kilometer<br />

M06 – Reisezeit<br />

M07 – Nutzbare Reisezeit<br />

M09 – CO 2 -Emissionen<br />

M10 – CO 2 -Emissionen pro Kilometer<br />

Zeit (Verlauf eines definierten Jahres, Granularität: Monat).<br />

Endanwender-ID (Indirekt ausgelesen über eingeloggten Nutzer).<br />

Wechseln zwischen den dargestellten Kennzahlen über Navigationsmenü.<br />

Auswahl einer befreundeten Referenzperson für Vergleichskurve.<br />

Mouseover über Chart für detaillierte Monatskennzahl.<br />

Tabelle 3.6: Charakteristika des Dashboards „Endanwender-Kennzahlen über die Zeit“<br />

Zentrale Einheit des Webinterfaces bildet die graphische Darstellung der Kennzahlen. Neben dem<br />

Chart beinhaltet das Webinterface zwei weitere wesentliche Bereiche:<br />

75


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

<br />

<br />

Eine individuelle Überschrift, welche den aktuell angemeldeten Anwender namentlich begrüßt<br />

und durch einen begleitenden Satz zur Nutzung des Dashboards motiviert.<br />

Eine Navigationsleiste die eine Interaktion mit dem Dashboard ermöglicht. Diese beinhaltet:<br />

o Ein Drop-Down-Menü mit welchem der Anwender durch die Anwendung navigieren<br />

und sich die vier Kennzahlen CO2-Emission, Kosten, Reisezeit und Reisetrecke in unterschiedlichen<br />

Darstellungsformen dynamisch anzeigen lassen kann.<br />

o Ein Drop-Down-Menü über welches der Anwender auswählen kann, mit welchen seiner<br />

Freunde er sich vergleichen möchte. Ist kein Freund gewählt, wird der Plattformdurchschnitt<br />

als Vergleich dargestellt.<br />

o Ein Logout-Button der es dem Anwender ermöglicht sich von der Anwendung abzumelden.<br />

Eine weitere Darstellungsform ist die der Aufschlüsselung der Kennzahlen nach den genutzten Verkehrsmitteln<br />

in Form von Kuchendiagrammen (siehe Abbildung 3.8).<br />

Abbildung 3.8: Mockup des Dashboards „Endanwender-Kennzahlen nach Verkehrsmittel“<br />

76


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimension<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Die beiden Kuchendiagramme zeigen den Anteil der Verkehrsmittel an<br />

der gewählten Kennzahl.<br />

Das linke Kuchendiagramm zeigt hierbei die Anteile des aktuellen Anwenders,<br />

während das rechte Diagramm die Anteile einer Referenzperson<br />

abbildet. In diesem Beispiel die im Drop-Down-Menü gewählte<br />

Freundin Christina.<br />

M03 – Reisestrecke<br />

M04 – Reisekosten<br />

M06 – Reisezeit<br />

M09 – CO 2 -Emissionen<br />

Verkehrsmittel (Aggregiert auf ein Jahr).<br />

Endanwender-ID (Indirekt ausgelesen über eingeloggten Nutzer).<br />

Wechseln zwischen den dargestellten Kennzahlen über Navigationsmenü.<br />

Auswahl der Referenzperson für Vergleichsdiagramm.<br />

Tabelle 3.7: Charakteristika des Dashboards „Endanwender nach Verkehrsmittel“<br />

Eine weitere Darstellungsform ist die Visualisierung des CO 2 -Einsparpotentials des Anwenders. Hierdurch<br />

soll aufgezeigt werden, wie viel nachhaltiger sich ein Anwender verhalten könnte, wenn er<br />

CO2-emissionsärmere Verkehrsmittel wählen würde (siehe Abbildung 3.9).<br />

Abbildung 3.9: Mockup des Dashboards „CO 2 -Einsparpotential des Anwenders“<br />

77


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimension<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Das Dashboard beinhaltet zwei unterschiedliche Diagramme.<br />

Im linken Chart wird dargestellt wie sich der CO 2 -Ausstoß des Anwenders<br />

im Vergleich zu seinem maximal und minimal möglichen CO 2 -<br />

Ausstoß verhält. Der Kurvenverlauf des Anwenders bewegt sich dabei<br />

im Bereich zwischen der minimalen und maximalen CO 2 -Emission.<br />

Auf der rechten Seite wird ein Nachhaltigkeitstacho dargestellt, welcher<br />

den Inhalt des linken Charts kompakt zusammenfasst. Ziel ist es, dem<br />

Anwender aufzuzeigen, wie viel Prozent seines CO 2 -Einsparpotentials er<br />

ausgeschöpft hat und wie viel nachhaltiger er sich noch verhalten könnte.<br />

M09 – CO 2 -Emission<br />

M11 – Ausgeschöpftes CO 2 -Reduktionspotential<br />

Verkehrsmittel (Aggregiert auf ein Jahr).<br />

Endanwender-ID (Indirekt ausgelesen über eingeloggten Nutzer)<br />

Keine<br />

Tabelle 3.8: Charakteristika des Dashboards „CO 2 -Einsparpotential des Anwenders“<br />

3.5.2 Reporting für Management, Wissenschaftler & Mobilitätsanbieter<br />

Für Management, Wissenschaftler und Mobilitätsanbieter werden die folgenden Dashboards und Reports<br />

definiert. Mithilfe des SQL Server Reporting Services (SSRS) sollen umgesetzt werden:<br />

<br />

<br />

<br />

<br />

<br />

<br />

SSRS1: Jinengo-Überblick<br />

SSRS2: Clusteranalyse<br />

SSRS3: Orte in Oldenburg<br />

SSRS4: Nutzung der Plattform<br />

SSRS5: Reisekennzahlen nach Zeit & Verkehrsmittel<br />

SSRS6: Reisekennzahlen nach Zeit & Präferenz<br />

Diese Dashboards und Reports lassen sich einzeln über das SSRS-Webportal aufrufen. Zudem ermöglichen<br />

Verknüpfungen die einfache Navigation zwischen den einzelnen Elementen. So soll es möglich<br />

sein, alle Reporting-Elemente über die Navigation des SSRS1-Dashboards zu erreichen. Von allen<br />

<strong>and</strong>eren Elementen lässt es sich zu SSRS1 zurücknavigieren. Die technische Einheitlichkeit der einzelnen<br />

Elemente wird durch einen einheitlichen graphischen Stil komplettiert.<br />

Mithilfe von QlikView sollen umgesetzt werden:<br />

<br />

QV1: Dashboard zur Plattformnutzung<br />

78


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

SSRS1: Jinengo-Überblick<br />

Tabelle 3.9 und Abbildung 3.10 beschreiben Inhalt und Aufbau des Dashboards „Jinengo-Überblick“.<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Das Dashboard gibt einen Überblick über die Nutzung der Plattform<br />

und ausgewählte Kennzahlen. Dargestellt werden: Anzahl der Routen<br />

und der aktiven Endanwender, die beliebtesten Abfahrtsorte (Top 10),<br />

sowie der Streckenanteil der Verkehrsmittel und der Anteil der unterschiedlichen<br />

Endanwendergruppen (Attributscluster des Data Minings).<br />

Das Dashboard ist von besonderer Bedeutung für das Jinengo-<br />

Management. Aber auch Wissenschaftler & Mobilitätsanbieter können<br />

sich unter Umständen für eine solche Darstellung interessieren.<br />

- J01 – Anzahl aktiver Endanwender<br />

- M01 – Anzahl der Routen<br />

- M03 – Reisestrecke<br />

- Zeit (Quartal des ausgewählten Jahres) für die Kennzahlen J01 und<br />

M01<br />

- Raum (Abfahrtsort) für die Kennzahl M01<br />

- Verkehrsmittel sowie Attributscluster (Endanwender) für Kennzahl<br />

M03<br />

Relationales sowie multidimensionales Data Warehouse<br />

Per Internet Explorer über das SSRS-Webportal<br />

Jahr, für welches das Mobilitätsverhalten dargestellt werden soll<br />

Keine<br />

Tabelle 3.9: Charakteristika des Dashboards „Jinengo-Überblick“<br />

Abbildung 3.10: Mockup des Dashboards „Jinengo-Überblick“<br />

79


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

SSRS2: Clusteranalyse<br />

Tabelle 3.10 und Abbildung 3.11 beschreiben Inhalt und Aufbau des Dashboards „Clusteranalyse“.<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Das Dashboard stellt das Verhalten eines angenommenen durchschnittlichen<br />

Endanwenders dar. Die Durchschnittsbildung erfolgt dabei<br />

zweimal, jeweils auf Grundlage eines der beiden Cluster (Attribut- und<br />

Nachhaltigkeitscluster).<br />

Das „Durchschnittsverhalten“ der beiden Cluster wird dabei jeweils mit<br />

den gesamten Reisekosten, den gesamten CO 2 -Emissionen und den<br />

CO 2 -Emissionen pro Kilometer beschrieben.<br />

- M04 – Reisekosten<br />

- M09 – CO 2 -Emissionen<br />

- M10 – CO 2 -Emissionen<br />

Attributscluster sowie Nachhaltigkeitscluster der Endanwender<br />

Multidimensionales Data Warehouse<br />

Per Internet Explorer über das SSRS-Webportal<br />

Jahr, für welches das Mobilitätsverhalten dargestellt werden soll<br />

Keine<br />

Tabelle 3.10: Charakteristika des Dashboards „Clusteranalyse“<br />

Abbildung 3.11: Mockup des Dashboards "Clusteranalyse"<br />

80


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

SSRS3: Orte in Oldenburg<br />

Tabelle 3.11 und Abbildung 3.12 beschreiben Inhalt und Aufbau des Dashboards „Orte in Oldenburg“.<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Das Dashboard gibt Einblick in das Mobilitätsverhalten in Oldenburg.<br />

Es steht damit exemplarisch für eine regionale Analyse von Verkehrsverhalten.<br />

Beliebte Abfahrtsorte bzw. Zielorte von Routen werden auf einer<br />

L<strong>and</strong>karte visualisiert. Die Orte werden entsprechend ihrer Attraktivität<br />

auf der Karte eingefärbt.<br />

Das Dashboard ist insbesondere für in der Region ansässige Mobilitätsanbieter<br />

von Interesse. So könnte beispielsweise ein CarSharing-<br />

Unternehmen lukrative neue St<strong>and</strong>orte für Parkplätze evaluieren.<br />

M01 – Anzahl der Routen<br />

Raum (auf L<strong>and</strong>karte)<br />

Relationales Data Warehouse<br />

Per Internet Explorer über das SSRS-Webportal<br />

Jahr, für welches das Mobilitätsverhalten dargestellt werden soll<br />

Keine<br />

Tabelle 3.11: Charakteristika des Reports „Orte in Oldenburg“<br />

Abbildung 3.12: Mockup des Dashboards "Orte in Oldenburg"<br />

81


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

SSRS4: Nutzung der Plattform<br />

Tabelle 3.12 und Abbildung 3.13 beschreiben den Report „Nutzung der Plattform“.<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Der Report gibt einen Überblick über die Entwicklung und Nutzung<br />

der Plattform im Laufe des Jahres. Diese Übersicht ist von besonderer<br />

Bedeutung für das Jinengo-Management. Aber auch Wissenschaftler<br />

& Mobilitätsanbieter können sich unter Umständen für eine solche<br />

Darstellung interessieren.<br />

- J01 – Anzahl aktiver Endanwender<br />

- J02 – Anzahl registrierter Endanwender<br />

- J03 – Anteil aktiver Endanwender<br />

- M01 – Anzahl der Routen<br />

- M03 – Reisestrecke<br />

- M04 – Reisekosten<br />

- M09 – CO2-Emissionen<br />

- M11 – Ausgeschöpftes CO2-Reduktionspotential<br />

Zeit (Verlauf eines definierten Jahres, Granularität: Monat)<br />

Relationales Data Warehouse<br />

Per Internet Explorer über das SSRS-Webportal<br />

Jahr, für welches die Kennzahlen dargestellt werden sollen<br />

Keine<br />

Tabelle 3.12: Charakteristika des Reports „Nutzung der Plattform“<br />

Abbildung 3.13: Mockup des Reports „Nutzung der Plattform“<br />

82


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

SSRS5: Reisekennzahlen nach Zeit & Verkehrsmittel<br />

Tabelle 3.13 und Abbildung 3.14 beschreiben den Report „Reisekennzahlen nach Zeit & Verkehrsmittel“.<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Der Report schlüsselt ausgewählte Reisekennzahlen mithilfe der beiden<br />

Dimensionen Zeit und Verkehrsmittel zweidimensional auf. Beide<br />

Dimensionen ermöglichen ein Drilldown.<br />

- M01 – Anzahl der Routen<br />

- M03 – Reisestrecke<br />

- M04 – Reisekosten<br />

- M06 – Reisezeit<br />

- M09 – CO2-Emissionen<br />

Verkehrsmittel und Zeit<br />

Multidimensionales Data Warehouse<br />

Per Internet Explorer über das SSRS-Webportal<br />

Zeitraum, für welchen die Kennzahlen dargestellt werden sollen<br />

Drilldown der Dimensionen – Beim Verkehrsmittel kann vom allgemeinen<br />

Typ auf die genaue Instanz gewechselt werden, bei der Zeit<br />

kann von Jahresebene auf Quartalsebene gewechselt werden.<br />

Der Report ermöglicht über einen Link den schnellen Sprung zu Report<br />

SSRS6.<br />

Tabelle 3.13: Charakteristika des Reports „Reisekennzahlen nach Zeit & Verkehrsmittel“<br />

Abbildung 3.14: Mockup des Reports „Reisekennzahlen nach Zeit & Verkehrsmittel“<br />

83


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

SSRS6: Reisekennzahlen nach Zeit & Präferenz<br />

Tabelle 3.14 und Abbildung 3.15 beschreiben den Report „Reisekennzahlen nach Zeit & Präferenz“.<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Der Report schlüsselt ausgewählte Reisekennzahlen mithilfe der beiden<br />

Dimensionen Zeit und Präferenzen (des Anwenders, der die Reise unternommen<br />

hat) zweidimensional auf. Die Präferenzen Kosten, Komfort,<br />

Nachhaltigkeit und Zeit werden entsprechend ihrer Wertausprägungen<br />

in Gruppen eingeteilt. Die Zeitdimension ermöglicht ein Drilldown.<br />

Nutzer können mithilfe dieses Reports analysieren, ob und wie die Reisekennzahlen<br />

von den eingestellten Präferenzen der Endanwender abhängig<br />

sind.<br />

- M01 – Anzahl der Routen<br />

- M03 – Reisestrecke<br />

- M04 – Reisekosten<br />

- M06 – Reisezeit<br />

- M09 – CO2-Emissionen<br />

Anwenderpräferenzen und Zeit<br />

Multidimensionales Data Warehouse<br />

Per Internet Explorer über das SSRS-Webportal<br />

Zeitraum, für welchen die Kennzahlen dargestellt werden sollen<br />

Drilldown der Dimension Zeit – Es kann von der Jahresebene auf die<br />

Quartalsebene gewechselt werden. Der Report ermöglicht über einen<br />

Link den schnellen Sprung zu Report SSRS5.<br />

Tabelle 3.14: Charakteristika des Reports „Reisekennzahlen nach Zeit & Präferenz“<br />

Abbildung 3.15: Mockup des Reports „Reisekennzahlen nach Zeit & Präferenz“<br />

84


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

QV1: Dashboard zur Plattformnutzung<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

Das Dashboard gibt auf Jahres- und Monatsebene Auskunft über die<br />

Nutzung der Plattform Jinengo. Dem Jinengo-Management soll dieses<br />

Dashboard ermöglichen, die Entwicklung der wichtigsten Leistungskennzahlen<br />

der Plattform mittel- und langfristig im Blick zu behalten.<br />

Außerdem geben zwei graphische Skalen Auskunft über die kurzfristige<br />

Entwicklung der Plattform.<br />

J01 - Anzahl aktiver Endanwender<br />

M01 - Anzahl der Routen<br />

M10 - CO2-Emissionen pro Kilometer<br />

Zeit (Verlauf mehrere Jahre und der Monate eines gewählten Jahres)<br />

Relationales sowie multidimensionales Data Warehouse<br />

Über die entsprechende QlikView-Datei mittels QlikView selbst.<br />

Jahr, für das der Verlauf dargestellt werden soll<br />

Einkommensgruppe, für die der Verlauf dargestellt werden soll<br />

Wählen der abzubildenden Einkommensgruppe und des Jahres indem<br />

diese in den jeweiligen Diagrammen angeklickt wurden (Zeit in „Gewählte<br />

Routen“ und „CO 2 -Emissionen pro Kilometer“). Außerdem können<br />

über die Listen „Jahreseinkommen“ und „Familienst<strong>and</strong>“ die angezeigten<br />

Daten weiter eingeschränkt werden. Hierfür muss nur der gewünschte<br />

Wert in der Liste angeklickt werden. Sowohl Mehrfachauswahl,<br />

als auch die Kombination von Auswahlen in beiden Listen ist<br />

möglich.<br />

Tabelle 3.15: Charakteristika des Dashboards „Plattformnutzung“<br />

Abbildung 3.16: Mockup des QlikView-Dashboards zur Plattformnutzung<br />

85


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

3.5.3 Self-Service BI für Management, Wissenschaftler & Mobilitätsanbieter<br />

Bei der Bereitstellung der Möglichkeiten zur Self-Service-BI für das Jinengo-Management geht es<br />

primär darum, den größtmöglichen Zugriff auf Informationen zu gewähren. Entgegen den Anforderungen<br />

bei vorgefertigten Dashboards und Reports, soll Self-Service BI dem Nutzer die Möglichkeit<br />

geben, selbst zu entscheiden, welche Daten er sich wie darstellen lassen möchte. Dabei sollen sich<br />

diese Wahlmöglichkeiten nicht nur auf die Veränderung von Parametern wie der zeitlichen Dimension<br />

der Daten beschränken. Er soll stattdessen aus den vorh<strong>and</strong>enen Daten des Systems frei wählen können.<br />

Je nach verwendeter Darstellungssoftware soll bei der Bereitstellung der Daten also darauf geachtet<br />

werden, dass diese möglichst untransfomiert und ungefiltert zur Verfügung stehen. Für Excel wird<br />

darum exemplarisch ein Cube zur Verfügung gestellt, während QlikView den vollen Zugriff auf die<br />

Daten des Data Warehouse erhält. Dabei hat QlikView nicht nur durch die Datenbasis die größeren<br />

Möglichkeiten der Darstellung. Auch im Bereich der Visualisierung weist QlikView einige Vorteile<br />

gegenüber Excel auf. QlikView wurde daher auch als Anwendung für die Erstellung eines Dashboards<br />

gewählt. In diesem Abschnitt soll der Fokus daher auf die Möglichkeiten von Excel gelegt werden.<br />

Excel bietet insbesondere die Möglichkeit zur Einbindung von multidimensionalen Daten (Cubes). Für<br />

diesen Bereich sollen mit Hilfe von Excel folgende Self-Service BI-Lösungen umgesetzt werden:<br />

<br />

<br />

<br />

MSEx1: Self-Service BI-Lösung für allgemeine Plattforminformationen<br />

MSEx2: Self-Service BI-Lösung für detaillierte Plattforminformationen<br />

MSEx3: Self-Service BI-Lösung für detaillierte Nachhaltigkeitsinformationen<br />

86


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

MSEx1: Self-Service BI-Lösung für allgemeine Plattforminformationen<br />

Inhalt & Zweck Angelehnt an das „Dashboard zur Plattformnutzung“ (vgl. Kap. 1.1)<br />

soll diese Übersicht einen ersten, aber dennoch detaillierten Einblick<br />

in die Nutzung der Plattform geben.<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

J01- Anzahl aktiver Endanwender<br />

J02- Anzahl registrierter Endanwender<br />

J03- Anteil aktiver Endanwender<br />

M01- Anzahl der Routen<br />

M10- CO2-Emissionen pro Kilometer<br />

Zeit (in Jahren und Monaten (ja nach gewählter Software))<br />

Analysis Service Cube<br />

Die erstellte Datei lässt sich über Microsoft Excel aufrufen.<br />

Zeit (Jahr, Monat)<br />

In den Diagrammen lassen sich über die Schaltflächen „Monat“<br />

(rechts neben den Diagrammen) die angezeigten Daten nach Monaten<br />

selektieren. Außerdem kann man sich die 10 höchsten dargestellten<br />

Monate anzeigen lassen. Dies funktioniert in allen Diagrammen deren<br />

Dimension eine zeitliche ist.<br />

Tabelle 3.16: Charakteristika zur Self-Service-BI-Lösung für allgemeine Plattforminformationen<br />

Abbildung 3.17: Mockup zur Self-Service-BI-Lösung für allgemeine Plattforminformationen<br />

87


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

MSEx2: Self-Service BI-Lösung für detaillierte Plattforminformationen<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

In dieser Lösung sollen dem Betrachter detaillierte Informationen zur<br />

Plattformnutzung gegeben werden. Dabei sind hier insbesondere die<br />

die Vielzahl an variablen Dimensionen wichtig um die Daten nicht<br />

nur in der Gesamtheit betrachten zu können, sondern gezielt und anforderungsspezifische<br />

Eingrenzungen vorzunehmen.<br />

J01 – Anzahl aktiver Endanwender<br />

J02 – Anzahl registrierter Endanwender<br />

M01– Anzahl der Routen<br />

M02 – Anzahl der Subrouten<br />

Zeit, Verkehrsmittel, Reisezweck, Einkommen des Nutzers<br />

Analysis Service Cube<br />

Die erstellte Datei lässt sich über Microsoft Excel aufrufen.<br />

Excel: Zeit (Jahr, Monat)<br />

QlikView: Verkehrsmittel, Reisezweck und Einkommensbereich<br />

In den Diagrammen lassen sich über die Schaltflächen „Monat“<br />

(rechts neben den Diagrammen) die angezeigten Daten nach Monaten<br />

selektieren. Außerdem kann man sich die 10 höchsten dargestellten<br />

Monate anzeigen lassen. Dies funktioniert in allen Diagrammen deren<br />

Dimension eine zeitliche ist.<br />

Mit QlikView wäre es außerdem möglich die Auswahl nach Verkehrsmittel,<br />

Reisezweck oder Einkommensbereich des Nutzers einzuschränken.<br />

Tabelle 3.17: Charakteristika zur Self-Service-BI-Lösung für detaillierte Plattforminformationen<br />

Abbildung 3.18: Mockup zur Self-Service BI-Lösung für detaillierte Plattforminformationen<br />

88


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

MSEx3: Self-Service BI-Lösung für detaillierte Nachhaltigkeitsinformationen<br />

Inhalt & Zweck<br />

Dargestellte Kennzahlen<br />

Abgebildete Dimensionen<br />

Datengrundlage<br />

Zugriffsmöglichkeit<br />

Parameter<br />

Interaktionsmöglichkeiten<br />

In dieser Lösung sollen dem Betrachter detaillierte Informationen zur<br />

Plattformnutzung gegeben werden. Dabei sind hier insbesondere die<br />

Vielzahl an variablen Dimensionen wichtig um die Daten nicht nur in<br />

der Gesamtheit betrachten zu können, sondern gezielt und anforderungsspezifische<br />

Eingrenzungen vorzunehmen.<br />

M10- CO 2 -Emissionen pro Kilometer<br />

Zeit, Verkehrsmittel, Einkommensgruppen, Personencluster<br />

Analysis Service Cube<br />

Die erstellte Datei lässt sich über Microsoft Excel aufrufen.<br />

Zeit (Monat, Jahr), Verkehrsmittel, Einkommensgruppe, Personencluster<br />

In den Diagrammen lassen sich über die enthaltenen Schaltflächen<br />

(weiter eingrenzen.<br />

Mit QlikView wäre es außerdem möglich die Auswahl nach Verkehrsmittel,<br />

Reisezweck oder Einkommensbereich auf alle angezeigten<br />

Diagramme anzuwenden.<br />

Tabelle 3.18: Charakteristika zur Self-Service-BI-Lösung für detaillierte Nachhaltigkeitsinformationen<br />

Abbildung 3.19: Mockup zur Self-Service BI-Lösung für detaillierte Nachhaltigkeitsinformationen<br />

89


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

4. Realisierung<br />

4.1 Datengenerator<br />

Bei der bisherigen Umsetzung der Plattform Jinengo h<strong>and</strong>elt es sich um eine Software, die bislang<br />

noch nicht im operativen Betrieb eingesetzt wurde. Aufgrund der bislang unzureichenden Nutzung der<br />

Plattform sind derzeit nicht genügend reale Daten verfügbar. Ein Kernbest<strong>and</strong>teil dieses BI-Projekts<br />

ist jedoch die Analyse und Visualisierung von Daten. Eine hinreichend große Datenmenge soll daher<br />

mithilfe eines Datengenerators künstlich geschaffen werden. Ziel des Generators ist es, auf Basis von<br />

künstlich angelegten Endanwender und der vorh<strong>and</strong>enen Jinengo-Schnittstelle 14 Routendaten zu generieren.<br />

Primäres Augenmerk bei der Datengenerierung liegt auf der Schaffung einer Datenbasis mit<br />

gewissen „plausiblen“ Mustern, die nachträglich z.B. im Rahmen des Data Mining erkannt werden<br />

sollen.<br />

In Tabelle 4.1 sind die Datenarten, ihre Erstellungsreihenfolge, die dazu genutzte Technologie, sowie<br />

die davon betroffenen Entitäten übersichtlich aufgeführt. Ein Schwerpunkt liegt dabei auf den Mobilitätsdaten<br />

(Bewegungsdaten). Die Stammdaten werden hingegen lediglich einmalig zu Beginn eingespielt.<br />

Die Einspielung der Geokoordinaten sowie der Freundschaften geschieht nach Bedarf manuell.<br />

da diese Anforderungen erst nachträglich hinzukamen und im Falle der Geokoordinaten die Google-<br />

Maps-API zudem bezüglich der Anfragen limitiert ist.<br />

Reihenfolge<br />

Klassifikation Entitäten Technologie<br />

1 Stammdaten JinengoUser, FamilyStatus, IncomeRange,<br />

Preferences, RailMembership, Car-<br />

SharingMembership, Need, Transportation<br />

und TransportationType<br />

2 Mobilitätsdaten<br />

(Bewegungsdaten)<br />

Route, Subroute<br />

TSQL<br />

3 Geokoordinaten Route TSQL<br />

4 Freundschaften JinengoUserFriend TSQL<br />

Tabelle 4.1: Im Datengenerator unterschiedene Datenarten<br />

Java<br />

14 Die REST-API von Jinengo ist funktional und liefert für gegebene Start- und Zielpunkte eine Menge von Reisealternativen.<br />

90


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

4.1.1 Stammdaten<br />

Die Stammdaten bilden die Grundlage der operativen Datenbank. Die entsprechenden Daten sollen<br />

daher über ein TSQL-Skript einmalig in die Datenbank eingespielt werden.<br />

Zunächst müssen die essentiellen Stammdatentabellen gefüllt werden, die als Referenz für verschiedene<br />

Wertelisten dienen. Dazu zählen die folgenden Tabellen:<br />

Familienst<strong>and</strong> (FamilyStatus) – Ausprägungen „ledig“, „verheiratet“, „geschieden“, „verwitwert“<br />

Bahncard-Mitgliedschaft (RailMembership) – Ausprägungen „keine“ sowie „BC25“, „BC50“<br />

und „BC100“ (jeweils erste und zweite Klasse)<br />

Einkommen (IncomeRange) – Ausprägungen „0 – 20.000”, „20.000 – 40.000”, „40.000 –<br />

70.000”, „70.000 – 100.000”, „100.000 – 200.000” sowie „200.000 und mehr” (jeweils EUR)<br />

Verkehrsmittel und übergeordneter Verkehrsmitteltyp:<br />

o „Human Powered“ – Ausprägungen „zu Fuß“, „konventionelles Fahrrad“ & „E-Bike“<br />

o „PKW-Privat“ – Ausprägungen „Klein-„, „Mittelklasse-„ und „Oberklassewagen“<br />

sowie „Elektroauto“<br />

o „Car Sharing“ – Ausprägungen „Flinkster“, „Cambio“, „Car2Go“ & „BMW iDrive”<br />

o “ÖPNV” – Ausprägungen „Bus”, „Oberleitungsbus” & „Straßenbahn”<br />

o „Fernverkehr“ – Ausprägungen „RE“, „REx“, „ME“, „MEr“, „NWB“, „IC“ & „ICE“<br />

Von besonderer Bedeutung sind die fiktiven Endanwender in der Tabelle JinengoUser. Um halbwegs<br />

plausible Muster in den Daten bezüglich Familienst<strong>and</strong>, Einkommen, Bahncard-Mitgliedschaft sowie<br />

verfügbare Verkehrsmittel zu erhalten, stehen die einzelnen persönlichen Anwenderattribute in Beziehung<br />

zuein<strong>and</strong>er. Tabelle 4.2 stellt die gegenseitigen Abhängigkeiten detailliert dar 15 . Auch die Präferenzen<br />

der Endanwender (Tabelle Preferences) werden analog in Abhängigkeit der Endanwenderattribute<br />

bestimmt.<br />

Nach der Generierung der Präferenzen sollen die Endanwenderattribute vereinzelt dann wieder auf<br />

NULL gesetzt werden, um unvollständige Angaben (z.B. aus Datenschutzbedenken) zu simulieren.<br />

15 Attribute ohne besondere Relevanz, die lediglich der Vollständigkeit halber aufgeführt werden, sind unabhängig<br />

von den <strong>and</strong>eren Attributen. So ist zum Beispiel die Adresse aller Endanwender dieselbe, da diese in den<br />

späteren exemplarischen Anwendungsfeldern keine Rolle spielt. Entsprechende Attribute werden daher in der<br />

Tabelle 4.2 auch nicht aufgeführt.<br />

91


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Die Wahrscheinlichkeit einer Zurücksetzung der Daten korreliert dabei mit der Sensibilität der Information<br />

und ist daher beim Einkommen am höchsten.<br />

Attribut Abhängig von Erklärung<br />

name gender In Abhängigkeit vom vergebenen Geschlecht des zu erstellenden<br />

Endanwenders wird einer von 10 männlichen oder<br />

weiblichen Namen gewählt.<br />

incomeRangeID - Das Einkommen wird den Anwendern über eine Zufallszahl<br />

zugewiesen. Dabei ist die Wahrscheinlichkeit für ein niedriges<br />

bis mittleres Einkommen höher, als für ein hohes Einkommen.<br />

familyStatusID incomeRangeID Der Familienst<strong>and</strong> eines Anwenders wird vom Einkommen<br />

beeinflusst. Hinzu kommt ein Verrauschungsfaktor in Form<br />

einer Zufallszahl, welche dafür sorgt, dass nicht jeder Endanwender<br />

mit einem guten Einkommen eine Familie hat.<br />

ownsPEV incomeRangeID Umso höher das Einkommen eines Anwenders umso größer<br />

ist die Wahrscheinlichkeit, dass er ein Plug-In Electric Vehicle<br />

(PEV) besitzt. Die Wahrscheinlichkeit für diesen Fall<br />

ist dennoch sehr gering gehalten.<br />

ownsGasCar incomeRangeID Umso höher das Einkommen eines Anwenders umso größer<br />

ist die Wahrscheinlichkeit, dass er ein Auto besitzt. Die<br />

Wahrscheinlichkeit für diesen Fall ist deutlich höher als für<br />

den Besitz des PEV.<br />

ownsEBike - Der Besitz eines eBikes wird über eine Zufallszahl bestimmt.<br />

Da eBikes heut zu Tage noch nicht sonderlich verbreitet<br />

sind, liegt die Wahrscheinlichkeit für diesen Fall bei<br />

20%.<br />

publicTransport-<br />

Member<br />

railMembership<br />

maxDistance-<br />

ToWalk<br />

- Hier wird dem Anwender ein rein zufälliger Wert zugewiesen.<br />

maxDistance-<br />

ToBike<br />

ownsGasCar,<br />

ownsPEV,<br />

ownsEBike<br />

incomeRangeID,<br />

ownsGasCar<br />

In Abhängigkeit von den Fahrzeugen, die der modellierte<br />

Anwender besitzt wird Ihm eine Monatskarte zugeteilt.<br />

Dabei erhöhen der Besitzt von PEV und eBike die Wahrscheinlichkeit,<br />

während der Besitz eines Autos die Wahrscheinlichkeit<br />

verringert.<br />

Das Einkommen beeinflusst ob und welche Bahncard der<br />

Anwender hat. Desto Wahrscheinlicher ist es, dass der Endanwender<br />

eine teurere Bahncard besitzt. Außerdem erhöht<br />

sich die Wahrscheinlichkeit für eine Bahncard 100, wenn<br />

die abgebildete Person kein Auto besitzt.<br />

ownsEBike<br />

Im ersten Schritt erhält der Endanwender eine rein zufällig<br />

gewählte Zahl für diese Eigenschaft. Anschließend wird<br />

allerdings überprüft ob der Anwender ein eBike besitzt.<br />

Sollte dies der Fall sein, wird seine minimale Distanz auf 10<br />

Kilometer gesetzt.<br />

Tabelle 4.2: Erläuterung der Attribut-Abhängigkeiten<br />

92


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Mobilitätsdaten (Bewegungsdaten)<br />

Das Ziel der möglichst realistischen Generierung von unterschiedlichen Routendaten soll mit Hilfe<br />

eines mehrstufigen Java-Programms umgesetzt werden. Die einzelnen Stufen der Datenerzeugung<br />

werden dabei anh<strong>and</strong> des Sequenzdiagrammes in Abbildung 4.1 dargestellt. Dies dient dem besseren<br />

Verständnis der Zusammenhänge und der Interaktion der einzelnen Komponenten.<br />

Als Grundlage für die Generierung der Routendaten werden die zuvor angelegten Anwenderdaten<br />

verwendet. Dabei gliedert sich der Ablauf in fünf wesentliche Schritte, die in Tabelle 4.3 mit samt<br />

ihrer zugehörigen Methode aufgeführt sind.<br />

Schritte<br />

beteiligte Programmkomponenten<br />

1. Anwenderliste generieren Hauptcontroller, Anwendermodellierer<br />

2. Routenmodell anlegen Routencontroller, Routenmodellierer<br />

3. Berechnung der ergänzenden Eigenschaften<br />

Routenerweiterer<br />

4. Validierung der Routen Routenvaliderer<br />

5. Auswahl der Route Routenentscheider<br />

1. Anwenderliste generieren<br />

Tabelle 4.3: Zuordnung der Arbeitspakete zu den Programmkomponenten<br />

Zuerst werden für jeden Anwender die Daten aus der Tabelle JinengoUser der operativen Datenbank<br />

geladen. Diese Daten werden im selben Schritt in ein Java-Modell übertragen. Die Eigenschaften des<br />

Java-Anwender-Modells entsprechen dabei in etwa denen der Endanwendertabelle aus der operativen<br />

Datenbank. Auf Eigenschaften, welche die Routenwahl nicht beeinflussen, wird hingegen verzichtet.<br />

Abgebildet wurden in dem Modell: Identifikationsnummer, Einkommen, Familienst<strong>and</strong>, Auskunft<br />

über den Besitzt eines Elektroautos (PEV), Auskunft über den Besitz eines Autos, Auskunft über eine<br />

CarSharing-Mitgliedschaft, Auskunft über den Besitz eines E-Bike, Auskunft über den Besitz einer<br />

Monatskarte, Auskunft zur Wegstrecke die der Anwender zu Fuß zurücklegen würde, Auskunft zur<br />

Wegstrecke die der Anwender mit dem Fahrrad zurücklegen würde sowie die Präferenzen.<br />

All diese Informationen werden zur Routenvalidierung und zur Routenauswahl benötigt um eine möglichste<br />

realistische Auswahl für den jeweiligen fiktiven Anwender treffen zu können. Nachdem die<br />

Daten zu jedem Anwender an das Java-Programm übergeben wurden und alle Anwender in einer Liste<br />

gespeichert wurden, wird diese Liste nun schrittweise durchgearbeitet um für jeden Endanwender<br />

Routendaten zu generieren.<br />

93


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

2. Routenmodell anlegen<br />

Im zweiten Schritt wird für den erstellten Anwender ein Start- und Zielort aus einer separat hinterlegten<br />

Datei gewählt. Die Anwendung hat darauf zu achten, dass sich Start- und Zielort unterscheiden.<br />

Mit diesen Orten als Eigenschaften, soll eine Routenanfrage an die Jinengo-Schnittstelle (REST-API)<br />

gestellt werden.<br />

Die Routen- und Subrouten-Ergebnisse der Abfrage werden anschließend in zwei Java-Modellen abgelegt.<br />

Dabei enthält jedes Routenmodel zusätzlich zu den Eigenschaften eine Liste, welche auf die<br />

zugehörigen Subrouten verweist. Die Eigenschaften beider Modelle sollen hierbei denen der entsprechenden<br />

Datenbanktabellen (Anhang a) gleichen.<br />

3. Berechnung der ergänzenden Eigenschaften<br />

Die Datengrundlage, welche die Jinengo-Schnittstelle für die Routen per REST-API liefert ist für die<br />

definierten Anforderungen nicht ausreichend und muss daher durch den Routengenerator ergänzt werden.<br />

Hierfür wird ein Modul entwickelt, welches die Routen und Subrouten um benötigte Eigenschaften<br />

erweitert.<br />

Dabei werden die Routen um die Eigenschaften aus Tabelle 4.4 erweitert. Da die REST-API von<br />

Jinengo zudem nur drei verschiedene Verkehrsmittel zurückgibt, werden die Subrouten zudem zufällig<br />

den zuvor angelegten Verkehrsmitteln (insgesamt 21) zugeordnet. Dabei wirkt sich jedoch das Einkommen<br />

auf die Entscheidung aus. Einkommensstärkere Personen tendieren daher eher zu Oberklassewagen<br />

und ICE als Kleinwagen und NWB.<br />

94


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Eigenschaft Attribut Berechnung<br />

ID ID Für jede Route wird eine eindeutige Routen-<br />

ID berechnet. Dies entspricht der maximalen<br />

Routen-ID in der Datenbank + 1.<br />

Start- und Zielort<br />

sowie -zeit<br />

departureAdress,<br />

destinationAdress,<br />

departureTime,<br />

destinationTime<br />

Die Jinengo REST-API liefert Start und<br />

Zielort nur auf Subrouten-Ebene. Diese Eigenschaften<br />

werden auch auf die übergeordnete<br />

Gesamtroute übertragen. Gleiches gilt<br />

für die Start- und Endzeit der Reise.<br />

Gepäck luggage Mit 25% Wahrscheinlichkeit hat der Endanwender<br />

Gepäck dabei. Bei verheirateten<br />

Personen steigt die Wahrscheinlichkeit auf<br />

50%.<br />

Anzahl der Reisenden passengers 25% der Fahrten werden von Gruppen getätigt.<br />

Außerdem gelten verheiratete Personen<br />

als Familien. Gruppen und Familien fahren<br />

tendenziell mit mehr Personen (1-6).<br />

CO 2 -Emissionen<br />

(im Vergleich zur<br />

besten und schlechtesten<br />

Routenalternative)<br />

Zeit<br />

(im Vergleich zur<br />

besten und schlechtesten<br />

Routenalternative)<br />

Nutzbare Zeit<br />

(im Vergleich zur<br />

besten und schlechtesten<br />

Routenalternative)<br />

Gesamtkosten<br />

(im Vergleich zur<br />

besten und schlechtesten<br />

Routenalternative)<br />

ecoImpactAdvantage,<br />

ecoImpactDisadvantage<br />

timeAdvantage,<br />

timeDisadvantage<br />

effectiveTimeAdvantage,<br />

effectiveTimeDisadvantage<br />

costsAdvantage,<br />

costsDisadvantage<br />

Die einzelnen EcoImpact Werte der Subrouten<br />

werden aufaddiert und abschließend im<br />

Verhältnis zur besten und schlechtesten Variante<br />

als Vor- und Nachteil in der Datenbank<br />

gespeichert.<br />

Die Zeiten der Subrouten werden zusammengerechnet<br />

und daraus werden später<br />

Vor- und Nachteile im Vergleich zu den<br />

<strong>and</strong>eren Routenalternativen gebildet und<br />

gespeichert.<br />

Sollte eine oder mehrere Subrouten mit dem<br />

Zug zurückgelegt werden, wird diese Nutzbare<br />

Zeit aggregiert auf Routenebene gespeichert<br />

und für die weitere Nutzung in<br />

Vor- und Nachteil gegenüber den nicht gewählten<br />

Routen gew<strong>and</strong>elt.<br />

Die Gesamtkosten der Reise werden abhängig<br />

von den Subroutenkosten neu berechnet,<br />

da sich durch Bahn Card die Kosten für<br />

Zugfahrten senken können Abschließend<br />

werden diese Kosten in Vor- und Nachteile,<br />

also in Abhängigkeit von der schlechtest<br />

möglichen und bestmöglichen Option gespeichert.<br />

Tabelle 4.4: Erläuterung der Berechnung für die Routeneigenschaften<br />

95


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

4. Validierung der Routen<br />

Die erweiterten Routen müssen im Anschluss auf ihre Realisierbarkeit hin validiert werden. So sollte<br />

beispielweise geprüft werden:<br />

<br />

<br />

Ist die Strecke zu Fuß oder mit dem Fahrrad mit der maximalen Entfernung, die ein Anwender<br />

zu fahren bzw. laufen bereit ist, vereinbar?<br />

Besitzt der Endanwender das benötigte Verkehrsmittel?<br />

Dafür wird die Liste mit Routenalternativen durch den Routenvalidierer überprüft. Sollte sich bei der<br />

Validierung eine Route als nicht realisierbar herausstellen, wird diese aus der Liste der potentiellen<br />

Routenalternativen entfernt.<br />

5. Auswahl der Route<br />

Ausgehend von der validierten und um spezifische Eigenschaften erweiterten Routenliste muss die<br />

Anwendung (bzw. der Endanwender) sich für eine Routenalternative entscheiden. Diese Entscheidung<br />

sollte von einer Reihe von Faktoren abhängig sein.<br />

Zu Grunde wird die Annahme gelegt, dass sich ein Anwender mit einer Wahrscheinlichkeit von 75%<br />

für eine Route entscheidet, die seinen Präferenzgewichtungen entspricht. Die Gewichtung entspricht<br />

einem Zahlenwert zwischen 0 (=unwichtig) und 1 (=wichtig).<br />

Im ersten Schritt sollen die für den Endanwender wichtigsten Präferenzen ermittelt werden. Hiervon<br />

ausgehend kann im zweiten Schritt eine Sortierung der validen Routen erfolgen und die am besten<br />

geeignete Route gewählt werden. Bei den Präferenzen h<strong>and</strong>elt es sich um die persönliche Gewichtung<br />

der folgenden vier Aspekte: Komfort, Nachhaltigkeit, Zeit und Kosten.<br />

Um für eine realistische Streuung in den gespeicherten Routendaten zu sorgen wählt der Routenentscheider<br />

in 25% der Fäll eine zufällige Route. Schließlich können unvorhersehbare Faktoren in der<br />

Realität einen Anwender ebenfalls so beeinflussen, dass dieser nicht die ansonsten präferierte Route<br />

wählen würde.<br />

Abschließend wird die gewählte Route mit ihren Subrouten in die operative Datenbank geschrieben.<br />

96


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Abbildung 4.1: Sequenzdiagramm des Datengenerators<br />

4.2 Reporting-API (Webservice)<br />

Ziel des Webservice ist es, eine leichtgewichtige Schnittstelle zu schaffen, die Anwendungen den Zugriff<br />

auf definierte Datensätze aus dem Data Warehouse ermöglicht.<br />

Der Webservice bietet den Vorteil, dass eine Anwendung nicht den direkten Zugriff auf das Data Warehouse<br />

erhält, sondern alle Abfragen über eine Schnittstelle gekapselt werden. Die Entscheidung welche<br />

Daten welchen Anwendungen verfügbar gemacht werden liegt damit beim Webservice. Dieser<br />

verfügt über einen Rollen- und Authentifizierungsmechanismus. Ein weiteres Ziel ist es, dass hierdurch<br />

die Webanwendungen vom Microsoft SQL Server entkoppelt werden und dieser so leichter<br />

angepasst oder ausgetauscht werden kann.<br />

Neben dem Aspekt der Entkopplung und der erhöhten Sicherheit erleichtert die Schnittstelle zudem<br />

den Datenzugriff für Reporting-Anwendungen, da nur relevante und für das Reporting optimierte Daten<br />

über den Webservice ausgeliefert werden.<br />

Zur flexiblen und plattformunabhängigen Darstellung der Nutzerdaten und Analyseergebnisse müssen<br />

die Daten vom Webservice über ein festgelegtes und an die Anforderungen angepasstes Format gelie-<br />

97


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

fert werden. Als Format zum Datenaustausch wird sich für die JavaScript Object Notation (JSON)<br />

entschieden.<br />

Anmerkung: Die ausführliche Begründung einzelner Technologieentscheidungen findet sich in der<br />

Dokumentation im Kapitel „Begründung eingesetzter Webtechnologien“.<br />

Die Datenabfrage über den Webservice soll möglichst leichtgewichtig sein, so dass Frontend-<br />

Anwendungen ohne größeren Implementationsaufw<strong>and</strong> den Webservice zur Darstellung von Daten<br />

nutzen können. Dies erleichtert nicht nur die eigene Anwendungsentwicklung, sondern liefert auch ein<br />

Werkzeug, um die Daten potentiellen Drittanbietern zugänglich zu machen.<br />

Die Schnittstelle soll hierfür gemäß dem RESTful-Prinzip implementiert werden (REST-API). Diese<br />

Art der Implementierung bietet eine Reihe von Vorteilen und erfüllt die Anforderungen die im Rahmen<br />

des Projektes an die Schnittstelle gestellt werden.<br />

Ein weiteres Ziel bei der Entwicklung des Webservices soll die Verwendung von St<strong>and</strong>ards sein. Dies<br />

erhöht die Stabilität und fördert die zukünftige Erweiter- und Wiederverwendbarkeit der Anwendung.<br />

Softwareentwicklung<br />

Für die Realisierung des Webservices wird sich für Java als Programmiersprache und Spring 16 als<br />

Framework entschieden. Bei Spring h<strong>and</strong>elt es sich um ein weit verbreitetes Framework, mit dem<br />

bereits eine Vielzahl von Enterprise-Anwendungen entwickelt wurden. Besonders in Hinblick auf<br />

Sicherheit, Geschwindigkeit und Wiederverwendbarkeit hat das Framework seine Stärken. Eine st<strong>and</strong>ardisierte<br />

Struktur erleichtert zudem neuen Entwicklern die Einarbeitung in das Projekt. Für die Anforderung<br />

der REST-Schnittstelle bietet Spring das MVC-Modul an, welches sich genau an die Bedürfnisse<br />

des Projektes anpassen lässt.<br />

16 Für weitere Informationen siehe: http://www.springsource.org/<br />

98


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Aufbau der Anwendung<br />

Für den Webservice müssen vor allem drei Arten von Java-Objekten entwickelt werden: Controller-,<br />

Model- und Service-Klassen. Die Controller ordnen eine eingehende Ressourcen-Anfrage eindeutig<br />

einem Datenmodell zu. Die Datenmodelle werden dabei ebenfalls in Java implementiert und bilden die<br />

in der Datenbank angelegten Tabellen für Kennzahlen und Nutzereigenschaften in der Anwendung ab.<br />

Die Service-Klassen regeln den Zugriff auf die Datenbank und füllen ein angefragtes Model mit Daten.<br />

Das nachfolgende Sequenzdiagramm (Abbildung 4.2) gibt einen Überblick, wie der Webservice<br />

auf eine Anfrage einer Anwendung reagiert und welche Klassen beteiligt sind.<br />

Abbildung 4.2: Sequenzdiagramm Reporting-API<br />

Eingehende API-Anfragen werden von einem allgemeinen Servlet Controller an einen spezifischen<br />

API-Controller weitergeleitet. Dieser delegiert die Datenabfrage an die entsprechenden Service-<br />

Klassen, die das passende Model durch eine Abfrage an die Datenbank füllen. Das Model wird dann<br />

an den API-Controller zurückgegen, in das JSON-Format umgew<strong>and</strong>elt und an die anfragende Anwendung<br />

ausgeliefert.<br />

99


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Schnittstellenspezifikation<br />

Aufgrund der Anforderungen für das Endanwender Reporting gilt es folgende REST-Schnittstellen<br />

durch den Webservice zu realisieren-<br />

URI Parameter Rückgabewert (JSON-Array)<br />

/api/user/figures<br />

/api/user/averages<br />

keyFigure – Betrachtete Kennzahl<br />

year – Jahreszeitraum<br />

friendId – Anwender- ID eines<br />

Freundes<br />

keyFigure – Betrachtete Kennzahl<br />

year – Jahreszeitraum<br />

friendId – Anwender-ID eines<br />

Freundes<br />

/api/user/transportation keyFigure – Betrachtete Kennzahl<br />

year – Jahreszeitraum<br />

month – Monatszeitraum<br />

friendId – Anwender-ID eines<br />

Freundes<br />

Tabelle 4.5: Allgemeine Schnittstellenspezifikation Webservice<br />

Die betrachtete Kennzahl für ein gegebenes<br />

Jahr auf Monatsbasis summiert.<br />

Bei Angabe der friendId werden die<br />

Kennzahlen auf einen Freund, ansonsten<br />

auf den eingeloggten Anwender<br />

bezogen<br />

Die betrachtete Kennzahl für ein gegebenes<br />

Jahr auf Monatsbasis als Durchschnittswert.<br />

Bei Angabe der friendId werden die<br />

Kennzahlen auf einen Freund, ansonsten<br />

auf den eingeloggten Anwender<br />

bezogen.<br />

Die betrachtete Kennzahl anteilig je<br />

Verkehrsmittel. Aggregiert auf Jahres<br />

oder Monatsbasis.<br />

Bei Angabe der friendId werden die<br />

Kennzahlen auf einen Freund, ansonsten<br />

auf den eingeloggten Anwender<br />

bezogen.<br />

Die Tabelle 4.5 stellt die allgemeinen Anforderungen an die Schnittstelle für Anwenderdaten dar. Diese<br />

Spezifikation lässt sich äquivalent auf die Abfrage von Kennzahlen bezogen auf den Plattformdurchschnitt<br />

übertragen. Zur Abfrage der Plattform Daten muss der URI-Prefix von „/api/user“ auf<br />

„/api/plattform“ geändert werden.<br />

Neben den allgemeinen Kennzahlen, die sowohl für den Anwender, als auch für die gesamte Plattform<br />

Gültigkeit haben, gibt es eine Reihe an nutzerspezifischen Anforderungen an die Schnittstelle:<br />

100


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

URI Parameter Rückgabewert<br />

/api/user/balance<br />

keyFigure – Betrachtete Kennzahl<br />

year – Jahreszeitraum<br />

friendId – Nutzer ID eines Freundes<br />

Die betrachtete Kennzahl, deren Maximum<br />

und Minimum für ein gegebenes<br />

Jahr auf Monatsbasis summiert.<br />

Bei Angabe der friendId werden die<br />

Kennzahlen auf einen Freund, ansonsten<br />

auf den eingeloggten Nutzer bezogen<br />

/api/user/details keine Liefert Details des aktuell eingeloggten<br />

Nutzers. Hierzu zählen Nutzer-ID, E-<br />

Mail, Name, Geschlecht, Registrierungszeitpunkt,<br />

Geburtsdatum.<br />

/api/user/friends keine Liefert eine detaillierte Liste aller<br />

Freunde des aktuell eingeloggten Nutzers.<br />

Die Details beinhalten mindestens<br />

Namen, E-Mail und Nutzer-ID des<br />

Freundes.<br />

Tabelle 4.6: Nutzerspezifische Schnittstellenspezifikation Webservice<br />

Entwicklungsinfrastruktur<br />

Um den Webservice zu betreiben und entwickeln sind neben Java und Spring folgenden Infrastruktur-<br />

Komponenten zu nutzen:<br />

Webserver<br />

Build Tool<br />

Revisionskontrolle<br />

Die Anwendung soll in einem Apache Tomcat Webserver laufen. Hierbei<br />

h<strong>and</strong>elt es sich um einen leicht konfigurierbaren, stabil laufenden und<br />

weit verbreiteten Server.<br />

Zum Bauen der Anwendung wird sich für Maven entschieden.<br />

Es wird sich für Git als Revisionskontrolle entschieden.<br />

Entwicklungsumgebung Das Team nutzt zur besseren Unterstützung der Softwareentwicklung mit<br />

Java und der verwendeten Frameworks die STS Entwicklungsumgebung.<br />

Alternative kann auch Eclipse als Umgebung empfohlen werden.<br />

VPN<br />

Authentifizierung<br />

Aus Sicherheitsgründen ist der Zugriff auf die Datenbank nur aus dem<br />

Netzwerk der Uni Oldenburg oder über eine gesicherte VPN Verbindung<br />

zur Uni Oldenburg möglich (vpn.uni-oldenburg.de).<br />

Tabelle 4.7: Entwicklungsinfrastruktur<br />

Da der Webservice sensible, personengebundene Daten liefert, muss sich ein Anwender vor der Nutzung<br />

eindeutig authentifizieren. Anwender sollen sich dabei mit ihrer eindeutigen E-Mail-Adresse<br />

beim Webservice anmelden können. Das zugehörige Passwort soll vom Anwender selbst festgelegt<br />

und im Anschluss verschlüsselt in einer Datenbank hinterlegt werden. Die Verschlüsselung erfolgt<br />

über die in Spring implementierte Hashfunktionen der SHA-2-Familie (SHA-224). Der Algorithmus<br />

101


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

garantiert, dass selbst bei unbefugten Zugriffen auf die Datenbank, dass Passwort des Anwender nicht<br />

rückwirkend in Klartext entschlüsselt werden kann.<br />

Ein Rollenmanagement legt fest, welche Bereiche des Webservice von einem Account genutzt werden<br />

können. Hierdurch wird es auch möglich, den Webservice externen Dienstleistern bereitzustellen, da<br />

der Datenzugriff fein granular gesteuert werden kann. Jeder URI des Webservices werden hierzu Rollen<br />

zugeordnet und nur authentifizierte Anwender mit passender Rolle erhalten den Zugriff auf die<br />

Daten.<br />

4.3 Reporting-Frontend für Endanwender<br />

Das Reporting Frontend für Endanwender realisiert eine interaktive Weboberfläche über welche Anwender<br />

Informationen zu ihrem Fahrverhalten erhalten können. Hierbei werden die Informationen in<br />

Form von anschaulichen Charts, Kuchendiagrammen und Tachos dargestellt. Die gesamte Anwendung<br />

basiert auf Webst<strong>and</strong>ards und nutzt als Datengrundlage den Webservice der Reporting-API. Durch das<br />

asynchrone Laden der Daten sollen Wartezeiten verkürzt und dem Anwender ein besonders interaktives<br />

Erlebnis geboten werden.<br />

Das Reporting-Frontend wird als Single-Page-Anwendung implementiert. Ein HTML-Dokument gibt<br />

das Anwendungsgerüst vor. Dieses wird mit Hilfe von CSS gestaltet und über JavaScript dynamisch<br />

mit Inhalt gefüllt.<br />

Datenabfrage<br />

Die Datenübertragung zwischen Webservice und Reporting-Interface erfolgt ausschließlich frontendseitig<br />

mittels Ajax-Anfragen. Dies bietet den großen Vorteil, dass für die Darstellung der Charts kaum<br />

Backend-Technologien benötigt werden und die Charts mit geringem Aufw<strong>and</strong> prinzipiell auf jeder<br />

Webseite integriert werden können.<br />

HTML-Gerüst<br />

Die HTML-Seite bildet beim Webinterface nur ein grobes Grundgerüst und wird in das Spring-<br />

Framework der Reporting-API integriert und durch dieses ausgeliefert. Das eigentliche Zeichnen der<br />

Charts, sowie das Hinzufügen von dynamischen Inhalten, wie Anwendername und Freundeslisten,<br />

erfolgt asynchron und clientseitig über JavaScript. Der Großteil der Anwendung wird daher in JavaScript<br />

realisiert.<br />

102


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Charts<br />

Für das Zeichnen der Charts wird sich für den SVG-St<strong>and</strong>ard entschieden. Mit Hilfe der JavaScript-<br />

Bibliothek „Highcharts“ 17 und selbst entwickelten Modulen sollen die Charts in dem Grafikformat<br />

SVG live im Browser gezeichnet werden.<br />

Navigationsmenü<br />

Das Navigationsmenü soll gemäß den Anforderungen in HTML und CSS gestaltet werden. Dabei wird<br />

versucht auf Grafiken verzichten und das Menü weitestgehend mit modernen CSS3 Techniken zu gestalten,<br />

um die Performance der Anwendung zu verbessern. Das Untermenü soll sich dabei bei Mouse-<br />

Over öffnen und animiert auffahren. Sobald eine Chart-Variante gewählt wird, soll der entsprechende<br />

Chart gezeichnet und das Untermenü wieder geschlossen werden.<br />

JavaScript-Anwendung<br />

Zur besseren Übersicht wir der Aufbau der JavaScript-Anwendung in Abbildung 4.3 dargestellt. Die<br />

grau eingefärbten Module entsprechen JavaScript-Klassen.<br />

Abbildung 4.3: Sequenzdiagramm Reporting-Frontend<br />

Zu Beginn erfragt das Hauptmodul Anwender- und Freundesdaten vom Webservice und nutzt diese,<br />

um die Webseite mit der Freundesliste und einem individuellen Begrüßungstext zu initialisieren.<br />

Die Interaktion zwischen Nutzer und Anwendung wird ebenfalls über das Hauptmodul realisiert. Es<br />

erstellt Event-Listener, welche in der Lage sind auf Klick-Ereignisse des Nutzers zu reagieren. Jedem<br />

17 Für weitere Informationen siehe: http://www.highcharts.com<br />

103


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Button im Navigationsmenü werden dazu ein Listener sowie eine eindeutige Chartdarstellung zugeordnet.<br />

Nach dem Auslösen eines Events ist das Chartmodul dafür verantwortlich die benötigten Daten vom<br />

Webservice über einen Ajax-Request abzufragen. Bei erfolgreicher Abfrage werden die Daten an den<br />

Charth<strong>and</strong>ler weitergegeben. Dieser bereitet je nach Anfrage die Daten spezifisch auf und zeichnet den<br />

Chart im Browser des Nutzers.<br />

104


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

4.4 Programmierrichtlinien<br />

Programmierrichtlinien tragen maßgeblich dazu bei, den Code lesbarer und weniger fehleranfällig zu<br />

gestalten. Zudem erleichtern einheitliche Richtlinien die Einarbeitung neuer Entwickler und sind daher<br />

bei der Arbeit in Teams wichtiger Best<strong>and</strong>teil der Softwareentwicklung. Die wichtigsten Richtlinien<br />

sollen nachfolgend tabellarisch aufgeführt werden:<br />

Richtlinie<br />

Englisch als Entwicklungssprache<br />

Dokumentation<br />

Bezeichner<br />

Globale Variablen<br />

Modularisierung<br />

Kodierung<br />

Repository<br />

Formatierung<br />

Beschreibung<br />

Sowohl für Funktions-, Klassen- und Variablennamen, als auch<br />

für die Inline-Dokumentation wird durchgehend die englische<br />

Sprache verwendet.<br />

Jede Funktion und Klasse wird mit einer kurzen Dokumentation<br />

zu versehen. Dazu gehört neben einer kurzen Beschreibung<br />

auch die Auflistung der Übergabeparameter und Rückgabewerte.<br />

Klassen sind zudem mit dem jeweiligen Autor zu kennzeichnen.<br />

Klassen-, Funktions- und Variablennamen sind, sobald sie aus<br />

mehreren Wörtern bestehen in der „CamelCase“-Notation zu<br />

schreiben. Hierbei beginnt jedes Folgewort mit einem Großbuchstaben<br />

gefolgt von Kleibuchstaben. Beispiel: getUserData().<br />

Funktionen und lokale Variablen beginnen dabei immer<br />

mit Kleinbuchstaben, Klassen mit Großbuchstaben. Die jeweiligen<br />

Namen sind dabei so sprechend wir möglich zu wählen,<br />

um die Verständlichkeit des Codes zu erhöhen.<br />

Generell gilt es die Verwendung von globalen Variablen zu<br />

verhindern und auf ein Minimum zu reduzieren.<br />

Die Entwicklung soll so modular wie möglich erfolgen. Dies<br />

bedeutet vor allem kurze, übersichtliche Klassen und Methoden<br />

die möglichst wenig indirekte Abhängigkeit zuein<strong>and</strong>er besitzen.<br />

Es wird UTF-8 als einheitlicher St<strong>and</strong>ard zur Zeichencodierung<br />

genutzt und auf allen Entwicklungsumgebungen als St<strong>and</strong>ardwert<br />

eingestellt.<br />

Jeder Entwickler hat das gemeinsame Git-Repository zu nutzen<br />

und alle Änderungen am Quellcode noch am gleichen Tag in<br />

das Repository zu laden. Zudem ist bei jedem Hochladen ein<br />

kurzer Kommentar, der die Änderungen beschreibt, zu verfassen.<br />

Es gilt den Code einheitlich zu formatieren. Hierzu zählt insbesondere<br />

eine einheitliche Einrückung und Klammerung des<br />

Codes. Entwickler die später in das Projekt einsteigen haben<br />

sich an bestehende Konventionen zu halten.<br />

Tabelle 4.8: Programmierrichtlinien<br />

105


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

5. Literaturverzeichnis<br />

Explain Extended (2009): Selecting friends. URL: http://explainextended.com/2009/03/07/selectingfriends,<br />

(Zugriff am: 22.03.2013).<br />

Huang, X. & Kölpin, S. & Mahnke, C.; Temgoua, A. M. N. & Petersen, M. & Rummel, D. & Schnieders<br />

D. & Spennemann, A. & Stamer, D. & Dovenmühle, T. v.d. & Wei, Y. (2011): Sustainable CRM<br />

für E-Mobility Services mit SOA. <strong>Projektgruppe</strong>ndokumentation. Universität Oldenburg.<br />

Katibah, E. & Stojic, M. (2011): New Spatial Features in SQL Server Code-Named “Denali”. SQL<br />

Server Technical Article. URL: http://go.microsoft.com/fwlink/?LinkId=226407, (Zugriff am:<br />

22.03.2013).<br />

106


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Anhang<br />

A. Tabellen der operativen Datenbank<br />

Tabelle: JinengoUser<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

ID (PS)<br />

Eine ganzzahlige Identifikationsnummer, die den jeweiligen<br />

Nutzer repräsentiert.<br />

BigInt<br />

timeInactive<br />

Datum der letzten Aktion bzw. Routenwahl des Nutzers, da er<br />

danach als inaktiv gilt, bis erneut eine Route gewählt wird.<br />

gender Angabe des Geschlechts in „True“ = weiblich und „False“ =<br />

männlich.<br />

timeRegistered Datum der Registration des Nutzers an der Jinengo-Plattform. DateTime<br />

DateTime<br />

name Vorname und Nachname des Nutzers. varChar<br />

email Email-Adresse des Nutzers. varChar<br />

street Straße der vom User angegebenen Adresse. varChar<br />

zipcode Postleitzahl der Nutzer Adresse. varChar<br />

city Stadt der Adresse des Nutzers. varChar<br />

country L<strong>and</strong> zur vom Nutzer angegebenen Adresse. varChar<br />

birthdate Geburtsdatum des Nutzers date<br />

incomeRangeID (FS)<br />

familyStatusID (FS)<br />

ownsPEV<br />

ownsGasCar<br />

ownsEbike<br />

publicTransportMember<br />

railMembershipID<br />

(FS)<br />

maxDistanceToWalk<br />

maxDistanceToBike<br />

Ein Int Wert, der Schlüssel des gewünschten Eintrags der Entität<br />

IncomeRange ist.<br />

Ein Int Wert, der Schlüssel des gewünschten Eintrags der Entität<br />

FamilyStatus ist.<br />

Auskunft über den Besitz eines Elektrischen Vehikels durch<br />

Angabe in „True“, oder „False“.<br />

Auskunft über den Besitz eines Autos mit Verbrennungsmotor<br />

durch Angabe in „True“, oder „False“.<br />

Auskunft über den Besitz eines e-Bikes durch Angabe in<br />

„True“, oder „False“.<br />

Auskunft über den Besitz einer Monatskarte für den Öffentlichen<br />

Personen Nahverkehr durch Angabe in „True“, oder „False“.<br />

Ein Int Wert, der Schlüssel des gewünschten Eintrags der Entität<br />

RailMembership ist.<br />

Auskunft über die maximale Distanz, die der Nutzer bereit ist<br />

zu Laufen. Angabe in Kilometern.<br />

Auskunft über die maximale Strecke, die der Nutzer bereit<br />

wäre mit dem Fahrrad zurück zu legen. Angabe in Kilometern.<br />

Bit<br />

BigInt<br />

BigInt<br />

Bit<br />

Bit<br />

Bit<br />

Bit<br />

BigInt<br />

Int<br />

Int<br />

Tabelle A.1: Entität JinengoUser der operativen Datenbank<br />

107


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Tabelle: Route<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

userID (PS, FS)<br />

108<br />

Identifikationsnummer, des Nutzers, der diese Route gefahren<br />

ist.<br />

BigInt<br />

ID (PS) Systeminterne Identifikationsnummer der Route. BigInt<br />

timeSelected<br />

departureGeography<br />

Binärdaten zur digitalen Speicherung der Geographie-<br />

Informationen des Abfahrortes.<br />

Datum mit Uhrzeit, die den Zeitpunkt der Routenwahl definiert.<br />

DateTime<br />

geography<br />

departureAddress Adresse des Abfahrortes. varChar<br />

departureTime Datum und Uhrzeit der Abfahrt. DateTime<br />

destinationGeography<br />

Binärdaten zur digitalen Speicherung der Geographie-<br />

Informationen des Zielortes.<br />

geography<br />

destinationAdress Adresse des Zielortes. varChar<br />

destinationTime Datum und Uhrzeit der Ankunft. DateTime<br />

totalTime Gesamte Fahrtzeit in Minuten Int<br />

needID (FS)<br />

luggage<br />

Wurde während des Projektes nicht genutzt, sollte aber abbilden,<br />

welcher Zweck hinter einer Reise st<strong>and</strong> (Geschäftsreise,<br />

Urlaub etc.). In diesem Feld würde sich dann die Identifikationsnummer<br />

des Zwecks finden, dem die entst<strong>and</strong>enen Daten<br />

zuzurechnen sind<br />

Angabe ob die Reise mit Gepäck (=“True“) oder ohne Gepäck<br />

(=“False“) angetreten wurde.<br />

BigInt<br />

passengers Anzahl der Personen, die diese Fahrt angetreten sind. TinyInt<br />

ecoImpactAdvantage<br />

ecoImpactDisadvantage<br />

timeAdvantage<br />

timeDisadvantage<br />

effectiveTimeAdvantage<br />

Nutzbare Zeit in Minuten im Vergleich zur schlechtesten Alternative.<br />

effectiveTimeDisadvantage<br />

costsAdvantage<br />

costsDisadvantage<br />

CO2-Emissionsunterschied total in Abhängigkeit von der<br />

schlechtest möglichen Routenalternative.<br />

CO2-Emissionsunterschied total in Abhängigkeit von der<br />

bestmöglichen Routenalternative.<br />

Zeit-Ersparnis in Minuten in Abhängigkeit von der langsamsten<br />

Routenalternative.<br />

Zeit-Verlust in Minuten in Abhängigkeit von der schnellsten<br />

Routenalternative.<br />

Nicht Nutzbare Zeit in Minuten im Vergleich zur besten Alternative<br />

Kostenersparnis in Euro und Cent im Vergleich zur teuersten<br />

Alternative<br />

Mehrkosten in Euro und Cent im Vergleich zur günstigsten<br />

Alternative.<br />

Tabelle A.2: Entität Route der operativen Datenbank<br />

Bit<br />

Real<br />

Real<br />

Int<br />

Int<br />

Int<br />

Int<br />

Real<br />

Real


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Tabelle: Subroute<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

userID (PS, FS) ID des Nutzers der diese Subrouten gefahren ist. BigInt<br />

routeID(PS, FS) ID der Route zu der diese Subroute gehört. BigInt<br />

ID (PS) ID der Subroute. BigInt<br />

transportationID (FS)<br />

departureGeography<br />

ID des verwendeten Transportmittels. Dieser Wert entspricht<br />

einem Schlüssel der Entität Transportation und repräsentiert<br />

den dazugehörigen Wert.<br />

Binärdaten zur digitalen Speicherung der Geographie-<br />

Informationen des Abfahrortes.<br />

BigInt<br />

geography<br />

departureAddress Adresse des Abfahrortes. varChar<br />

departureTime Datum und Uhrzeit der Abfahrt. DateTime<br />

destinationGeography<br />

Binärdaten zur digitalen Speicherung der Geographie-<br />

Informationen des Zielortes.<br />

geography<br />

destinationAddress Adresse des Zielortes. varChar<br />

destinationTime Datum und Uhrzeit der Ankunft. DateTime<br />

distance Entfernung von Start- zu Zielort in Metern. Real<br />

time Benötigte Zeit von Start- zu Zielort in Minuten. Int<br />

timeUsable Nutzbare Zeit während der Reise in Minuten. Int<br />

costs Kosten der Teilstrecke in Euro und Cent. Real<br />

ecoImpact CO2-Emissionen die diese Strecke verursachen. Real<br />

contextInformation<br />

Tabelle A.3: Entität Suboute der operativen Datenbank<br />

varChar<br />

109


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Tabelle: Preferences<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

userID (PS, FS) ID des Nutzers zu dem diese Präferenzen gehören. BigInt<br />

validFrom (PS) Datum an dem die hinterlegten Angaben gemacht wurden. DateTime<br />

sustainabilityPreference<br />

comfortPreference<br />

costsPreference<br />

timePreference<br />

Nachhaltigkeits-Präferenz des Nutzers mit einer möglichen<br />

Gewichtung zwischen 0(=unwichtig) und 1(=wichtig).<br />

Komfort-Präferenz des Nutzers mit einer möglichen Gewichtung<br />

zwischen 0(=unwichtig) und 1(=wichtig).<br />

Kosten-Präferenz des Nutzers mit einer möglichen Gewichtung<br />

zwischen 0(=unwichtig) und 1(=wichtig).<br />

Zeit-Präferenz des Nutzers mit einer möglichen Gewichtung<br />

zwischen 0(=unwichtig) und 1(=wichtig).<br />

Tabelle A.4: Entität Preferences der operativen Datenbank<br />

Real<br />

Real<br />

Real<br />

Real<br />

Tabelle: Transportation<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

ID (PS) ID des Transportmittels. BigInt<br />

transportationTypeID<br />

(FS)<br />

ID die dem speziellen Transportmittel eine Kategorie zuteilt. In<br />

einer weiteren Entität sind diese IDs mit den Klartextnamen<br />

der Kategorie hinterlegt. Diese reichen von HumanPowered<br />

über CarSharing bis hin zum Fernverkehr.<br />

BigInt<br />

classOrProviderName Klartextname des Transportmittels. varChar<br />

comfortRating<br />

Rating, dass den Komfort eines Transportmittels mit einem<br />

Wert zwischen 0 (=niedrig) und 1 (=hoch) versieht.<br />

Tabelle A.5: Entität Transportation der operativen Datenbank<br />

Real<br />

110


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

B. Tabellen des Data Warehouse<br />

Tabelle: UserHistoric<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

ID (PS, FS)<br />

Eine ganzzahlige Identifikationsnummer, die den jeweiligen<br />

Nutzer für einen Zeitraum repräsentiert.<br />

BigInt<br />

validFrom Datum und Uhrzeit ab dem dieser abgebildete Nutzer gültig ist. DateTime<br />

validTill Datum und Uhrzeit bis zu dem dieser Nutzer gültig war. DateTime<br />

jinengoUserID (FS)<br />

street<br />

Ganzzahlige Identifikationsnummer des repräsentierten Nutzers.<br />

Straße der vom User angegebenen Adresse im Gültigkeitszeitraum.<br />

zipcode Postleitzahl der Nutzer Adresse im Gültigkeitszeitraum. char<br />

BigInt<br />

varChar<br />

city Stadt der Adresse des Nutzers im Gültigkeitszeitraum. varChar<br />

country<br />

incomeRangeID (FS)<br />

familyStatusID (FS)<br />

ownsPEV<br />

ownsGasCar<br />

ownsEbike<br />

publicTransportMember<br />

railMembershipID<br />

(FS)<br />

maxDistanceToWalk<br />

maxDistanceToBike<br />

carSharingMembership<br />

sustainabilityPreference<br />

L<strong>and</strong> zur vom Nutzer angegebenen Adresse im Gültigkeitszeitraum.<br />

Ein Int Wert, der Schlüssel des gewünschten Eintrags der Entität<br />

IncomeRange ist.<br />

Ein Int Wert, der Schlüssel des gewünschten Eintrags der Entität<br />

FamilyStatus ist.<br />

Auskunft über den Besitz eines Elektrischen Vehikels durch<br />

Angabe in „True“, oder „False“.<br />

Auskunft über den Besitz eines Autos mit Verbrennungsmotor<br />

durch Angabe in „True“, oder „False“.<br />

Auskunft über den Besitz eines e-Bikes durch Angabe in<br />

„True“, oder „False“.<br />

Auskunft über den Besitz einer Monatskarte für den Öffentlichen<br />

Personen Nahverkehr durch Angabe in „True“, oder „False“.<br />

Ein Int Wert, der Schlüssel des gewünschten Eintrags der Entität<br />

RailMembership ist.<br />

Auskunft über die maximale Distanz, die der Nutzer bereit ist<br />

zu Laufen. Angabe in Kilometern.<br />

Auskunft über die maximale Strecke, die der Nutzer bereit<br />

wäre zu Fuß zurück zu legen. Angabe in Kilometern.<br />

Auskunft über die maximale Strecke, die der Nutzer bereit<br />

wäre mit dem Fahrrad zurück zu legen. Angabe in Kilometern.<br />

Nachhaltigkeits-Präferenz des Nutzers mit einer möglichen<br />

Gewichtung zwischen 0(=unwichtig) und 1(=wichtig).<br />

varChar<br />

BigInt<br />

BigInt<br />

Bit<br />

Bit<br />

Bit<br />

Bit<br />

BigInt<br />

comfortPreference Komfort-Präferenz des Nutzers mit einer möglichen Gewich- Real<br />

Int<br />

Int<br />

Int<br />

Real<br />

111


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

costsPreference<br />

timePreference<br />

tung zwischen 0(=unwichtig) und 1(=wichtig).<br />

Kosten-Präferenz des Nutzers mit einer möglichen Gewichtung<br />

zwischen 0(=unwichtig) und 1(=wichtig).<br />

Zeit-Präferenz des Nutzers mit einer möglichen Gewichtung<br />

zwischen 0(=unwichtig) und 1(=wichtig).<br />

Tabelle B.1: Entität UserHistoric des Data Warehouse<br />

Real<br />

Real<br />

Tabelle: JinengoUser<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

ID (PS)<br />

Eine ganzzahlige Identifikationsnummer, die den jeweiligen<br />

Nutzer repräsentiert.<br />

BigInt<br />

timeInactive<br />

Datum der letzten Aktion bzw. Routenwahl des Nutzers, da er<br />

danach als inaktiv gilt, bis erneut eine Route gewählt wird.<br />

name Angabe des Geschlechts in „True“ = weiblich und „False“ =<br />

männlich.<br />

gender Vorname und Nachname des Nutzers. Bit<br />

timeRegistered Datum der Registration des Nutzers an der Jinengo-Plattform. DateTime<br />

DateTime<br />

varChar<br />

email Email-Adresse des Nutzers. varChar<br />

birthdate Geburtsdatum des Nutzers. Date<br />

Tabelle B.2: Entität JinengoUser des Data Warehouse<br />

112


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Tabelle: AggrUserFigure<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

ID (PS)<br />

JinengoUserID (FS)<br />

year<br />

Eine ganzzahlige Identifikationsnummer, die den entsprechenden<br />

aggregierten Datensatz repräsentiert.<br />

Identifikationsnummer des Anwenders dem die aufsummierten<br />

Daten im Zeitraum eines Monats zurechenbar sind.<br />

Ganzzahliger Wert, der das Jahr in dem die aggregierten Daten<br />

gültig sind repräsentiert.<br />

month Der Gültigkeitsmonat der Daten als ganzzahliger Wert. Int<br />

needID (FS)<br />

countRoutes<br />

countSubroutes<br />

sumDistance<br />

sumTime<br />

sumTimeBestOption<br />

sumTimeWorstOption<br />

sumTimeUsable<br />

sumTimeUsableBestOption<br />

sumTimeUsableWorstOption<br />

sumCosts<br />

sumCostsBestOption<br />

sumCostsWorstOption<br />

sumEcoImpact<br />

Wurde während des Projektes nicht genutzt, sollte aber abbilden,<br />

welcher Zweck hinter einer Reise st<strong>and</strong> (Geschäftsreise,<br />

Urlaub etc.). In diesem Feld würde sich dann die Identifikationsnummer<br />

des Zwecks finden, dem die entst<strong>and</strong>enen Daten in<br />

einem Monat zuzurechnen sind.<br />

Anzahl der gewählten Routen aller Nutzer für einen Zeitraum<br />

eines Monats.<br />

Anzahl der gefahrenen Subrouten aller Nutzer für einen Zeitraum<br />

eines Monats.<br />

Summer der insgesamt von allen Nutzern gefahrenen Distanz<br />

im Zeitraum eines Monats in Kilometern.<br />

Gesamtzeit, die die Anwender bei der Absolvierung von Routen<br />

mit Jinengo in einem Monat verbracht haben. Angabe in<br />

Minuten.<br />

Summe der Zeit, die alle gefahrenen Routen im Zeitraum eines<br />

Monats verursacht hätten, wenn immer die schnellsten Routenalternativen<br />

gewählt worden wären.<br />

Summe der Zeit, die alle gefahrenen Routen im Zeitraum eines<br />

Monats verursacht hätten, wenn immer die langsamste Routenalternativen<br />

gewählt worden wären.<br />

Summe der nutzbaren Zeit aller Fahrten in einem bestimmten<br />

Monat.<br />

Summe der nutzbaren Zeit die im Falle der besten Routenalternativen<br />

im Zeitraum eines Monats möglich gewesen wäre.<br />

Summe der nutzbaren Zeit die im Falle der schlechtesten Routenalternativen<br />

im Zeitraum eines Monats möglich gewesen<br />

wäre.<br />

Summe der Fahrtkosten aller zurückgelegten Routen für den<br />

Zeitraum eines Monats in Euro und Cent.<br />

Summe der entst<strong>and</strong>enen Kosten der günstigsten Routenalternativen<br />

im Zeitraum eines Monats.<br />

Summe der entst<strong>and</strong>enen Kosten der teuersten Routenalternativen<br />

im Zeitraum eines Monats.<br />

Summe des EcoImpacts, den alle gefahrenen Routen im Zeitraum<br />

eines Monats verursacht haben. Angabe in Gramm CO2.<br />

BigInt<br />

BigInt<br />

Int<br />

BigInt<br />

Int<br />

Int<br />

Real<br />

Int<br />

Int<br />

Int<br />

Int<br />

Int<br />

Int<br />

Real<br />

Real<br />

Real<br />

Real<br />

113


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

sumEcoImpactBestOption<br />

sumEcoImpactWorstOption<br />

cluster<br />

Summe des EcoImpacts der umweltfreundlichsten Routenalternativen<br />

im Zeitraum eines Monats.<br />

Summe des EcoImpacts der umweltschädlichsten Routenalternativen<br />

im Zeitraum eines Monats.<br />

Klartext Bezeichnung des Clusters in welches sich die gespeicherten<br />

Daten einordnen lassen.<br />

Tabelle B.3: Entität AggrUserFigure des Data Warehouse<br />

Real<br />

Real<br />

varChar<br />

114


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo – DV Konzept<br />

Tabelle: AggrUserFigurePerTransportation<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

ID (PS)<br />

JinengoUserID (FS)<br />

year<br />

Eine ganzzahlige Identifikationsnummer, die den entsprechenden<br />

aggregierten Datensatz repräsentiert.<br />

Identifikationsnummer des Anwenders dem die aufsummierten<br />

Daten im Zeitraum eines Monats zurechenbar sind.<br />

Ganzzahliger Wert, der das Jahr in dem die aggregierten Daten<br />

gültig sind repräsentiert.<br />

month Der Gültigkeitsmonat der Daten als ganzzahliger Wert. Int<br />

transportationTypeID<br />

(FS)<br />

needID (FS)<br />

countRoutes<br />

countSubroutes<br />

sumDistance<br />

sumTime<br />

sumTimeUsable<br />

sumCosts<br />

sumEcoImpact<br />

cluster<br />

Die Identifikationsnummer des Verkehrsmittel, dem diese Daten<br />

im angegebenen Zeitraum zurechenbar sind.<br />

Wurde während des Projektes nicht genutzt, sollte aber abbilden,<br />

welcher Zweck hinter einer Reise st<strong>and</strong> (Geschäftsreise, Urlaub<br />

etc.). In diesem Feld würde sich dann die Identifikationsnummer<br />

des Zwecks finden, dem die entst<strong>and</strong>enen Daten in einem Monat<br />

zuzurechnen sind.<br />

Anzahl der gewählten Routen aller Nutzer für einen Zeitraum<br />

eines Monats, aggregiert nach Verkehrsmittel.<br />

Anzahl der gefahrenen Subrouten aller Nutzer für einen Zeitraum<br />

eines Monats, aggregiert nach Verkehrsmittel.<br />

Summer der insgesamt von allen Nutzern gefahrenen Distanz im<br />

Zeitraum eines Monats in Kilometern, aggregiert nach Verkehrsmittel.<br />

Gesamtzeit, die die Anwender bei der Absolvierung von Routen<br />

mit Jinengo in einem Monat verbracht haben. Angabe in Minuten.<br />

Summe der nutzbaren Zeit aller Fahrten in einem bestimmten<br />

Monat.<br />

Summe der Fahrtkosten aller zurückgelegten Routen für den Zeitraum<br />

eines Monats in Euro und Cent, aggregiert nach Verkehrsmittel.<br />

Summe des EcoImpacts, den alle gefahrenen Routen im Zeitraum<br />

eines Monats verursacht haben, aggregiert nach Verkehrsmittel.<br />

Angabe in Gramm CO2.<br />

Klartext Bezeichnung des Clusters in welches sich die gespeicherten<br />

Daten einordnen lassen.<br />

Tabelle B.4: Entität AggrUserFigurePerTransportation des Data Warehouse<br />

BigInt<br />

BigInt<br />

Int<br />

BigInt<br />

BigInt<br />

Int<br />

Int<br />

Real<br />

Int<br />

Int<br />

Real<br />

Real<br />

varChar<br />

115


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - DV Konzept<br />

Tabelle: AggrPlatformFigure<br />

year (PS)<br />

Ganzzahliger Wert, der das Jahr in dem die aggregierten Daten<br />

gültig sind repräsentiert.<br />

month (PS) Der Gültigkeitsmonat der Daten als ganzzahliger Wert. Int<br />

countActiveUsers Summe der Aktiven Nutzer für einen Zeitraum eines Monats. Int<br />

Attribut Beschreibung & ggf. Einheit Datenformat<br />

countRegisteredUders<br />

countRoutes<br />

sumDistance<br />

sumCosts<br />

sumEcoImpact<br />

sumEcoImpactBestOption<br />

sumEcoImpactWorstOption<br />

Summe der registrierten Nutzer für einen Zeitraum eines Monats.<br />

Anzahl der gewählten Routen aller Nutzer für einen Zeitraum<br />

eines Monats.<br />

Summer der insgesamt von allen Nutzern gefahrenen Distanz im<br />

Zeitraum eines Monats in Kilometern.<br />

Summe der Fahrtkosten aller zurückgelegten Routen für den<br />

Zeitraum eines Monats in Euro und Cent.<br />

Summe des EcoImpacts, den alle gefahrenen Routen im Zeitraum<br />

eines Monats verursacht haben. Angabe in Gramm CO2.<br />

Summe des EcoImpacts der umweltfreundlichsten Routenalternativen<br />

im Zeitraum eines Monats.<br />

Summe des EcoImpacts der umweltschädlichsten Routenalternativen<br />

im Zeitraum eines Monats.<br />

Tabelle B.5: Entität AggrPlatformFigure des Data Warehouse<br />

Int<br />

Int<br />

Real<br />

Real<br />

Real<br />

Real<br />

Real<br />

Real<br />

116


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: Jinengo<br />

Dokumentation<br />

117


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

118


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Inhaltsverzeichnis Jinengo Dokumentation<br />

Abbildungsverzeichnis ........................................................................................................... 120<br />

Tabellenverzeichnis ................................................................................................................ 121<br />

1. Ergebnisdarstellung & Technische Dokumentation ....................................................... 123<br />

1.1 BI-Architektur ............................................................................................................ 123<br />

1.2 Datenbanken ............................................................................................................... 124<br />

1.2.1 Operative Datenbank (JinengoOperationalCRM) ........................................... 125<br />

1.2.2 Relationales Data Warehouse (JinengoDataWarehouse) ................................ 125<br />

1.3 Subroute-Cube ............................................................................................................ 128<br />

1.4 Datenflüsse ................................................................................................................. 130<br />

1.4.1 Prozess zur Füllung der operativen Datenbank mit generierten Daten ........... 131<br />

1.4.2 ETL-Prozess zur Füllung des relationalen Data Warehouse ........................... 132<br />

1.4.3 Aggregation von Daten im Data Warehouse ................................................... 133<br />

1.5 Data Mining ................................................................................................................ 135<br />

1.5.1 Klassifizierung ................................................................................................. 137<br />

1.5.2 Clustering......................................................................................................... 141<br />

1.5.3 Assoziation ...................................................................................................... 144<br />

1.6 Endanwender-Reporting Frontend ............................................................................. 146<br />

1.6.1 Aufbau der Weboberfläche .............................................................................. 146<br />

1.6.2 Verwendete Technologien ............................................................................... 149<br />

1.7 Reporting-API ............................................................................................................ 151<br />

1.7.1 Controller und Service Klassen ....................................................................... 152<br />

1.7.2 Datenmodel ...................................................................................................... 156<br />

1.7.3 Konfiguration der Anwendung ........................................................................ 160<br />

1.8 Reporting mit SSRS ................................................................................................... 161<br />

1.8.1 Aufbau der Reports & Dashboards .................................................................. 162<br />

1.8.2 Administration der Reports & Dashboards ..................................................... 166<br />

1.9 Reporting mit QlikView ............................................................................................. 167<br />

1.10 Self-Service-BI mit Excel........................................................................................... 169<br />

2. Installationsh<strong>and</strong>buch ..................................................................................................... 172<br />

2.1 Datenbank, Cube, Datenflüsse und SSRS-Reports einrichten ................................... 172<br />

2.2 Datengenerator ........................................................................................................... 173<br />

2.3 Reporting API und Frontend für Endanwender.......................................................... 176<br />

3. Begründung eingesetzter Webtechnologien.................................................................... 178<br />

3.1 Frontend ...................................................................................................................... 178<br />

3.2 Backend ...................................................................................................................... 180<br />

4. Fazit ................................................................................................................................. 183<br />

Literaturverzeichnis ................................................................................................................ 186<br />

119


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildungsverzeichnis<br />

Abbildung 1.1: Dialog zum Herstellen einer Verbindung mit dem Datenbankmodul ........... 124<br />

Abbildung 1.2: Projektmappen-Explorer des Visual Studio für SSAS .................................. 128<br />

Abbildung 1.3: Dialog zum Anlegen eines neuen Cube-Measures ....................................... 129<br />

Abbildung 1.4: Dialog zum Anlegen einer neuen Cube-Berechnung .................................... 130<br />

Abbildung 1.5: Projektmappen-Explorer des Visual Studio für SSIS ................................... 130<br />

Abbildung 1.6: Prozessablauf zur Füllung der operativen Datenbank ................................... 131<br />

Abbildung 1.7: Prozessablauf zur Füllung des Data Warehouse ........................................... 133<br />

Abbildung 1.8: Prozessablauf zur Datenaggregation im Data Warehouse ............................ 134<br />

Abbildung 1.9: Datenfluss zur Neuaggregation im Data Warehouse .................................... 134<br />

Abbildung 1.10: Beispiel Stream aus dem SPSS Modeler 15 ................................................ 135<br />

Abbildung 1.11: Daten importieren & aufbereiten ................................................................ 136<br />

Abbildung 1.12: Daten im SPSS Modeler 15 analysieren ..................................................... 136<br />

Abbildung 1.13: Daten exportieren im SPSS Modeler 15 ..................................................... 137<br />

Abbildung 1.14: Typzuordnung im SPSS Modeler 15 (eigene Abbildung) .......................... 140<br />

Abbildung 1.15: Daten aufbereiten Sustainability Clustering ............................................... 142<br />

Abbildung 1.16: Daten aufbereiten Personen Cluster ............................................................ 143<br />

Abbildung 1.17: Daten analysieren Sustainability Cluster .................................................... 143<br />

Abbildung 1.18: Daten analysieren Personen Cluster ............................................................ 144<br />

Abbildung 1.19: Daten aufbereiten Assoziationsanalyse ....................................................... 145<br />

Abbildung 1.20: Daten analysieren Assoziation .................................................................... 145<br />

Abbildung 1.21: Daten exportieren Assoziationsanalyse ...................................................... 146<br />

Abbildung 1.22: Screenshot CO2-Emission Endanwender ................................................... 147<br />

Abbildung 1.23: Screenshot Verteilung Verkehrsmittel ........................................................ 148<br />

Abbildung 1.24: Screenshot C02-Einsparpotential ................................................................ 148<br />

Abbildung 1.25: Aufbau einer Spring MVC Anwendung ..................................................... 152<br />

Abbildung 1.26: UML User Controller API .......................................................................... 154<br />

Abbildung 1.27: UML Platform Controller API .................................................................... 155<br />

Abbildung 1.28: UML Authentication Controller API .......................................................... 156<br />

Abbildung 1.29: UML Model Klassen API ........................................................................... 157<br />

Abbildung 1.30: Anmeldung zu den Reporting-Services mit dem Internet Explorer ............ 162<br />

Abbildung 1.31: Anmeldung zu den Reporting-Services mit dem Internet Explorer ............ 163<br />

Abbildung 1.32: Screenshot des SSRS-Dashboards „Jinengo-Überblick“ ............................ 164<br />

Abbildung 1.33: Screenshot des SSRS-Dashboards „Clusteranalyse“ .................................. 164<br />

Abbildung 1.34: Screenshot des SSRS-Dashboards „Orte in Oldenburg“ ............................ 164<br />

Abbildung 1.35: Screenshot des SSRS-Reports „Nutzung der Plattform“ ............................ 165<br />

Abbildung 1.36: Screenshot des SSRS-Reports „Reisekennzahlen (Zeit &<br />

Verkehrsmittel)“ ..................................................................................................................... 165<br />

Abbildung 1.37: Screenshot des SSRS-Reports „Reisekennzahlen (Zeit & Präferenz)“ ...... 166<br />

Abbildung 1.38: Projektmappen-Explorer des Visual Studio für SSRS ................................ 167<br />

Abbildung 1.39: Beispiel für spezifische Berichtsdaten im Visual Studio ............................ 167<br />

Abbildung 1.40: QlikView Basisansicht ................................................................................ 168<br />

Abbildung 1.41: Auszug aus dem "Load-Skript" in QlikView .............................................. 168<br />

Abbildung 1.42: Beispiel für die Umsetzung eines Dashbaords ............................................ 169<br />

Abbildung 1.43: Dialog zur Datenverbindungs-Konfiguration in Excel ............................... 170<br />

Abbildung 1.44: Dialog zur Auswahl des Cubes in Excel ..................................................... 170<br />

Abbildung 1.45: Dialog zum Speichern der Authentifizierungseinstellungen in Excel ........ 171<br />

Abbildung 1.46: Beispiel für die Visualisierung von Reportdaten ........................................ 172<br />

Abbildung 2.1: Verbindungseinrichtugn des SQL Server Management Studios ................... 173<br />

Abbildung 2.2: Importdialog in eclipse.................................................................................. 175<br />

120


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 2.3: ProjectExplorer aus eclipse für den Routengenerator ................................... 176<br />

Tabellenverzeichnis<br />

Tabelle 1.1: Tabellen der operativen Datenbank ................................................................... 125<br />

Tabelle 1.2: Tabellen des relationalen Data Warehouse ........................................................ 126<br />

Tabelle 1.3: Views des relationalen Data Warehouse ............................................................ 127<br />

Tabelle 1.4: Ablaufbeschreibung zur Füllung des Data Warehouse ...................................... 133<br />

Tabelle 1.5: JavaScript Module Endanwender Frontend ....................................................... 150<br />

Tabelle 1.6: API Datenmodell aggregierte Nutzerkennzahlen ............................................... 158<br />

Tabelle 1.7: API Datenmodell aggregierte Verkehrsmittelkennzahlen ................................. 159<br />

Tabelle 1.8: API Datenmodell Nutzerauthentifizierung ........................................................ 159<br />

Tabelle 1.9: API Datenmodell Nutzerdetails ......................................................................... 160<br />

Tabelle 1.10: API Datenmodell Freundesliste ....................................................................... 160<br />

Tabelle 3.1: Eingesetzte Java Technologien .......................................................................... 181<br />

121


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Das vorliegende Dokument stellt die Ergebnisse der Jinengo-Teilgruppe der <strong>Projektgruppe</strong> Cuberunner<br />

vor und dokumentiert das Ergebnis aus technischer Sicht (siehe Kapitel 1). Zudem<br />

werden Hinweise gegeben, wie sich die Projektergebnisse auf einem <strong>and</strong>eren, als auf dem von<br />

der <strong>Projektgruppe</strong> verwendeten, Server installieren lassen (siehe Kapitel 2). Umfang und Inhalt<br />

der einzelnen Abschnitte in den Kapiteln 1 und 2 variieren dabei zum Teil, um den spezifischen<br />

Anforderungen des Konzeptes Rechnung zu tragen. So wird das Ergebnis des Datengenerators<br />

nicht mehr dokumentiert, da der entsprechende Teil im Rahmen einer Produktivsetzung von<br />

Jinengo seine Relevanz verliert 18 . Zudem erfordern die selbstentwickelten Systembest<strong>and</strong>teile<br />

nach einer detaillierteren Dokumentation als diejenigen, die mithilfe der BI-St<strong>and</strong>ardsoftware<br />

entwickelt wurden. Kapitel 3 begründet daher auch noch einmal ausführlicher die Wahl der<br />

eingesetzten Webtechnologien für die Reporting-API sowie das Endanwender-Reporting. Die<br />

Dokumentation schließt in Kapitel 4 mit einem Fazit der Ergebnisse der Jinengo-Teilgruppe.<br />

18 Stattdessen sei auf die Spezifikation des Datengenerators im DV-Konzept sowie auf den Quellcode verwiesen.<br />

122


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

1. Ergebnisdarstellung & Technische Dokumentation<br />

1.1 BI-Architektur<br />

Im Projektverlauf wurde ein virtueller Server mit dem Betriebssystem Windows Server 2008 eingerichtet<br />

(nachfolgend PGBI-Server genannt). Als Datenbank wurde der Microsoft SQL Server 2012<br />

installiert. Der Computer mitsamt seinen SQL-Serveranwendungen lässt sich über eine Remotedesktopverbindung<br />

administrieren.<br />

Der SQL-Server lässt sich zudem ebenfalls über lokal installierte Anwendungen (SQL Server Management<br />

Studio und Visual Studio) administrieren. Der Zugang zum PGBI-Server sowie der Datenbank<br />

wird in der gesamten Dokumentation an den entscheidenden Stellen beschrieben. Die relevanten<br />

Hinweise sollen hier allerdings der Übersichtlichkeit halber bereits vorab gegeben werden.<br />

Für den Zugriff zum PGBI-Server per Remotedesktopverbindung sind die folgenden Zugangsdaten<br />

relevant:<br />

<br />

<br />

<br />

Computer: pg-bi.informatik.uni-oldenburg.de<br />

Benutzer: PGBI\PBoewe (Windows-Benutzer)<br />

Passwort: pgbi32!<br />

Um den Server mit den lokal installierten Serveranwendungen (insbesondere SQL Server Management<br />

Studio) zu administrieren, ist eine VPN-Verbindung zur Universität Oldenburg herzustellen. Folgenden<br />

Zugangsdaten sind zu verwenden:<br />

Servername (IP-Adresse): 134.106.13.63<br />

Authentifizierung: SQL-Server-Authentifizierung<br />

Benutzer: jinengo (DB-Benutzer)<br />

Passwort: pgbi32!<br />

123


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

1.2 Datenbanken<br />

Anmerkung: Zur Betrachtung und Administration der Datenbanken ist das „Microsoft SQL Server<br />

Management Studio“ zu verwenden. Dieses kann entweder lokal oder über eine Remotedesktopverbindung<br />

auf dem PGBI-Server ausgeführt werden. Die lokale Version erfordert dabei einen VPN-<br />

Tunnel zur Universität Oldenburg. Als Servertyp sind das „Datenbankmodul“ und der Servername<br />

„PGBI“ zu wählen. Die Authentifizierung kann mit dem Windows-Benutzer erfolgen (siehe Abbildung<br />

1.1).<br />

Abbildung 1.1: Dialog zum Herstellen einer Verbindung mit dem Datenbankmodul<br />

Auf dem PGBI-Server wurden zwei Datenbanken eingerichtet. Die Datenbank JinengoOperational-<br />

CRM enthält die Tabellen, die für den operativen Systembetrieb vorgesehen sind. Die Datenbank<br />

JinengoDataWarehouse enthält hingegen die Tabellen, die für die Analyse der Daten verwendet werden.<br />

124


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

1.2.1 Operative Datenbank (JinengoOperationalCRM)<br />

Die Tabellen der operativen Datenbank sind in Tabelle 1.1 aufgeführt. Sie sind dabei nach Kontext<br />

getrennt, in dem sie verwendet werden.<br />

Kontext<br />

Tabelle<br />

Datengenerator<br />

A_SOURCE_GeoLocation<br />

A_SOURCE_JinengoUser<br />

A_SOURCE_Route<br />

A_SOURCE_Subroute<br />

Operatives System CarSharingMembership<br />

FamilyStatus<br />

IncomeRange<br />

JinengoUser<br />

JinengoUserFriend<br />

Need<br />

Preferences<br />

RailMembership<br />

Route<br />

Subroute<br />

Transportation<br />

TransportationType<br />

Endanwender-Reports UserAuthentication<br />

Tabelle 1.1: Tabellen der operativen Datenbank<br />

1.2.2 Relationales Data Warehouse (JinengoDataWarehouse)<br />

Die Tabellen des relationalen Data Warehouse sind in Tabelle 1.2 aufgeführt. Sie sind dabei nach<br />

Kontext getrennt, in dem sie verwendet werden.<br />

125


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Kontext<br />

ETL-Prozess<br />

Aggregiertes<br />

Data Warehouse<br />

Tabelle<br />

A_Temp_CarSharingMembership<br />

AggrPlatformFigures<br />

AggrUserFigures<br />

AggrUserFiguresPerTransportation<br />

Historisiertes<br />

Data Warehouse<br />

Data Mining<br />

CarSharingMembership<br />

FamilyStatus<br />

IncomeRange<br />

JinengoUser<br />

JinengoUserFriend<br />

Need<br />

RailMembership<br />

Route<br />

Subroute<br />

Transportation<br />

TransportationType<br />

UserHistoric<br />

AssociationResults<br />

ClassificationPrediction<br />

UserAttributeClustering<br />

UserSustainabilityClustering<br />

Tabelle 1.2: Tabellen des relationalen Data Warehouse<br />

Zudem wurden einige Sichten (Views) definiert, die den Zugriff auf die Daten erleichtern sollen. Nach<br />

Möglichkeit erfolgt jeglicher analytischer Datenzugriff über diese Views. Vorteil von Views für den<br />

analytischen Datenzugriff ist insbesondere die Komplexitätsreduzierung durch bereits vorab vorgenommene<br />

Joins. Zudem wird durch die Views die genaue Logik des Data Warehouse gekapselt. Analytische<br />

Anwendungen wie Reports und Dashboards werden dadurch unabhängiger von der tatsächlichen<br />

Implementierung des Data Warehouse. Nachträgliche Änderungen können so leichter vorgenommen<br />

werden. Tabelle 1.3 gibt einen Überblick über Name und Funktion der Views im relationalen<br />

Data Warehouse.<br />

126


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Kontext View Funktion<br />

Data<br />

Mining<br />

DataMining<br />

Zählt pro Endanwender welche Verkehrsmittel wie<br />

oft genutzt wurden.<br />

Cubes SSAS_DIM_Route Bereitet die Tabelle Route zur Verwendung als<br />

Dimension in Cubes auf. Es findet ein Join mit der<br />

Tabelle Need statt, um das Bedürfnis hinter der<br />

Route zu selektieren. Zudem findet eine Reduzierung<br />

auf die für die dimensionale Verwendung relevanten<br />

Attribute statt.<br />

SSAS_DIM_Transportation<br />

SSAS_DIM_UserHistoric<br />

SSAS_FACT_Subroute<br />

Bereitet die Tabelle Transportation (Verkehrsmittel)<br />

zur Verwendung als Dimension in Cubes auf.<br />

Es findet ein Join mit der Tabelle Transportation-<br />

Type statt, um den übergeordneten Verkehrsmitteltyp<br />

zu selektieren. Zudem findet eine Reduzierung<br />

auf die für die dimensionale Verwendung relevanten<br />

Attribute statt.<br />

Bereitet die Tabelle UserHistoric (historisierter<br />

Endanwender) zur Verwendung als Dimension in<br />

Cubes auf. Dafür werden die Fremdschlüsselbeziehungen<br />

zu den Stammdatentabellen FamilyStatus,<br />

IncomeRange, RailMembership und JinengoUser<br />

per Join aufgelöst. Auch die Clustering-Ergebnisse<br />

aus den Tabellen UserAttributeClustering und<br />

UserSustainabilityClustering werden mit einbezogen.<br />

Es findet eine Reduzierung auf die für die dimensionale<br />

Verwendung relevanten Attribute statt.<br />

Bereitet die Tabelle Subroute zur Verwendung als<br />

Faktentabelle eines Cubes auf. Dafür werden die<br />

Attribute entfernt, die sich nicht als Messgröße<br />

bzw. Verweis auf eine Dimension interpretieren<br />

lassen.<br />

Reporting V_AggrPlatformFigure Berechnet zu den in der Tabelle AggrPlatformFigure<br />

dargestellten Kennzahlen zusätzlich die abgeleiteten<br />

Kennzahlen „Ausgeschöpftes CO 2 -<br />

Reduktionspotential“ (M11) sowie „Anteil aktiver<br />

Endanwender“ (J03).<br />

V_AggrUserFigure<br />

V_AggrUserFigurePer-<br />

Transportation<br />

Löst die Fremdschlüsselbeziehung zur Tabelle Need<br />

auf, die das Bedürfnis eines Anwenders hinter seinen<br />

Reisen darstellt.<br />

Löst die Fremdschlüsselbeziehung zur Tabelle Need<br />

auf, die das Bedürfnis eines Anwenders hinter seinen<br />

Reisen darstellt. Zudem wird analog die<br />

Fremdschlüsselbeziehung zur Tabelle TransportationType<br />

aufgelöst, um den Verkehrsmitteltyp der<br />

Reisen zu bestimmen.<br />

Tabelle 1.3: Views des relationalen Data Warehouse<br />

127


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

1.3 Subroute-Cube<br />

Anmerkung: Zur Betrachtung und Administration des Cubes ist das „Microsoft Visual Studio“ auf<br />

dem PGBI-Server zu starten und das Projekt „JinengoAnalysisCube.sln“ zu öffnen. Dieses findet sich<br />

unter dem Dateipfad: „C:\Users\PBoewe\Documents\Visual Studio<br />

2010\Projects\JinengoAnalysisCube“.<br />

Auf dem PGBI-Server wurde mithilfe der SQL Server Analysis Services (SSAS) der Cube Subroute<br />

eingerichtet, der die entsprechenden Daten des relationalen Data Warehouse multidimensional aufbereitet.<br />

Wie im DV-Konzept vorgesehen, verfügt der Cube über die vier Dimensionen Zeit, Verkehrsmittel,<br />

Endanwender und Route. Der Cube dient als Grundlage für verschiedene SSRS-Reports und<br />

kann im Rahmen der Self-Service BI zudem per Microsoft Excel abgerufen werden<br />

Abbildung 1.2: Projektmappen-Explorer des Visual Studio für SSAS<br />

Das Vorgehen zur Erstellung des Cubes im Microsoft Visual Studio (siehe Abbildung 1.2) wird im<br />

Folgenden kurz beschrieben:<br />

1. Zunächst wurde eine Verbindung zu einer Datenbank als Datenquelle definiert. In diesem Fall<br />

h<strong>and</strong>elt es sich um eine Verbindung zum JinengoDataWarehouse.<br />

2. Anschließend wurden die zuvor in Tabelle 1.3 definierten Views durch die Datenquellensicht<br />

mit in die Betrachtung eingeschlossen. Die Beziehungen zwischen den einzelnen Views wurden<br />

manuell definiert 19 .<br />

19 Die automatische Erkennung von Fremdschlüsselbeziehungen funktioniert nur bei eingebundenen Tabellen.<br />

Die Beziehungen von Views müssen hingegen manuell gezogen werden.<br />

128


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

3. Anschließend wurden die Dimensionen angelegt.<br />

a. Die Anlage der Verkehrsmittel-Dimension erfolgt auf Basis der bestehenden gleichnamigen<br />

View. Es wurde eine Attributhierarchie definiert, die ein Drill-Down in den<br />

späteren Reports ermöglicht. Das Komfort-Attribut des Verkehrsmittels wird in drei<br />

gleichgroße Gruppen eingeteilt (Discretization). Auf diese Weise erfolgt die Filterung<br />

und Aggregation der Daten nicht mehr auf Ebene einzelner Werte, sondern auf der<br />

Ebene von Wertebereichen.<br />

b. Die Anlage der Endanwender-Dimension erfolgt auf Basis der bestehenden gleichnamigen<br />

View. Auch hier werden die Präferenz-Attribute für Komfort, Kosten, Nachhaltigkeit<br />

und Zeit in drei gleichgroße Gruppen eingeteilt.<br />

c. Die Anlage der Route-Dimension erfolgt auf Basis der bestehenden gleichnamigen<br />

View. Weitere spezifische Einstellungen werden nicht vorgenommen.<br />

d. Für die Zeit-Dimension wurde ein entsprechender Assistent verwendet. Attribute und<br />

Hierarchien wurden dafür für die Ebenen Jahr, Quartal, Monat, Woche und Tag definiert.<br />

4. Im Anschluss wurde der Cube Subroute angelegt, der auf der entsprechenden View basiert.<br />

a. Dem Cube werden die Dimensionen zugewiesen. Die Zuordnung zu den drei Dimensionen<br />

Verkehrsmittel, Endanwender und Route erfolgt automatisch auf Basis der zuvor<br />

definierten Beziehungen. Die Zeit-Dimension musste hingegen manuell mit dem<br />

Abfahrts- sowie Endzeitpunkt verbunden werden.<br />

b. Die im Fachkonzept definierten Kennzahlen lassen sich als Measures anlegen, solange<br />

sie durch einfache Aggregationsfunktionen aus den Tabellendaten generiert werden<br />

können (siehe Beispiel in Abbildung 1.3). Abgeleitete Kennzahlen lassen sich durch<br />

Berechnungen definieren. Für den Cube Subroute war das für die Kennzahlen „Reisekosten<br />

pro Kilometer“ (M05) und „CO 2 -Emissionen pro Kilometer“ (M10) notwendig<br />

(siehe Beispiel in Abbildung 1.4).<br />

Abbildung 1.3: Dialog zum Anlegen eines neuen Cube-Measures<br />

129


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.4: Dialog zum Anlegen einer neuen Cube-Berechnung<br />

1.4 Datenflüsse<br />

Anmerkung: Zur Betrachtung und Administration der Datenflüsse ist das „Microsoft Visual Studio“<br />

auf dem PGBI-Server zu starten und das Projekt „JinengoIntegration1.sln“ zu öffnen. Dieses findet<br />

sich unter dem Dateipfad „C:\Users\PBoewe\Documents\Visual Studio<br />

2010\Projects\JinengoIntegration1“.<br />

Auf dem PGBI-Server wurden mit den SQL Server Integration Services (SSIS) drei Datenflüsse erstellt.<br />

Der erste füllt die operative Datenbank mit den Daten des Datengenerators, der zweite füllt das<br />

Data Warehouse aus der operativen Datenbank und der dritte aggregiert die Daten im Data Warehouse.<br />

Diese Flüsse wurden im Projekt „JinengoIntegration1“ als einzelne SSIS-Pakete angelegt<br />

(siehe Abbildung 1.5).<br />

Abbildung 1.5: Projektmappen-Explorer des Visual Studio für SSIS<br />

Die drei Pakete lassen sich dabei auf zwei Wegen ausführen; manuell sowie automatisch. Die manuelle<br />

Ausführung ist bislang der favorisierte Weg, da aufgrund des manuell angeworfenen Datengenerators<br />

nur zu definierten Zeiten mit neuen Daten zu rechnen ist. Für die Ausführung ist im Visual Studio<br />

auf das SSIS-Paket rechts zu klicken, anschließend sind „Als Startobjekt festlegen“ sowie „Paket ausführen“<br />

zu wählen. Der Prozess läuft dann im Debugging-Modus ab und kann von dort aus auch<br />

überwacht werden.<br />

130


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Üblicherweise werden Pakete allerdings auf dem Server abgelegt und von dort aus – in der Regel automatisiert<br />

– gestartet. Für die Überspielung auf den Server ist im Visual Studio im Menü „Erstellen“<br />

und dann „JinengoIntegration1 erstellen“ zu wählen. Anschließend mit dem „SQL Server Management<br />

Studio“ bei den „Integration Services“ anmelden (Programm dafür unbedingt als Administrator<br />

starten). Unter „Gespeicherte Pakte“, „MSDB“, „Paket importieren“ kann dann das SSIS-Paket vom<br />

Dateisystem in die Datenbank importiert werden. Die Speicherung des Paktes in der Systemdatenbank<br />

MSDB hat den Vorteil, dass so auch die Sicherung der Pakete gemeinsam mit der Datenbank erfolgt.<br />

Das SSIS-Paket lässt sich über das Kontextmenü nun lokal ausführen. Für eine Automatisierung ist<br />

der Ast „SQL Server-Agent“ des „SQL Server Management Studio“ aufzuklappen. Hier kann dann ein<br />

neuer Auftrag angelegt werden. Innerhalb dieses Auftrags dann einen Schritt vom Typ „SSIS-Paket“<br />

anlegen, als Paketquelle den SSIS-Paketspeicher auswählen, den Server angeben und das entsprechende<br />

Paket auswählen. Unter „Zeitpläne“ lässt sich ein neuer Plan zur automatischen Einplanung des<br />

Pakets wählen.<br />

1.4.1 Prozess zur Füllung der operativen Datenbank mit generierten Daten<br />

Der Prozess zur Füllung der operativen Datenbank mit den Daten aus dem Datengenerator (Jinengo-<br />

DataGenerator) besteht aus drei hinterein<strong>and</strong>er ausgeführten Tasks (siehe Abbildung 1.6):<br />

1. „Process Routes“: Übertragt zuvor noch nicht übertragene Routen aus der temporärer Tabelle<br />

des Datengenerators in die Tabelle Route der operativen Datenbank.<br />

2. „Process Subroutes“: Überträgt die zu den Routen gehörige Subrouten aus der temporären<br />

Tabelle des Datengenerators in die Tabelle Subroute der operativen Datenbank.<br />

3. Set Routes as processed“: Markiert alle Routen als bereits übertragen.<br />

Abbildung 1.6: Prozessablauf zur Füllung der operativen Datenbank<br />

131


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

1.4.2 ETL-Prozess zur Füllung des relationalen Data Warehouse<br />

Der Prozess zur Füllung des relationalen Data Warehouse (JinengoETL) besteht aus verschiedenen<br />

parallel sowie hinterein<strong>and</strong>er ausgeführten Tasks (siehe Abbildung 1.7). Tabelle 1.4 fasst die einzelnen<br />

Tasks der Übersicht halber zu verschiedenen Sinnabschnitten zusammen.<br />

Aufgabe Beteiligte Tasks Beschreibung<br />

Stammdaten<br />

Nichthistorisierte<br />

Endanwenderdaten<br />

Historisierte<br />

Endanwenderdaten<br />

Mobilitätsdaten<br />

CarSharing-<br />

Mietgliedschaften<br />

Cube<br />

aktualisieren<br />

132<br />

„Process FamilyStatus”<br />

„Process IncomeRange”<br />

„Process Need”<br />

„Process RailMembership”<br />

„Process TransportationType”<br />

„Process Transportation”<br />

„Process JinengoUser”<br />

„Delete f. JinengoUserFriend”<br />

„Process JinengoUserFriend”<br />

„Process UserHistoric“<br />

„Get maxRouteTimeSelected”<br />

„Process Routes”<br />

„Process Subroutes”<br />

„Delete from A_TEMP_<br />

CarSharingMembership”<br />

„Process A_TEMP_<br />

CarSharingMembership”<br />

“Process CarSharing-<br />

Membership”<br />

“Process Subroute-Cube”<br />

Diese Stammdaten werden ohne Historisierung<br />

in das Data Warehouse übertragen bzw. bei<br />

Bedarf aktualisiert. Zentrales Element dieser<br />

Tasks ist die Transformation „Langsam veränderliche<br />

Dimension” (jeweils mit Typ-1-<br />

Änderung), die SSIS für die Verarbeitung von<br />

Stammdaten vorsieht.<br />

Aktualisiert die nicht-historisierten Endanwenderdaten<br />

(„Langsam veränderliche Dimension”,<br />

Typ-1) und bringt die Freundschaften auf<br />

den neusten St<strong>and</strong>.<br />

Neben der Verarbeitung neuer Anwender werden<br />

hier insbesondere Änderungen an den<br />

Endanwenderdaten historisiert in das Data<br />

Warehouse übertragen. Dafür werden die Tabellen<br />

UserHistoric und Preferences der operativen<br />

Datenbank per Join zusammengeführt.<br />

Bei Abweichung eines oder mehrerer Attribute<br />

vom bisherigen Wert wird ein neuer Datensatz<br />

für den Anwender angelegt („Langsam veränderliche<br />

Dimension” des Typs 2).<br />

Übertragt diejenigen Daten aus den Tabellen<br />

Routen und Subrouten, die im vorherigen ETL-<br />

Durchlauf noch nicht übertragen wurden. Dabei<br />

wird die jinengoUserID durch userHistoricID<br />

überschrieben, indem die aktuell gültige<br />

Anwenderinstanz ermittelt wird.<br />

CarSharing-Mitgliedschaften werden mit einem<br />

Gültigkeitsdatum historisiert im Data<br />

Warehouse abgelegt. Die Transformation<br />

„Langsam veränderliche Dimension” kann hier<br />

nicht verwendet werden, da die Tabelle lediglich<br />

aus ihrem Primärschlüssel besteht. Daher<br />

werden neue und geänderte Datensätze manuell<br />

ermittelt. Um die Mitgliedschaften aus operativer<br />

Datenbank und Data Warehouse mitein<strong>and</strong>er<br />

zu vergleichen, wird dabei eine temporäre<br />

Tabelle verwendet. Zudem wird die<br />

jinengoUserID durch userHistoricID überschrieben,<br />

indem die aktuell gültige Anwenderinstanz<br />

ermittelt wird.<br />

Nach Abschluss des ETL-Prozesses muss nun<br />

auch die Aktualisierung des Subroute-Cubes<br />

angestoßen werden, damit die Änderungen


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

anschließend auch dort verfügbar sind.<br />

Tabelle 1.4: Ablaufbeschreibung zur Füllung des Data Warehouse<br />

Abbildung 1.7: Prozessablauf zur Füllung des Data Warehouse<br />

1.4.3 Aggregation von Daten im Data Warehouse<br />

Der Ablauf zur Aggregation der Daten im Data Warehouse (JinengorDWAggregation) wird in Abbildung<br />

1.8 dargestellt. Zunächst werden die Jahr-Monat-Konstellationen ermittelt, bei denen seit dem<br />

letzten Durchlauf neue Routen hinzugekommen sind und die deshalb aktualisiert werden müssen. Anschließend<br />

läuft eine Schleife durch diese Jahr-Monat-Konstellationen, löscht die veralteten Datensätze<br />

und legt neue an. Den Ablauf zur Neuaggregation der Datensätze zeigt Abbildung 1.9. Für die neu<br />

zu berechnenden Jahr-Monat-Konstellationen werden dabei alle relevanten Daten zusammengesammelt<br />

und anschließend auf den drei definierten Ebenen erneut aggregiert.<br />

133


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.8: Prozessablauf zur Datenaggregation im Data Warehouse<br />

Abbildung 1.9: Datenfluss zur Neuaggregation im Data Warehouse<br />

134


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

1.5 Data Mining<br />

Anmerkung: Die Projektdatei ist in der beigefügten DVD in dem Ordner „SPSS“ zu finden. In dem<br />

Ordner befindet sich, neben den einzelnen Streams, auch eine gesamte Projektdatei „JinengoDataMining“.<br />

Diese Datei kann mit dem SPSS Modeler 15 ausgeführt werden. Die Projektdatei fasst alle<br />

Streams übersichtlich zusammen.<br />

In Jinengo werden drei verschiedene Data Mining Techniken als Hauptanalysemethode angew<strong>and</strong>t,<br />

um den Kreis zwischen analytischer und operationaler Datenbank zu schließen. Diese Techniken sind<br />

Clustering, Klassifizierung und Assoziation. Jeder dieser drei Fälle wird mit dem Tool „SPSS Modeler<br />

15.0“ von IBM umgesetzt. Der SPSS Modeler wird in Jinengo in der kleinsten Personal Edition ohne<br />

Server Unterstützung umgesetzt. Daher stehen viele Funktionen, wie bspw. Automatisierungsfunktionen<br />

nicht zur Verfügung. Durch den Einsatz zusätzlicher Module der Produktfamilie SPSS von IBM<br />

können diese Funktionen aber leicht nachträglich umgesetzt werden. Die <strong>Projektgruppe</strong> hat sich auf<br />

die Entwicklung der sogenannten „Streams“ im SPSS Modeller konzentriert. Streams stellen den Datenfluss<br />

vom Input bis zum Output dar. Zwischen diesen beiden Schnittstellen werden grundsätzlich<br />

drei Aufgaben durchgeführt.<br />

1. Daten aufbereiten<br />

2. Daten analysieren<br />

3. Daten exportieren<br />

Unabhängig von dem Anwendungsfall ist die Reihenfolge der Schritte sehr ähnlich, obwohl sie inhaltlich<br />

unterschiedlich sind. Ein zentrales Element im SPSS Modeller sind Nodes (dt. Knoten). Jeder<br />

Stream besteht aus einer Anzahl an verketteten Nodes. Ein Node kann sowohl Algorithmus als auch<br />

Datentraformation sein. Im- und Export werden ebenfalls über Nodes abgebildet.<br />

Abbildung 1.10: Beispiel Stream aus dem SPSS Modeler 15<br />

Im ersten Schritt werden die Daten aus den Quellsystemen geladen und über einen "Merge" zusammengefasst.<br />

Im Anschluss werden den Daten Spaltentypen zugewiesen und notwendige Aggregatio-<br />

135


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

nen bzw. Transformationen ausgeführt. Das Ergebnis ist eine fertige Tabelle, die als Input für den<br />

Data Mining Algorithmus fungiert. Ein hilfreiches Tool zur Kontrolle der Input Daten ist der Node<br />

„Data Audit“. In diesem können fehlende Werte oder problematische Attribute schnell identifiziert<br />

und behoben werden.<br />

Daten aufbereiten<br />

Abbildung 1.11: Daten importieren & aufbereiten<br />

In der Abbildung 1.11 wird der Schritt der Datenaufbereitung detailliert dargestellt. Die beiden Symbole<br />

links stellen Datenbankimport-Schnittstellen dar. Der „Merge“-Node joint die beiden Inputdatenbanken<br />

und im Node „Type“ werden den einzelnen Spalten ihre, für das Data Mining notwendigen<br />

Typen zugeordnet (Bspw. input, target, none).<br />

Daten analysieren<br />

Der zweite Schritt, die Datenanalyse, besteht aus dem Algorithmus-Node und den Kontroll-Nodes, die<br />

das Ergebnis des Algorithmus kontrollieren. Jedes Data Mining Ergebnis sollte mit Hilfe der Nodes<br />

„Graphen“ und „Analysis“ auf seinen Validität überprüft werden, bevor die Ergebnisse mit dem dritten<br />

Schritt in die Datenbank zurückgeschrieben werden.<br />

136<br />

Abbildung 1.12: Daten im SPSS Modeler 15 analysieren


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Der „Partition“ Node gruppiert die Daten in Test und Training Data. Im Node „incomeRangeID“ werden<br />

die notwendigen Einstellungen für den Algorithmus vorgenommen. Die beiden rechten Nodes<br />

dienen der Überprüfung des Ergebnisses.<br />

Daten exportieren<br />

Während des dritten Schrittes werden die Data Mining Ergebnisse für das Schreiben in die Datenbank<br />

vorbereitet. Dabei werden Daten angefügt, unnötige Spalten herausgefiltert und Ergebnisse umbenannt.<br />

Der letzte Knoten im Stream stellt den Export in die Datenbank dar. Hier ist besonders darauf<br />

zu achten, dass alle Felder richtig eingestellt wurden, da durch das Ausführen dieses Nodes die Daten<br />

in der externen Datenbank überschrieben werden könnten.<br />

Abbildung 1.13: Daten exportieren im SPSS Modeler 15<br />

Die „Select“ & „Filter“ Nodes reduzieren die Datenmenge auf die benötigten Werte und der letzte<br />

Node schreibt diese in die Datenbank.<br />

Zur Überprüfung der Zwischenschritte lässt sich der Stream bis zu jedem Node manuell ausführen.<br />

Erreicht er den ausgewählten Node stoppt der Prozess. So können aktuelle Fortschritte überprüft und<br />

korrigiert werden.<br />

Aktuell müssen alle Data Mining Prozesse noch manuell umgesetzt werden. Es gibt allerdings Möglichkeiten<br />

diese in den SSIS Service von Microsoft zu integrieren oder durch weitere Module von IBM<br />

zu automatisieren.<br />

Im Folgenden wird die konkrete Umsetzung der vier Anwendungsfälle aus dem DV-Konzept beschrieben.<br />

Dabei werden neben realisierten Konzepten auch Ideen und mögliche Zukunftsszenarien<br />

beschrieben. Die Streams des SPSS Modeler sind gesammelt in einer Projektdatei gesichert und der<br />

Dokumentation beigefügt.<br />

1.5.1 Klassifizierung<br />

Ziel der Klassifizierung ist es Attribute von Usern zu ermitteln, die entweder nicht vorliegen oder deren<br />

Klassifizierung von der tatsächlichen Angabe abweicht.<br />

137


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Für diejenigen Attribute, deren Originalwert nicht in der Datenbank vorh<strong>and</strong>en ist, gibt die Klassifizierung<br />

einen Hinweis, welche Ausprägung dem User entsprechend wäre. So bietet die Klassifizierung<br />

eine Möglichkeit fehlende Werte in der Datenbank zu ergänzen.<br />

Ist der klassifizierte Wert <strong>and</strong>ers als angegeben, ist dies ein Hinweis darauf, dass User unter umständen<br />

einen <strong>and</strong>eren Wert präferieren würden. Dies ist insbesondere in Bezug auf Attribute interessant,<br />

die sich auf den Besitz von Produkten beziehen. So könnte es zum Beispiel dabei helfen User zu identifizieren,<br />

die aktuell zwar noch kein E-Bike besitzen, potentiell aber zur Gruppe der Interessenten<br />

gehören.<br />

Da viele Angaben durch den User freiwillig sind, können bestimmte Attribute durch alle Daten hindurch<br />

lückenhaft sein. Sowohl für die Darstellung im Rahmen der BI als auch in der Analyse sind<br />

lückenhafte Datensätze problematisch und es kann daher sinnvoll sein, sie mit den wahrscheinlichsten<br />

Werten aufzufüllen.<br />

Es wurden insgesamt sechs Streams gebaut, die für je ein Attribut die Werte schätzen. Die Streams<br />

sind unterein<strong>and</strong>er fast identisch. Hauptunterscheidung stellt das unterschiedliche „Target Attribut“<br />

dar.<br />

Im Folgenden wird ein Stream beispielhaft für alle dokumentiert:<br />

Daten aufbereiten<br />

Mit den beiden folgenden SQL Statements werden die User und die Routendaten aus der Datenbank<br />

abgefragt:<br />

User:<br />

SELECT<br />

FROM<br />

WHERE<br />

j.ID AS jinengoUserID, u.ID AS userHistoricID,<br />

u.incomeRangeID, u.familyStatusID, u.ownsPEV,<br />

u.ownsGasCar, u.ownsEbike, u.publicTransportMember,<br />

u.railMembershipID, u.carSharingMemberships,<br />

u.maxDistanceToWalk, u.maxDistanceToBike,<br />

u.sustainabilityPreference, u.comfortPreference,<br />

u.costsPreference, j.gender, j.birthdate<br />

dbo.JinengoUser j, dbo.UserHistoric u<br />

u.jinengoUserID = j.ID AND u.ID = ( SELECT MAX(ID) FROM<br />

UserHistoric WHERE jinengoUserID = j.ID)<br />

Routen:<br />

SELECT<br />

userHistoricID,<br />

138


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

COUNT(CASE WHEN transportationID = 1 THEN transportationID<br />

………<br />

COUNT(CASE WHEN transportationID = 21 THEN transportationID<br />

END) AS ICE<br />

FROM<br />

GROUP BY<br />

dbo.Subroute AS q<br />

userHistoricID<br />

Das erste SQL-Statement (User) lädt den aktuellsten User aus dem Datawarehouse. Der gleiche User<br />

kann unter verschiedenen "userHistoric"-Keys mehrfach abgelegt sein. Für die Klassifizierung soll<br />

aber jeder User nur einmal verwendet in der aktuellsten Ausprägung werden. User die oft ihre Attribute<br />

ändern und dadurch in mehreren Versionen vorh<strong>and</strong>en sind, würden ansonsten automatisch einen zu<br />

hohen Einfluss auf das Ergebnis haben.<br />

Das zweite Statement (Routen) zählt die Anzahl der Routen pro Verkehrsmittel auf Subroutenebene.<br />

Über ein "Join" verbunden ergeben die beiden Tabellen den Input für den Algorithmus. Hierbei können<br />

noch die Typen (Role) zu den einzelnen Attributen zugewiesen (siehe folgende Abbildung) und<br />

die Partition für das Data Mining erstellt werden.<br />

139


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.14: Typzuordnung im SPSS Modeler 15 (eigene Abbildung)<br />

Die Spalte Field repräsentiert die einzelnen Attribute. In der Spalte Measurement wird der Datentyp<br />

zugewiesen und kann ggf. angepasst werden. In der Spalte Role steht Input für die Input-Parameter.<br />

Das mit "Target" ausgezeichnete Attribut wird als Ziel für die Klassifizierung verwendet. Mit "None"<br />

gekennzeichnete Attribute werden ignoriert und "Key" dient der Identifikation der Daten.<br />

Daten analysieren<br />

Der Algorithmus für die Klassifizierung ist „exhaustive CHAID“. Um die Stablität des Modells zu<br />

erhöhen ist Bagging aktiviert. Nach ausprobieren ergab sich ein Wert von 150 Models (tab: Build Options<br />

Ensembles) als ausreichend um die Aussagekraft des Modells zu maximieren. Dieser Werte<br />

passte für alle sechs Streams. Muss aber evtl. bei sich ändernden Datenvolumen angepasst werden.<br />

140


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Das gebaute Modell sollte auf jeden Fall mit dem Analyse-Node und dem <strong>Evaluation</strong>-Node überprüft<br />

werden. Die genauen Einstellungen können in der Projektdatei eingesehen werden.<br />

Für die Klassifizierung wird der „exhaustive CHAID“ Algorithmus genutzt. Um die Stabilität des<br />

Modells zu erhöhen ist "Bagging" aktiviert. Nach ausprobieren ergab sich ein Wert von 150 Models<br />

(tab: Build Options Ensembles) als ausreichend um die Aussagekraft des Modells zu maximieren.<br />

Dieser Werte konnte für alle sechs Streams genutzt werden, muss aber evtl. bei sich ändernden Datenvolumen<br />

angepasst werden. Das gebaute Modell sollte auf jeden Fall mit dem Analyse-Node und dem<br />

<strong>Evaluation</strong>-Node überprüft werden. Die genauen Einstellungen können in der Projektdatei eingesehen<br />

werden.<br />

Daten exportieren<br />

Nachdem das Target-Attribut klassifiziert wurde, wird der aktuelle Timestamp als Datum angefügt,<br />

um in Zukunft feststellen zu können, wann die Prediction durchgeführt wurde. Außerdem wird die<br />

Beschriftung des Target-Attributs (in diesem Fall „ownsEbike“) in die Spalte „attribut“ geschrieben.<br />

Dies ist relevant, da alle sechs Streams in dieselbe Tabelle in der Datenbank geschrieben werden. Um<br />

die einzelnen Predictions ausein<strong>and</strong>er zu halten, dient die Spalte „attribut“ als Indikator.<br />

Zum Schluss werden unnötige Felder heraus gefiltert und nur die Einträge ausgewählt, bei denen die<br />

Attribut Ausprägung ursprünglich weder "NULL" noch gleich dem „ValuePredicted“ ist. Zusätzlich<br />

muss die PredictionConfidence größer als ein zu definierender Grenzwert sein. Dieser Grenzwert kann<br />

aus der obigen Analyse der Data Mining Ergebnisse ermittelt werden.<br />

Die Zieltabelle besteht aus folgenden Spalten: „userHistoricID, jinengoUserID, attribut, attributValue,<br />

attributPrediction, predictionConfidence, predictionDate“.<br />

1.5.2 Clustering<br />

Im Rahmen des Clustering werden User zu Gruppen zugeordnet. Mit Hilfe dieser Gruppen können<br />

User gezielter angesprochen werden und dadurch ihre Response Rate auf bspw. Newsletter Kampagnen<br />

erhöht werden. Zur Realisierung wurden zwei Typen von Clustern definiert: zum einen ein<br />

Sustainability Cluster und ein Personen Cluster. Personen Cluster gruppieren User nach ihren persönlichen<br />

Eigenschaften wie Alter, Geschlecht etc. Diese Gruppen sind insbesondere Hilfreich um die<br />

User von Jinengo selbst zu analysieren. Fragen wie „Wer nutzt Jinengo und wie oft“ lassen sich mit<br />

Hilfe dieser Cluster genauer umschreiben. So könnten bestimmte Einkommens und Altersgruppen<br />

identifiziert werden, die Jinengo besonders häufig oder weniger häufig nutzen. Diese Segmente lassen<br />

sich im Anschluss z.B. für zielgruppenspezifische Werbung nutzen.<br />

141


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Sustainability Cluster ermöglichen eine trennscharfe Visualisierung der gefahrenen Routen in Bezug<br />

auf Nachhaltigkeitsaspekte. So lassen sich bspw. Usergruppen mit individuellen Eigenschaften identifizieren,<br />

die besonders oft nachhaltige Routen wählen. Ein weiterer Anwendungsfall für dieses Custer<br />

ist die Visualisierung des Fahrverhaltens der Sustainability Cluster in Reports und Dashboards.<br />

Datenaufbereiten<br />

Abbildung 1.15: Daten aufbereiten Sustainability Clustering<br />

Die Datenaufbereitung für die Sustainability Cluster ist etwas umfangreicher, da personenbezogene<br />

Daten mit Routendaten in Verbindung gebracht werden müssen. Der Node „Data Mining“ spricht den<br />

gleichnamige View im Datawarehouse an. Dieser View zählt alle von einem User benutzten Verkehrsmittel.<br />

Die Daten entsprechen dem zweiten SQL Skript (Routen) in dem obigen Abschnitt „Klassifizierung“.<br />

Der Node „jinen-go@jinengoDataW...“ Liest mit folgendem SQL Statement nachhaltigkeitsbezogene<br />

Daten des Users aus.<br />

SELECT<br />

FROM<br />

GROUP BY<br />

r.userHistoricID, sum(r.ecoImpact) as sumEcoImpact,<br />

sum(r.distance) as sumDistance<br />

dbo.Subroute r<br />

userHistoricID<br />

Zusätzlich zu den Daten auf Subrouten Ebene werden die Daten auf Routen Ebene geladen und über<br />

die "userHistoricID" gejoint. Im letzten Schritt der Datenaufbereitung werden noch die Typen zugewiesen.<br />

142


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.16: Daten aufbereiten Personen Cluster<br />

Die Personencluster sind weniger aufwendig zu importieren. Die User werden mit Informationen aus<br />

den Tabellen "JinengoUser" und "userHistoric" geladen. Einzige Besonderheit ist, dass in dem sternförmigen<br />

Node fehlende Werte mit Hilfe eines C/RT Algorithmus ergänzt werden. Eine Analyse der<br />

Quelldaten hatte ergeben, dass zu viele User ihr Einkommen nicht angegeben haben. Daher war es<br />

nötig, das Einkommen mit Hilfe eines Klassifizierungsalgorithmus zu schätzen.<br />

Daten analysieren<br />

Abbildung 1.17: Daten analysieren Sustainability Cluster<br />

Der verwendete Algorithmus heißt TwoStep. Mit diesem Algorithmus konnte auf unseren Daten das<br />

robusteste Ergebnis erzielt werden, wie in der obigen Abbildung zu sehen ist. Der große Nachteil des<br />

Algorithmus ist jedoch, dass in Bezug auf Nachhaltigkeitsaspekte nicht mehr als zwei Cluster gefunden<br />

werden konnten.<br />

143


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Im Gegensatz dazu wurde für den Personencluster der Algorithmus K-Means verwendet. Das Ergebnis<br />

ist zwar nicht so Robust (zu vergleichen ist die Cluster Quality in den beiden Abbildungen), allerdings<br />

bietet es eine höhere Heterogenität der Cluster.<br />

Daten exportieren<br />

Abbildung 1.18: Daten analysieren Personen Cluster<br />

Der Export ist in beiden Clustern identisch. In einem Node können die Cluster beschriftet und beschrieben<br />

werden. Ein Timestamp wird hinzugefügt und alle überflüssigen Felder werden gefiltert. Die<br />

Ergebnisse des Personenclusters werden in der Tabelle "dbo.UserAttributeClustering" in dem Data-<br />

Warehouse gespeichert, während die Sustainability Cluster mit derselben Struktur in der Tabelle<br />

"dbo.UserSustainabilityClustering" gespeichert werden.<br />

1.5.3 Assoziation<br />

Ziel der Assoziationsanalyse ist es Regeln in den Daten zu entdecken, die ein Verhalten der User beschreiben.<br />

Die Regeln können für verschiedene Zwecke genutzt werden.<br />

Ein Anwendungsfall könnte sein, dass Interesse an einem Ebike für unterschiedliche Nutzer zu schätzen,<br />

je nachdem welche Bedingungen sie erfüllen. Hierfür werden sowohl personenbezogene Daten,<br />

Routendaten als auch ökologische Inputparameter für den Algorithmus gewählt. Die gefundenen Regeln<br />

werden dann auf den gesamten Datensatz angew<strong>and</strong>t und für jeden gefundenen Fall in die Datenbank<br />

zurückgeschrieben.<br />

Daten aufbereiten<br />

144


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.19: Daten aufbereiten Assoziationsanalyse<br />

Neben den normalen Operationen, die schon aus den Schritten Klassifizierung und Clustering bekannt<br />

sind, ist eine besondere Bedingung für den Assoziationsalgorithmus, dass dieser nur boolesche Attribute<br />

oder Attribute mit wenigen distinkten Werten akzeptiert. Größere Wertespektren in einem Attribut<br />

sind nicht möglich. Daher werden im Node „Binning“ diese Attribute in Quartile zusammengefasst.<br />

Daten analysieren<br />

Abbildung 1.20: Daten analysieren Assoziation<br />

Dieses Schaubild enthält zwei Analyse Nodes. Der erste entdeckt mit Hilfe des Apiori-Algorithmus<br />

Regeln in den Daten. Auf Basis dieser Regeln wird ein zweiter Analyse Node erstellt der einen Entscheidungsbaum<br />

basierend auf den gefunden Regeln darstellt. Der zweite Node (ownsGasCar) ist, bei<br />

sich ändernden Regeln (bspw. durch ein neues Zielattribut), neu aus dem Menu des Apiori-Nodes zu<br />

erstellen. Dies ist aus dem Kontext Menu unter „Generate -> Rule Set“ möglich.<br />

145


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Daten exportieren<br />

Abbildung 1.21: Daten exportieren Assoziationsanalyse<br />

Die zu den Regeln passenden Datensätze werden im Beispiel „ownsGasCar“ auf diejenigen reduziert,<br />

bei denen die Regel für den Besitz eines GasCar vorh<strong>and</strong>en sind, die akute Ausprägung bei dem User<br />

aber 0 oder null ist. Folglich entweder nicht angegeben oder tatsächlich nicht vorh<strong>and</strong>en sind. Mit<br />

einem Datum werden die Ergebnisse dann in das Data Warehouse (dbo.AssociationResults) geschrieben.<br />

1.6 Endanwender-Reporting Frontend<br />

Im nachfolgenden Kapitel wird der Aufbau und die Realisierung des Endanwender Frontends erläutert.<br />

Anh<strong>and</strong> von Screenshots werden hierzu die einzelnen Komponenten der Web-Oberfläche dargestellt<br />

und inhaltlich beschrieben. Darauf aufbauend wird die technische Realisierung unter Einbeziehung<br />

der verwendeten Technologien erläutert. Hierbei wird insbesondere auf den Aufbau der JavaScript<br />

Anwendung eingegangen.<br />

1.6.1 Aufbau der Weboberfläche<br />

Anmerkung: Die Weboberfläche lässt sich live unter der Adresse http://reporting.js-developer.de/<br />

betrachten. Mit den folgenden Anmeldeinformationen kann man sich zu Testzwecken am System anmelden.<br />

(User: beccy@brinckmann.com / Passwort: beccy32)<br />

Die nachfolgenden Screenshots zeigen die fertig entwickelte Weboberfläche zur Darstellung von Endanwender<br />

Reports.<br />

146


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.22: Screenshot CO2-Emission Endanwender<br />

In der obigen Abbildung 1.22 wird dem Nutzer seine monatliche CO2-Emission über ein Jahr in Form<br />

eines Charts (blaue Linie) dargestellt. Neben der CO2-Emission kann der Nutzer in der grünen Menüleiste<br />

auch drei weitere Kennzahlen (Reisekosten, Reisestrecke und Reisezeit) zur Betrachtung auswählen.<br />

Sobald mit der Maus über einen der Menüpunkte gefahren wird, klappt animiert ein Untermenü<br />

aus. In diesem können bis zu vier verschiedene, kennzahlenspezifische Darstellungsvarianten gewählt<br />

werden: die monatlichen CO2-Emissionen, die durchschnittlichen CO2-Emission, die CO2-<br />

Bilanz (Darstellung des Einsparpotentials) und der Anteil der Verkehrsmittel.<br />

In der oberen rechten Ecke der Abbildung 1.22 sieht man in blau, das Kristina als Vergleichsperson<br />

ausgewählt wurde. Kristinas CO2-Emission wird zusammen mit dem Chart des aktiven Nutzers als<br />

roter Graph dargestellt.<br />

147


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.23: Screenshot Verteilung Verkehrsmittel<br />

Die Abbildung 1.23 stellt die CO2-Emission des Nutzers verteilt auf alle genutzten Verkehrsmittel<br />

dar. Deutlich sieht man auf der linken Seite in Rot, dass die Nutzerin Becca einen Großteil ihrer Strecken<br />

mit dem PKW zurücklegt, während ihre Freundin Korinna (rechts abgebildet) deutlich mehr<br />

Bahn und öffentlich Verkehrsmittel nutzt. Beccas häufige Autonutzung führt zu einem schlechten<br />

Wert in ihrer CO2-Bilanz (vgl. Abbildung 1.24)<br />

Abbildung 1.24: Screenshot C02-Einsparpotential<br />

Die Abbildung 1.24 zeigt die CO2-Bilanz von Becca. Der linke Graph stellt dabei ihre CO2-Emission<br />

über die Zeit dar, wobei die blaue Kurve die tatsächlichen CO2-Emission von Becca abbildet. Die<br />

gepunktete rote Linie zeigt den höchst möglichen Wert (wäre sie immer Auto gefahren). Die gepunk-<br />

148


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

tete grüne Linie den kleinsten möglichen Wert, wenn sie also immer das Verkehrsmittel mit der geringsten<br />

Emission gewählt hätte. Man erkennt deutlich, dass sich ihre Kurve fast immer am oberen<br />

roten R<strong>and</strong> befindet, sie also relativ viel CO2 im Vergleich zu ihren möglichen Alternativrouten verbraucht.<br />

Die rechte Grafik fasst die Bilanz noch einmal kompakt in Form eines animierten Nachhaltigkeitstachos<br />

zusammen. Dieser zeigt, dass Becca nur gut 25 Prozent ihres Einsparpotentials nutzt und<br />

sie sich daher noch deutlich nachhaltiger fortbewegen könnte.<br />

Sollte der Nutzer genügend Information über sein Fahrverhalten gesammelt haben, kann er sich über<br />

den oberen rechten „Abmelden“-Button wieder aus der Anwendung ausloggen.<br />

1.6.2 Verwendete Technologien<br />

Bei den verwendeten Technologien für die Weboberfläche wurden ausschließlich die drei Webst<strong>and</strong>ards<br />

JavaScript, HTML und CSS verwendet. Die Charts werden zudem, im vom W3C empfohlenen<br />

SVG Format, live im Browser gezeichnet.<br />

Hervorzuheben ist, dass durch den Einsatz dieser Technologien alle grafischen Elemente der Weboberfläche,<br />

also Navigation und Chart vollständig ohne Bilder auskommen. Dies verbessert nicht nur<br />

die Ladezeiten, sondern sorgt auch dafür, dass die Charts auf hochauflösenden Retina-Displays stets<br />

scharf und in optimaler Auflösung dargestellt werden.<br />

Das animiert aus- und einklappende Navigationsmenüs, sowie die Farbverläufe der Buttons wurden<br />

ausschließlich mit CSS3 realisiert und entsprechen den neuesten St<strong>and</strong>ards der Webentwicklung.<br />

Aufbau der JavaScript Anwendung<br />

Ein Großteil der Anwendung basiert auf JavaScript. Während HTML nur ein grobes Gerüst für den<br />

Aufbau vorgibt, wird der weitere Inhalt dynamisch über JavaScript geladen. Dabei steuert JavaScript<br />

unter <strong>and</strong>erem die Menüinteraktion, das Laden der Nutzer- und Kennzahlendaten und sowie das<br />

Zeichnen der Charts. Die Anwendung wird hierfür in drei Module unterteilt. Diese Dreiteilung sorgt<br />

für eine Trennung von Logik, Datenmanagement und Zeichnung der Charts.<br />

Großgeschriebene JavaScript Dateien entsprechen Klassen. Für unterschiedliche Aufgaben existieren<br />

verschiedene Klassen die von einer zentralen „logic.js“ Datei durch „new Klassenname“ instanziiert<br />

werden. Die Verwendung von Klassen ermöglicht es Techniken der objektorientierten Programmierung<br />

auf JavaScript zu übertragen. Hierdurch wird unter <strong>and</strong>erem eine Modularisierung ermöglicht,<br />

die den Austausch- und die Wiederverwendung einzelner Anwendungskomponenten erleichtert.<br />

149


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Folgende Dateien wurden für die Realisierung der Webanwendung entwickelt (Vgl. Tabelle 1.5). Die<br />

Tabelle entspricht dabei den Anforderungen des Fachkonzeptes (Vgl.: Fachkonzept 5.1.1).<br />

Anmerkung: Die nachfolgenden Dateien können auch online in dem von der <strong>Projektgruppe</strong> genutzten<br />

Git-Repository betrachtet werden. Für die Ansicht der JavaScript Dateien einfach folgende URL im<br />

Browser<br />

eingeben:<br />

https://github.com/lars2510/reportingservice/tree/master/src/main/webapp/resources/js<br />

Dateiname<br />

logic.js<br />

JinengoChart.js<br />

GraphH<strong>and</strong>ler.js<br />

PieH<strong>and</strong>ler.js<br />

BalanceH<strong>and</strong>ler.js<br />

Beschreibung<br />

Das Hauptmodul ist für das initiale Laden der Nutzerdetails und Freundeslisten<br />

über den Webservice zuständig. Zudem erzeugt es die Instanzen aller<br />

notwendigen JavaScript Klassen und bindet diese an die jeweiligen Event-<br />

Listener.<br />

Die Listener sorgen dafür, dass bei einem Klick auf das Navigationsmenü<br />

oder die Freundesliste das entsprechende H<strong>and</strong>ler-Objekt die Datenabfrage<br />

und das Zeichnen der angefragten Charts übernimmt.<br />

Das Chartmodul übernimmt die Kommunikation mit dem Webservice und<br />

erfragt die für den jeweiligen Chart benötigten Daten.<br />

Bei erfolgreicher, asynchroner Datenabfrage der Nutzer- und Vergleichsdaten<br />

übergibt das Modul die Daten an den zuständigen Charth<strong>and</strong>ler.<br />

Die Charth<strong>and</strong>ler übernehmen die Zeichnung der Charts anh<strong>and</strong> der übermittelten<br />

Daten. Die drei H<strong>and</strong>ler unterscheiden sich hauptsächlich in der<br />

Art der zu zeichnenden Charts (Graph, Kuchendiagramm, Nachhaltigkeitsbilanz).<br />

Die Klassen sind zudem für die Aufbereitung der Daten verantwortlich, so<br />

dass diese optimal für die Konfiguration des Charts genutzt werden können.<br />

So werden Monate von den Zahlen 1-12 in die passenden Monatskürzel<br />

Jan-Dez umgew<strong>and</strong>elt. Zudem erfolgt im „BalanceH<strong>and</strong>ler“ die Berechnung<br />

des Wertes für den Nachhaltigkeitstacho, da dieser nur indirekt in der Datenbank<br />

vorh<strong>and</strong>en ist.<br />

Für die finale Zeichnung des Charts wird die Bibliothek Highcharts genutzt,<br />

welche mit dem konfigurierten Chart Objekt instanziiert wird.<br />

Tabelle 1.5: JavaScript Module Endanwender Frontend<br />

Die Daten erhält die Weboberfläche über JavaScript gesteuerter Ajax-Anfragen an den Webservice.<br />

Nach erfolgreicher Abfrage erhält die Weboberfläche die Daten im JSON-Format. Auf Grundlage<br />

dieser Daten werden dynamisch die Charts auf der Webseite dargestellt. Ajax ermöglicht es dabei, nur<br />

die Charts neu zu zeichnen, ohne den Inhalt der gesamten Seite neu laden zu müssen.<br />

Wie bereits erläutert werden die Daten zur Darstellung der Charts über eine Ajax-Anfrage an den<br />

Webservice geladen. Ajax ermöglicht es dabei, parallele Anfragen an den Webservice zu stellen und<br />

so Zeit bei der Datenübertragung zu sparen. Ein kurzer Ausschnitt aus dem JavaScript Code soll dies<br />

verdeutlichen:<br />

$.when(<br />

$.ajax({<br />

150


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

url: graphData.h<strong>and</strong>ler.userApiUrl,<br />

data: requestData<br />

}),<br />

$.ajax({<br />

url: graphData.h<strong>and</strong>ler.compareApiUrl,<br />

data: friendData<br />

})<br />

).done(function(dataUser, dataFriend){<br />

graphData.h<strong>and</strong>ler.draw(dataUser, dataFriend);<br />

}).fail(function(err) {<br />

console.log("Es konnte keine Verbindung zur Jinengo API aufgebaut<br />

werden. Statuscode " + err.status);<br />

});<br />

Das Codebeispiel zeigt wie Daten parallel sowohl für den Nutzer, als auch für seinen Freund über die<br />

API abgefragt werden. Hierzu wartet die mit „$.when“ gekennzeichnete Funktion darauf, dass die<br />

beiden gleichzeitig an den Webservice gestellten Ajax-Anfragen erfolgreich waren. Ist dies der Fall<br />

wird der durch „$.done“ gekennzeichnete Code-Bereich aufgerufen und der Chart auf Basis der Daten<br />

gezeichnet, kam es zu einem Fehler wird der Bereich „$.fail“ aufgerufen und eine Fehlermeldung auf<br />

der Konsole des Browsers ausgegeben.<br />

Die durch das $-Zeichen gekennzeichneten Funktionen werden durch die Bibliothek jQuery bereitgestellt.<br />

Neben Ajax-Anfragen lässt sich über jQuery auch der Inhalt der HTML-Seite dynamisch aktualisieren.<br />

JavaScript bietet zwar auch native Funktionen, die dies übernehmen könnten, jedoch wäre<br />

bedeutend mehr Code hierfür erforderlich und die Eigenarten unterschiedlichster Browserhersteller<br />

müssten durch zahlreiche Ausnahmen berücksichtigt werden.<br />

1.7 Reporting-API<br />

Zur Realisierung der Reporting API als Webservice wurde das Spring MVC Framework verwendet.<br />

Das Kürzel MVC beschreibt die Dreiteilung der Anwendung in „Model“, „View“ und „Controller“.<br />

Der Controller übernimmt dabei den Kontrollfluss zwischen einer Ressource, die ein Nutzer über<br />

HTTP abfragt, und den bereitzustellenden Datenobjekten (Model), die der Abfrage zugeordnet sind.<br />

151


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Quelle: Springsource.org (o.J.)<br />

Abbildung 1.25: Aufbau einer Spring MVC Anwendung<br />

Der Anwendungsaufbau und Funktionsfluss der Spring MVC Anwendung ist in Abbildung 1.25 dargestellt.<br />

Eine Anfrage an die Anwendung startet dabei immer mit einem eindeutigen HTTP-Request,<br />

welcher von dem Java-Servlet (Front-Controller) an den zuständigen Controller weitergeleitet wird.<br />

Der zuständige Controller hat die Verantwortung, ein Datenmodell mit den vom Request angeforderten<br />

Daten zu erstellen und diese auszuliefern.<br />

Für die Darstellung der Daten ist das View-Template verantwortlich. Dieser Schritt wird bei der Erstellung<br />

einer REST-API übersprungen, da das Ziel der Schnittstelle nicht die Darstellung, sondern die<br />

Auslieferung der benötigten JSON-Daten liegt.<br />

Da es sich bei dem Webservice um eine reine Schnittstelle zur Datenbereitstellung h<strong>and</strong>elt lag der<br />

Großteil des Entwicklungsaufw<strong>and</strong>es bei Model und Controller. Die View Komponente wurde lediglich<br />

für die Bereitstellung eines HTML-Grundgerüstes für das Web-Reporting Frontend genutzt.<br />

1.7.1 Controller und Service Klassen<br />

Die Controller Klassen der Anwendung sind dafür zuständig eingehende HTTP-Requests eindeutig<br />

einer Ressource zuzuordnen. Hierfür werden mit Hilfe von Java-Annotationen die Zuständigkeiten der<br />

Controller eindeutig definiert. Eine Beispiel-Annotation aus der Anwendung sieht wie folgt aus:<br />

@RequestMapping("/api/user/transportation")<br />

Wird eine Klasse oder eine Funktion mit dieser Annotation gekennzeichnet, werden alle eingehenden<br />

Anfragen die der URI http://anwendungsname/api/user/transportation entsprechen, der Funktion mit<br />

152


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

dieser Annotation zugeordnet. Die Funktion übernimmt dann die Aufgabe mit Hilfe von Service Klassen<br />

mit der Datenbank zu kommunizieren und die angefragte Ressource bereitzustellen.<br />

Folgende Controller (Vgl. Abbildung 1.26 & Abbildung 1.27) wurden für die API implementiert. Sie<br />

entsprechen den Anforderungen der Schnittstellenspezifikation aus dem DV-Konzept.<br />

UserApiController<br />

Dieser Controller ordnet die Anfrage nach nutzerspezifischen Kennzahlen den entsprechenden Funktionen<br />

zu. Zur Abfrage der Daten aus der Datenbank nutzt der Controller die beiden Service Klassen<br />

„UserDao“ für Nutzerdetails und „UserFiguresDao“ für Kennzahlen. Das Suffix Dao der Service<br />

Klassen steht konventionell für „DataAccesObject“, also ein Objekt, welches für den Datenbankzugriff<br />

verantwortlich ist.<br />

Die Service Klassen sind für die Kommunikation mit der Datenbank verantwortlich. Sie beinhalten die<br />

SQL-Abfragen und füllen das zugehörige Model mit Daten. Zudem berechnen sie Kennzahlen, die nur<br />

indirekt in der Datenbank vorh<strong>and</strong>en sind wie Beispielsweise das CO2-Einsparpotential des Nutzers.<br />

UserDao<br />

Diese Service-Klasse ist für den Zugriff auf nutzerspezifische Details wie Name, E-Mail und Freundeslisten<br />

zuständig. Zudem regelt sie den Zugriff und die Speicherung der Authentifizierungsdaten des<br />

Nutzers.<br />

UserFiguresDao<br />

Diese Service Klasse ist für den Zugriff auf die Nutzerrelevanten Kennzahlen aus der Datenbank verantwortlich.<br />

153


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.26: UML User Controller API<br />

Die Abbildung 1.26 stellt die Architektur und die Funktionen des UserApiControllers und der beiden<br />

Service Klassen dar. Die Funktionen sind ausführlich im Quellcode dokumentiert. Ein kurzer Auszug<br />

aus dem Programm soll jedoch einen Eindruck über den Aufbau der Controller Funktionen vermitteln:<br />

Im Folgenden ist beispielhaft die Implementierung der Funktion im Controller aufgeführt, die alle<br />

Kennzahlen aufgeschlüsselt nach Verkehrsmitteln liefert:<br />

@RequestMapping(value = "/transportation", method = RequestMethod.GET)<br />

public @ResponseBody List getTransportation(<br />

@RequestParam(value="keyFigure") String keyFigure) {<br />

return userFiguresDao.getTransportation(keyFigure));<br />

}<br />

Die erste Zeile Ordnet der URI „/transportation“ die Funktion in Zeile 2 „getTransportation“ zu. Als<br />

Parameter wird die Art der Kennzahl (Zeile 3) übergeben. Die Service-Klasse „userFiguresDao“ ist<br />

dann für das Abfragen der Daten und erstellen des Datenmodels verantwortlich. Das Ergebnis wird<br />

vom Controller zurückgegeben. Der Zusatz „@ResponseBody“ in Zeile 2 konvertiert dabei das Model<br />

in ein JSON Objekt, so dass die Rückgabe direkt von der JavaScript Anwendung für Endanwender<br />

Reports weiterverarbeitet werden kann.<br />

154


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

PlatformApiController<br />

Dieser Controller ordnet die Anfrage plattformspezifischer Kennzahlen den entsprechenden Funktionen<br />

zu. Der Funktionsumfang des PlatformApiController ist eine Teilmenge des „UserApiController“,<br />

jedoch wird eine <strong>and</strong>ere Service Klasse für den Datenzugriff genutzt, da die Kennzahlen <strong>and</strong>ere Datenbanktabellen<br />

benötigen.<br />

PlatformFiguresDao<br />

Diese Service Klasse ist für den Zugriff auf aggregierte Durchschnittswerte der Jinengo Plattform<br />

verantwortlich. Abbildung 1.27 zeigt den Aufbau:<br />

AuthenticationController<br />

Abbildung 1.27: UML Platform Controller API<br />

Vor Nutzung der API muss sich jeder Nutzer am System authentifizieren. Die Umsetzung entspricht<br />

dabei den konzeptionellen Vorgaben des Konzeptes und wurde in großen Teilen durch Spring Komponenten<br />

umgesetzt. Die „security-context.xml“ beinhaltet alle notwendigen Konfigurationen.<br />

Damit sich neue Nutzer registrieren und ihr eigenes Passwort festlegen können, wurde ein entsprechender<br />

Controller für die API implementiert. Der Aufbau ist in Abbildung 1.28 dargestellt:<br />

155


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.28: UML Authentication Controller API<br />

Die Funktion „savePassword“ des „AuthenticationController“ sorgt dafür, dass das Passwort verschlüsselt,<br />

zusammen mit der eindeutigen E-Mail Adresse des Nutzers in der Datenbank abgelegt<br />

wird. Zusätzlich wird jedem Nutzer beim Anlegen eine Rolle zugewiesen. Über die Rollte lässt sich<br />

durch den Administrator festlegen, auf welche Bereiche des Webservices der Nutzer Zugriff erhält.<br />

1.7.2 Datenmodel<br />

Die Datenbankmodelle die eine Webanwendung zur Darstellung von Kennzahlen benötigen, werden<br />

mit Hilfe der Java Persistence Api (JPA) in Java abgebildet. Eine Tabelle wird dabei durch die Annotation<br />

@Entity gekennzeichnet.<br />

Folgende Datenbanktabellen wurden als Java-Model implementiert:<br />

156


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.29: UML Model Klassen API<br />

Nachfolgend eine Erläuterung der einzelnen Modelle und ihrer Kennzahlen.<br />

AggrUserFigure<br />

Modell der aggregierten Nutzer Kennzahlen. Aggregiert auf Monatsbasis und mit Erweiterung der<br />

jeweils besten oder schlechtesten, möglichen Routenalternative bezogen auf die jeweilige Kennzahl.<br />

157


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Eigenschaft Wertebereich Beschreibung<br />

id Integer Eindeutiger Primärschlüssel<br />

jinengoUserID Integer Eindeutige Nutzer ID<br />

year Integer Jahr der aggregierten Kennzahl<br />

month Integer Monat der aggregiert Kennzahl<br />

need String Grund der Reise<br />

countRoutes Integer Anzahl der Routen im jeweiligen Monat<br />

countSubroutes Integer Anzahl der Subrouten im jeweiligen Monat<br />

sumDistance Float Summe der zurückgelegten Strecke<br />

sumTime Integer Summe der benötigten Zeit<br />

sumTimeBestOption Integer Summe der benötigten Zeit bei Betrachtung<br />

der jeweils schnellsten Routenalternative<br />

sumTimeWorstOption Integer Summe der benötigten Zeit bei Betrachtung<br />

der jeweils langsamsten Routenalternative<br />

sumTimeUsable Integer Summe der nutzbaren Zeit (z.B. bei Fahrt<br />

mit dem Zug)<br />

sumTimeUsableBestOption Integer Summe der nutzbaren Zeit bei Betrachtung<br />

der jeweils maximalen Routenalternative<br />

sumTimeUsableWorstOption Integer Summe der nutzbaren Zeit bei Betrachtung<br />

der jeweils minimalen Routenalternative<br />

sumCosts Float Summe der Routenkosten<br />

sumCostsBestOption Float Summe der Routenkosten bei Betrachtung<br />

der jeweils günstigsten Routenalternative<br />

sumCostsWorstOption Float Summe der Routenkosten bei Betrachtung<br />

der jeweils teuersten Routenalternative<br />

sumEcoImpact Float Summe der CO-Emission<br />

sumEcoImpactBestOption Float Summe der CO-Emission bei Betrachtung<br />

der jeweils geringsten Emission unter den<br />

Routenalternativen<br />

sumEcoImpactWorstOption Float Summe der CO-Emission bei Betrachtung<br />

der jeweils höchsten Emission unter den<br />

Routenalternativen<br />

cluster String Routencluster, erstellt über Data-Mining<br />

AggrUserFigurePerTransportation<br />

Tabelle 1.6: API Datenmodell aggregierte Nutzerkennzahlen<br />

Model der aggregierten Kennzahlen auf Monatsbasis und aufgeschlüsselt nach Verkehrsmittel.<br />

158


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Eigenschaft Wertebereich Beschreibung<br />

id Integer Eindeutiger Primärschlüssel<br />

jinengoUserID Integer Eindeutige Nutzer ID<br />

year Integer Jahr der aggregierten Kennzahl<br />

month Integer Monat der aggregierten Kennzahl<br />

transportation String Verkehrsmittel<br />

need String Grund der Reise<br />

countRoutes Integer Anzahl der Routen<br />

countSubroutes Integer Anzahl der Subrouten<br />

sumDistance Float Summe der zurückgelegten Strecke<br />

sumTime Integer Summe der benötigten Zeit<br />

sumTimeUsable Integer Summe der nutzbaren Zeit<br />

sumCosts Float Summe der Reisekosten<br />

sumEcoImpact Float Summe der CO2-Emission<br />

cluster String Routencluster, erstellt über Data-Mining<br />

Tabelle 1.7: API Datenmodell aggregierte Verkehrsmittelkennzahlen<br />

UserAuthenticationModel<br />

Model der relevanten Authentifizierungsdaten eines Jinengo Nutzers. Das Model wird zur Speicherung<br />

der Nutzerdaten in der Datenbank benötigt. Die Daten werden genutzt um den Anwender später<br />

bei der Nutzung des Webservice authentifizieren zu können.<br />

Ein mit E-Mail und Passwort authentifizierter Nutzer kann eindeutig seiner Nutzer ID zugeordnet<br />

werden. Dies stellt sicher, dass ein Nutzer nur die für ihn relevanten Daten angezeigt bekommt und<br />

keinen Zugriff auf Bereiche erhält die nicht seiner Rolle/Berechtigung entsprechen.<br />

Eigenschaft Wertebereich Beschreibung<br />

userEmail String Eindeutige E-Mail Adresse<br />

userPassword String Vom Nutzer festgelegtes Passwort. Wird beim Speichern in<br />

der Datenbank in ein sicher verschlüsseltes Passwort konvertiert<br />

(SHA-224 Hash).<br />

userRole String Nutzerrolle. Steuert die Zugriffsrechte auf den Webservice.<br />

JinengoUser<br />

Tabelle 1.8: API Datenmodell Nutzerauthentifizierung<br />

Das Jinengo User Model enthält relevante Nutzerinformationen, die, nach der Authentifizierung über<br />

E-Mail und Passwort, eindeutig dem Nutzer zugeordnet werden können. Die Nutzer ID kann dabei die<br />

159


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Verbindung zu den relevanten Routendaten herstellen. Die Daten werden unter <strong>and</strong>erem vom Webinterface<br />

genutzt.<br />

Eigenschaft Wertebereich Beschreibung<br />

id Integer Eindeutige Nutzer ID<br />

timeRegistered Date Registrierungsdatum<br />

timeInactive Date Zeit seit dem Nutzer inaktiv ist<br />

name String Name des Nutzers<br />

gender Integer Geschlecht<br />

email String Eindeutige E-Mail des Nutzers<br />

birthdate Date Geburtsdatum<br />

Tabelle 1.9: API Datenmodell Nutzerdetails<br />

JinengoUserFriend<br />

Die Tabelle enthält eine eindeutige Zuordnung zwischen Nutzer ID und Freundes ID. So kann für<br />

einen eingeloggten Nutzer eine Ausgabe der aktuellen Freunde erfolgen. Das Webinterface ermöglicht<br />

zudem den Vergleich der eigenen Kennzahlen, mit denen der eingetragenen Freunde.<br />

Eigenschaft Wertebereich Beschreibung<br />

id Integer Eindeutiger Primärschlüssel<br />

jinengoUserID_user Integer ID des Nutzers<br />

jinengoUserID_friend Integer ID des Freundes<br />

Tabelle 1.10: API Datenmodell Freundesliste<br />

1.7.3 Konfiguration der Anwendung<br />

Die Webservice Anwendung läuft in einem Tomcat Container. Damit dieser mit eingehenden HTTP<br />

Anfragen umgehen kann, müssen einige Einstellungen getroffen werden. Die St<strong>and</strong>ard Tomcat Konfiguration<br />

befindet sich in der web.xml Datei. Daneben werden noch drei weitere, Spring-spezifische<br />

XML Dateien verwendet. Diese sind unter <strong>and</strong>erem für die Weiterleitung der Anfragen, die Sicherheit<br />

und die Datenbankkonfiguration verantwortlich. Die XML-Dateien werden nachfolgend erläutert:<br />

web.xml<br />

Die St<strong>and</strong>ardkonfiguration für den Tomcat Web-Container. Alle eingehenden Anfragen werden durch<br />

die web.xml an die verantwortlichen Ressourcen weitergeleitet. Hierfür wird unter <strong>and</strong>erem der Ort<br />

der servlet-context.xml angegeben, die den zentralen Spring Servlet Container definiert. Alle eingehenden<br />

Anfragen werden an diese Datei weitergeleitet.<br />

160


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Sollte eine Anfrage an keine passende Ressource weitergeleitet werden können, wird zudem eine<br />

St<strong>and</strong>ard 404 JSP-Seite definiert, welche dem Nutzer eine entsprechende Fehlermeldung liefert.<br />

Neben der web.xml werden drei Spring-spezifische Kontext-Dateien definiert:<br />

Servlet Context<br />

<br />

<br />

<br />

Definiert den Ort der Java Controller-Klassen die für eingehende Anfragen verantwortlich<br />

sind. Controller-Klassen werden durch die Annotation @Controller gekennzeichnet.<br />

Definiert den Ordner der Views, die für die Darstellung der vom Controller zugeordneten Modelldaten<br />

verantwortlich sind.<br />

Definiert das Ressourcen Verzeichnis, in welchem sich die JavaScript und CSS Dateien befinden.<br />

Database Context<br />

<br />

<br />

<br />

Definiert das Verzeichnis in dem nach Datenbankmodellen, die durch die Java Annotation<br />

@Components gekennzeichnet sind, gesucht werden soll.<br />

Definiert den Ort der „Properties“-Datei. Diese beinhaltet Login Information zur Datenbankauthentifizierung.<br />

Definiert die Spring-Objekte, welche die Verbindungen zu den jeweiligen Datenbanksystemen<br />

verwalten.<br />

Security Context<br />

<br />

<br />

Authentifiziert einen Nutzer bei der Anmeldung. Dabei wird geprüft, ob Passwort und E-Mail<br />

mit den in der Datenbank hinterlegten Daten übereinstimmen. Hierfür wird eine SQL Anfrage<br />

an die operationale Datenbank definiert.<br />

Definiert die Zugriffsrechte für den Webservice. Dabei können unterschiedlichen URLs unterschiedlichen<br />

Rollen zugeordnet werden.<br />

1.8 Reporting mit SSRS<br />

Auf dem PGBI-Server wurden mit den SQL Server Reporting Services (SSRS) sechs verschiedene<br />

Dashboards sowie Reports erstellt, die unterschiedliche Anforderungen abdecken. Im Folgenden werden<br />

der Aufbau sowie die Administration dieser Dashboards und Reports dokumentiert.<br />

161


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

1.8.1 Aufbau der Reports & Dashboards<br />

Anmerkung: Die Reports und Dashboards lassen sich über den Internet Explorer aufrufen. Befindet<br />

man sich mit einer Remotedesktopverbindung auf dem PGBI-Server, ist die Adresse<br />

„http://localhost/Reports“ aufzurufen. Alternativ lässt sich – unter der Voraussetzung eines VPN-<br />

Tunnels zur Universität Oldenburg – auch der lokal installierte Internet Explorer verwenden. Die<br />

aufzurufende Adresse lautet dann „http://134.106.13.63/Reports“. Das Login erfolgt dann mit einem<br />

Windowsbenutzer des PGBI-Servers, z.B. Benutzer „PGBI\PBoewe“ und Passwort „pgbi32!“ (siehe<br />

Abbildung Abbildung 1.30).<br />

Die Reporting-Anwendung läuft vergleichsweise langsam. Während der Nutzung ist daher zum Teil<br />

mit größeren Wartezeiten zu rechnen.<br />

Abbildung 1.30: Anmeldung zu den Reporting-Services mit dem Internet Explorer<br />

Nach der Anmeldung und einem Klick auf „Reports und Dashboards“ werden die 6 angelegten Elemente<br />

aufgelistet (siehe Abbildung 1.31). Zu Beginn bietet sich der Start von „Dashboard Überblick“<br />

an, da von diesem Dashboard auf alle <strong>and</strong>eren Elemente verlinkt wird.<br />

162


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.31: Anmeldung zu den Reporting-Services mit dem Internet Explorer<br />

Die Abbildungen auf den kommenden Seiten stellen die einzelnen Dashboards und Reports dar. Alle<br />

Reports und Dashboards mit Ausnahme des Überblick-Dashboards lassen sich durch die Angabe von<br />

Parametern steuern. Diese sind im Internet Explorer allerdings zunächst ausgeblendet und können über<br />

den Button am oberen Bildschirmr<strong>and</strong> eingeblendet werden.<br />

163


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.32: Screenshot des SSRS-Dashboards „Jinengo-Überblick“<br />

Abbildung 1.33: Screenshot des SSRS-Dashboards „Clusteranalyse“<br />

Abbildung 1.34: Screenshot des SSRS-Dashboards „Orte in Oldenburg“<br />

164


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.35: Screenshot des SSRS-Reports „Nutzung der Plattform“<br />

Abbildung 1.36: Screenshot des SSRS-Reports „Reisekennzahlen (Zeit & Verkehrsmittel)“<br />

165


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.37: Screenshot des SSRS-Reports „Reisekennzahlen (Zeit & Präferenz)“<br />

1.8.2 Administration der Reports & Dashboards<br />

Anmerkung: Zur Administration der Reports und Dashboards ist das „Microsoft Visual Studio“ auf<br />

dem PGBI-Server zu starten und das Projekt „JinengoReports.sln“ zu öffnen. Dieses findet sich unter<br />

dem Dateipfad „C:\Users\PBoewe\Documents\Visual Studio 2010\Projects\JinengoReports“.<br />

Über den Projektmappen-Explorer der Reporting Services lassen sich die einzelnen Reports und<br />

Dashboards administrieren. Alle Reporting-Elemente können dabei auf die global definierten Datenquellen<br />

„JinengoSQL“ (relationales Data Warehouse) und „JinengoSSAS“ (multidimensionales Data<br />

Warehouse), sowie auf zwei global definierte Datensätze, zurückgreifen (siehe Abbildung 1.38). Spezifische<br />

Attribute (u.a. Parameter, Datenquellen und Datensätze) wurden des Weiteren auf Berichtsebene<br />

angelegt (siehe Abbildung 1.39).<br />

166


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.38: Projektmappen-Explorer des Visual Studio für SSRS<br />

Abbildung 1.39: Beispiel für spezifische Berichtsdaten im Visual Studio<br />

1.9 Reporting mit QlikView<br />

Bei der Software QlikView h<strong>and</strong>elt es sich um eine <strong>Business</strong>-Discovery-Plattform mit der eine Verbindung<br />

zu nahezu jeder Datenquelle aufgebaut werden kann. So lassen sich die Daten in gewünschte<br />

Zusammenhänge bringen und Visualisieren. Die Software ist als Personal Edition kostenlos unter folgendem<br />

Link erhältlich: http://www.qlikview.com/de/explore/experience/free-download<br />

Nach der Installation kann die Software direkt genutzt werden. Nach dem Start drückt man in der Navigationsleiste<br />

des Programms auf den Neuanlage Knopf . Falls dann ein Dialog zur Datenquellenauswahl<br />

auftaucht beendet man diesen durch das Betätigen der „Abbrechen“ Schaltfläche. Anschließend<br />

sollte das Programm wie in Abbildung 1.40 aussehen.<br />

167


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.40: QlikView Basisansicht<br />

Nun wählen sie in der Navigationsleiste „Datei“ und dort dann „Skript bearbeiten …“. Zur Verbindung<br />

mit dem Datenbankserver müssen in das Skript folgende Zeilen eingefügt werden:<br />

OLEDB CONNECT32 TO [Provider=SQLOLEDB.1;Persist Security Info=True;User<br />

ID=jinengo;Initial Catalog=JinengoOperationalCRM;Data Source=134.106.13.63;Use Procedure<br />

for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=THEES-<br />

LAPTOP;Use Encryption for Data=False;Tag with column collation when possible=False]<br />

(XPassword is HEKLJYdMCLaGDZEEMH);<br />

OLEDB CONNECT32 TO [Provider=SQLOLEDB.1;Persist Security Info=True;User<br />

ID=jinengo;Initial Catalog=JinengoDataWarehouse;Data Source=134.106.13.63;Use Procedure<br />

for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=THEES-<br />

LAPTOP;Use Encryption for Data=False;Tag with column collation when possible=False]<br />

(XPassword is dKYZKYdMCLaGDZEESA);<br />

Der Rechner, von dem aus auf die Datenbank zugegriffen werden soll, muss im Netzwerk der Universität<br />

Oldenburg direkt angemeldet sein oder über einen VPN Tunnel dazu verbunden werden.<br />

Anschließend muss im Skript bestimmt werden, welche Daten auszulesen sind und wie diese unter<br />

QlikView benannt werden. Exemplarisch ist eine solche Definition in der Abbildung 1.41 für die Tabelle<br />

„Subroute“ dargestellt.<br />

Abbildung 1.41: Auszug aus dem "Load-Skript" in QlikView<br />

Die aufgeführten Attribute nach dem Schlüsselwort „LOAD“ entsprechen den Spaltenbezeichnungen<br />

in der gewünschten Datenbanktabelle, während die Ausdrücke hinter dem Schlüsselwort „as“ die Be-<br />

168


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

zeichnungen sind, welche die Spalten unter QlikView tragen. Der auf das Schlüsselwort „SQL“ folgende<br />

Code bestimmt aus welcher Tabelle die Daten zu laden sind.<br />

Anschließen werden die Daten mit der Zeile „Store tempSubrout into [..\Subroute.qvd]“ gespeichert.<br />

Mit QlikView lassen sich auf diese Weise mit den Daten anschließend unzählige Berechungen durchführen<br />

und die Ergebnisse können graphisch aufbereitet werden. Wie so ein solches Dashboard aussehen<br />

kann wird in Abbildung 1.42 gezeigt.<br />

Abbildung 1.42: Beispiel für die Umsetzung eines Dashbaords<br />

1.10 Self-Service-BI mit Excel<br />

Für die Erstellung von Self-Service-BI Lösungen ist in Excel ein Cube bereitgestellt. Um auf diesen<br />

zugreifen zu können, sollte wie folgt vorgegangen werden.<br />

Datenverbindung herstellen<br />

Um Zugriff auf den PGBI Server zu haben, muss sich, wie schon oben erwähnt, der PC entweder im<br />

Netzwerk der Uni Oldenburg befinden oder via VPN zu diesem verbunden sein. Ist dies sichergestellt<br />

wählt man in der Navigationsleiste von Excel den Reiter „Daten“. Hier nun die Schaltfläche „Aus<br />

<strong>and</strong>erer Quelle“ und darin den Eintrag „Von Analysis Services“. Daraufhin erscheint das in Abbildung<br />

1.43 dargestellte Fenster. Hier ist der Servername „pg-bi.informatik.uni-oldenburg.de“ zu verwenden<br />

169


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

und darauf mit den Daten des Nutzers „PBoewe“ zu verbinden. Sind alle Daten eingetragen kann die<br />

Schaltfläche „Weiter >“ betätigt werden.<br />

Abbildung 1.43: Dialog zur Datenverbindungs-Konfiguration in Excel<br />

Daraufhin erscheint der Datenverbindungs-Assistent (Abbildung 1.44) in dem der gewünschte Cube<br />

ausgewählt werden kann. Die meisten relevanten Daten werden durch den Subrouten-Cube abgebildet,<br />

weshalb es sich empfiehlt diesen auszuwählen. Anschließend muss wieder die Schaltfläche „Weiter >“<br />

betätigt werden.<br />

Abbildung 1.44: Dialog zur Auswahl des Cubes in Excel<br />

Es empfiehlt sich das Häkchen bei „Kennwort in Datei speichern“ (Abbildung 1.45) zu setzen, um<br />

dieses nicht bei jeder Änderung oder Neuauswahl der Daten erneut eingeben zu müssen. Außerdem<br />

170


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

sollte in den Authentifizierungseinstellungen (Schaltfläche „Authentifizierungseinstellungen…“)<br />

„Keine“ angewählt werden. Ist das erledigt muss die Schaltfläche „Fertig stellen“ betätigt werden. Nun<br />

ist die Datenquelle konfiguriert und sie können auf die Cube-Daten zugreifen.<br />

Abbildung 1.45: Dialog zum Speichern der Authentifizierungseinstellungen in Excel<br />

Arbeiten mit Cube-Daten und Pivot-Tabellen<br />

Nachdem die Datenquelle eingerichtet wurde erscheint auf der rechten Seite des Excel-Fensters der<br />

Pivot-Tabellen Bereich. Hier sind alle Felder, die Werte beinhalten, sowie eine Auswahl an einstellbaren<br />

Dimensionen aufgelistet. Zur Auswahl dieser klickt man in das kleine Kästchen links daneben. So<br />

lassen sich schnell individuelle Reports erstellen und über die gängigen Excel Diagrammtypen visualisieren.<br />

Ein Visualisierungsbeispiel der Daten ist in Abbildung 1.46 zu sehen.<br />

171


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 1.46: Beispiel für die Visualisierung von Reportdaten<br />

2. Installationsh<strong>and</strong>buch<br />

2.1 Datenbank, Cube, Datenflüsse und SSRS-Reports einrichten<br />

Der Projektabgabe liegt eine Sicherung der beiden Datenbanken bei. Die beiden .bak-Dateien können<br />

über die Wiederherstellen-Funktion in eine beliebige Installation des Microsoft SQL Servers überführt<br />

werden.<br />

Auch die Dateien für den Cube (Analysis Services), die Datenflüsse (Integration Services) sowie die<br />

Reports (Reporting Services) liegen der Projektabgabe bei. Hierbei h<strong>and</strong>elt es sich um insgesamt drei<br />

Projektdateien für das Microsoft Visual Studio. Die Dateien lassen sich mit dem Visual Studio auf<br />

einem beliebigen System öffnen. Anschließend sind die jeweils angegeben Datenquellen zu ändern.<br />

Statt einer Verbindung zu dem, im Projektverlauf genutzten, PGBI-Server ist stattdessen eine Verbindung<br />

zu dem neu installierten Server einzutragen. Anschließend lassen sich alle drei Visual-Studio-<br />

Projekte erstellen und bereitstellen. Auf diese Weise werden sie in die Datenbank geschrieben und<br />

lassen sich verwenden. Aufgrund gegenseitiger Abhängigkeiten empfiehlt sich die folgende Reihenfolge<br />

der Bereitstellung:<br />

1. Analysis Services (JinengoAnalysisCube)<br />

2. Integration Services (JinengoIntegration1)<br />

3. Reporting Services (JinengoReports)<br />

172


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

2.2 Datengenerator<br />

Als Vorbereitung auf die Nutzung des Datengenerators muss auf einem gewünschten Rechner der<br />

Microsoft SQL Server 2012 installiert sein. Nachdem die Software installiert und das SQL Server<br />

Management Studios gestartet wurde muss die sie mit einem Server verbunden werden. Dies kann ein<br />

lokaler Server auf demselben Rechner, oder ein Server der auf einer <strong>and</strong>eren Maschine gehostet wird,<br />

sein. Dafür muss nur der Servertyp, der Servername sowie die gewünschte Authentifizierungsmethode<br />

ausgewählt und eingerichtet werden(Siehe Abbildung 2.1).<br />

Abbildung 2.1: Verbindungseinrichtugn des SQL Server Management Studios<br />

Um nun das gewünschte Datenmodell unter der eingerichteten Verbindung zu erstellen werden zwei<br />

Dateien benötigt. Die SQL-Dateien „Create_DB“ und „Import_Stammdaten“. Die erste Datei ist für<br />

die Erstellung der Datenbank mit allen dazugehörigen Tabellen zuständig und die zweite Datei befüllt<br />

die gewünschten Tabelle mit Daten. Wichtig ist es, sofern die Datenbank „JinengoOperationalCRM“<br />

noch nicht existiert, das „Create_DB“-Skript zuerst aufzurufen. Dafür wird die entsprechende Datei<br />

doppelt angeklickt. Daraufhin wird sie im Zentrum des SQL Server Management Studios angezeigt.<br />

An dieser Stelle könnte das Skript nun verändert oder um weitere Parameter ergänzt werden. Für den<br />

hier beschrieben Fall reicht es, in der Navigationsleiste auf die Ausführen Schaltfläche ( ) zu<br />

klicken. Während das Skript durchläuft erscheint unter dem Fensterabschnitt in dem es angezeigt wird<br />

ein Fensterabschnitt „Meldungen“ hierin lässt sich der Fortschritt des Skripts verfolgen. Nachdem es<br />

komplett durchgelaufen ist erscheint unter dem „Meldungen“-Fenster, mit einem grünen Häkchen<br />

versehen, der Status „Die Abfrage wurde erfolgreich ausgeführt.“. Damit wurde das gewünscht Skript<br />

nun auf die eingerichtete Datenbank-Server-Verbindung angew<strong>and</strong>t. Anschließend ist der Vorgang mit<br />

den „Import_Stammdaten“-Dateien zu wiederholen. Daraufhin verfügt der gewählte Datenbankserver<br />

173


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

über das Datenmodell der operativen Datenbank und über die nötigen Nutzerdaten, um auf dieser Basis<br />

den Datengenerator laufen zu lassen.<br />

Der Datengenerator selbst lässt sich auf jedem Rechner, der über die Java-Version 7 verfügt, ausführen.<br />

Eine weitere optionale Voraussetzung wäre es, wenn Git bereits auf dem Rechner installiert wäre,<br />

um den weiteren Vorgang komfortabler zu gestalten.<br />

Projekt kopieren<br />

Zur Anwendung muss das Projekt zuerst in das gewünschte Verzeichnis des Zielrechners kopiert werden.<br />

Der einfachste Weg hierfür ist die Konsole. Mit dieser in das gewünschte Verzeichnis wechseln<br />

und dort folgenden Befehl aufrufen:<br />

git clone https://github.com/j2b4y/routgenerator.git<br />

Dieser bewirkt, dass Git ein Verzeichnis mit dem Namen „routengenerator“ unter dem gewünschten<br />

Pfad erstellt. Dabei werden alle relevanten Dateien und Verzeichnisstrukturen des Java-Projektes automatisch<br />

angelegt.<br />

Verfügt der genutzte Rechner nicht über Git, so ist es möglich das Java-Projekt unter dem angegebenem<br />

Link (https://github.com/j2b4y/routgenerator.git) als Zip-File herunter zu laden. Anschließend<br />

muss es noch an der gewünschten Stelle entpackt werden.<br />

Projekt in Entwicklungsumgebung importieren<br />

Der nächste Schritt besteht darin das Java Projekt in eine Entwicklungsumgebung zu importieren.<br />

Hierfür wird Eclipse verwendet. Eine Version zum kostenlosen downloaden befindet sich unter folgendem<br />

Link:<br />

http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/junosr2<br />

Sollte eclipse bereits auf dem Rechner installiert sein, kann dieser Schritt übergangen werden.<br />

Nachdem eclipse gestartet wurde Rechtsklicken Sie in den ProjectExplorer und wählen „Import ><br />

Import…“. Anschließend muss im folgenden Dialog unter dem Pfad „General“ der Eintrag „Existing<br />

Projects into Workspace“ gewählt werden (Abbildung 2.2). Daraufhin erscheint ein weiterer Dialog.<br />

An dieser Stelle wird unter „Select root directory“ der Pfad des Projektes „…/routengenerator“ ausgewählt<br />

und auf „Finish“ gedrückt.<br />

174


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 2.2: Importdialog in eclipse<br />

Ausführungsvorbereitungen<br />

Bevor der Datengenerator gestartet werden kann, muss man sich aus sicherheitstechnischen Gründen<br />

im Netzwerk der Universität Oldenburg befinde. Bevor nun auf Start gedrückt werden kann, sollten<br />

Sie sicher gehen, dass die angegebenen Anzahlen der zu simulierenden Endanwender und aktiven<br />

Endanwendern korrekt gewählt ist. Diese Einstellungen können in der Datei „RoutenGenerator.java“<br />

des Paketes „com.jinengo.routengenerator“ vorgenommen werden. Anschließend kann das Programm<br />

ausgeführt werden.<br />

Ändern der Datenbank Anbindung<br />

Für den Fall dass der Routengenerator auf eine <strong>and</strong>ere, als der vorkonfigurierten Datenbank schreiben<br />

soll, ist zum einen sicher zu stellen, dass die Zieldatenbank die benötigten Tabelle inklusive der<br />

Stammdaten beinhaltet, die der Beschreibung des Datenmodels der operativen Datenbank (Kapitel<br />

3.2.1 des DV-Konzepts) entnommen werden können. Anschließend sind die neuen Verbindungsparameter<br />

in den Dateien „MSSQLConnectionH<strong>and</strong>ler.java“ des Paketes<br />

„com.jinengo.routengenerator.service.helper“ (Siehe Abbildung 2.3) einzutragen.<br />

175


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Abbildung 2.3: ProjectExplorer aus eclipse für den Routengenerator<br />

2.3 Reporting API und Frontend für Endanwender<br />

Die Reporting API und das Frontend für Endanwender lassen sich leicht auf dem eigenen lokalen<br />

Rechner oder Server installieren. Am einfachsten ist die Installation wenn auf dem Entwicklungsrechner<br />

bereits Git 20 und Maven 21 installiert sind. Beispielsweise ist auf neueren Unix Systemen Git und<br />

Maven bereits st<strong>and</strong>ardmäßig installiert.<br />

Projekt kopieren<br />

Zur Entwicklung der Anwendung muss das Projekt zuerst in das Entwicklungsverzeichnis des eigenen<br />

Rechners kopiert werden. Am einfachsten lässt sich dies über die Konsole realisieren. Hierzu einfach<br />

in der Konsole in das gewünschte Arbeitsverzeichnis navigieren und folgenden Befehl ausführen:<br />

git clone https://github.com/lars2510/reportingservice.git<br />

Git erstellt daraufhin ein neues Verzeichnis „reportingservice“ und kopiert alle notwendigen Dateien<br />

in dieses Verzeichnis. Sollte Git nicht auf dem Rechner installiert sein, kann auch einfach die Webseite<br />

https://github.com/lars2510/reportingservice.git aufgerufen, das Projekt als Zip-File heruntergeladen<br />

und an gewünschter Stelle entpackt werden.<br />

Maven vorbereiten<br />

20 Vergleiche: https://github.com/<br />

21 Vergleiche: http://maven.apache.org/<br />

176


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Für das Bauen der Anwendung wird Maven genutzt. Maven bietet den Vorteil, dass alle notwendigen<br />

Bibliotheken und Abhängigkeiten aus dem Internet geladen und an richtiger Stelle in das Projekt kompiliert<br />

werden.<br />

Aus Lizenzgründen stellt Microsoft seine aktuellen JDBC Treiber nicht für Maven zum Download<br />

bereit. Sie müssen daher manuell hinzugefügt werden. Hierzu kann über die Konsole in das „reportingservice“<br />

Verzeichnis gewechselt und dort in den Ordner „lib“ navigiert werden. Hier befinden sich<br />

die JDBC Treiber und können mit folgendem Konsolen-Befehl dem Maven Projekt zugefügt werden:<br />

mvn install:install-file -Dfile=sqljdbc4.jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4<br />

-Dversion=3.0 -Dpackaging=jar<br />

Projekt installieren<br />

Um das Projekt zu installieren kann aus der Entwicklungsumgebung oder über die Konsole der Befehl<br />

„mvn clean install“ im Hauptverzeichnis ausgeführt werden. Bei erstmaliger Ausführung des Befehls<br />

kann beobachtet werden, wie eine Reihe an Abhängigkeiten aus dem Internet geladen werden. Definiert<br />

werden diese Abhängigkeiten über die pom.xml Datei im Hauptverzeichnis der Anwendung. Die<br />

Installation sollte nach ca. 30 Sekunden mit der Nachricht „Build Success“ enden. Die Anwendung ist<br />

jetzt fertig gebaut und kann mit einem Apache Tomcat Server der Version 6 oder 7 gestartet werden.<br />

Alternativ kann auch das von Maven erstellte War-File aus dem „target“-Verzeichnis der Anwendung<br />

auf einen Tomcat Server ausgeführt werden. Das War-File beinhaltet sowohl die Reporting API als<br />

auch das Frontend für Endanwender und muss einfach im Web-Verzeichnis eines Tomcat Servers<br />

entpackt werden und ist sofort lauffähig. Das Entpacken übernehmen viele Tomcat Server bereits automatisch.<br />

Anwendung nutzen<br />

Das Reporting Frontend kann bei laufendem Server unter „localhost:8080/reportingservice/“ erreicht<br />

werden. Für die Authentifizierung kann der Testnutzer „beccy@brinckmann.com“ mit dem Passwort<br />

„beccy32“ genutzt werden.<br />

Die API ist bei laufendem Server unter „localhost:8080/reportingservice/api“ zu erreichen. Nutzerkennzahlen<br />

lassen sich beispielsweise über „localhost:8080/reportingservice/api/user/figures“ abfragen.<br />

Projektstruktur<br />

Die Projektdateien zur Entwicklung befinden sich im Hauptverzeichnis im Ordner „src“. Nachdem der<br />

Befehl „mvn install“ ausgeführt wurde, werden zudem die kompilierten Dateien im Ordner „target“<br />

177


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

abgelegt. Unter „doc“ ist zudem eine Java-Doc Dokumentation abgelegt, die alle Klassen des Projektes<br />

beinhaltet.<br />

Die für die API relevanten Java-Klassen befinden sich unter „src/main/java/com/jinengo/reporting“<br />

und sind wie bereits im Konzept beschrieben in die drei Bereich controller, model und service aufgeteilt.<br />

Alle für die Webanwendung relevanten Dateien befinden sich unter „src/main/webapp“. Hier existieren<br />

zwei Ordner:<br />

<br />

<br />

Der „resources“-Ordner enthält alle JavaScript und CSS Dateien des Reporting Frontends.<br />

Der „WEB-INF“-Ordner ist das Tomcat Webverzeichnis und enthält unter „views“ alle relevanten<br />

JSP-HTML Seiten. Zusätzlich befinden sich im Ordner „spring“ die XML-Dateien zur<br />

Konfiguration der Anwendung. Hier wird z.B. die Datenbankverbindung konfiguriert. Die<br />

Zugangsdaten zur Datenbank werden in einer separaten „database.properties“ Datei gespeichert.<br />

Sie ist unter „src/main/resources“ zu finden.<br />

3. Begründung eingesetzter Webtechnologien<br />

3.1 Frontend<br />

JavaScript<br />

JavaScript ermöglicht es, dem Nutzer ein interaktives Erlebnis bei der Nutzung des Web-Frontends zu<br />

ermöglichen. Dies geschieht durch Interaktionsmöglichkeiten und das dynamische Laden von Inhalten.<br />

Die Nutzung von JavaScript stellt jedoch auch eine Herausforderung dar, da die Sprache nur rudimentäre<br />

Grundpfeiler der Softwareentwicklung unterstützt und es bei größeren Projekten einiger Erfahrung<br />

bedarf eine geeignete Struktur zu finden. Um die Struktur zu verbessern wurde der JavaScript Teil in<br />

verschiedene Module gekapselt.<br />

Anmerkung: Mehrere JavaScript Dateien sind für die Entwicklung ein gutes Vorgehen. Diese sollten<br />

jedoch beim Deployment der finalen Anwendung minifiziert und zu einer einzigen Datei zusammengefasst<br />

werden. Hierbei unterstützen Tools wie der YUI-Compressor 22 .<br />

22 Vergleiche: http://yui.github.com/yuicompressor/<br />

178


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Das JavaScript wurde dabei nach gängigen Konventionen implementiert. So werden die einzelnen<br />

Schritte wie Initialisierung der EventH<strong>and</strong>ler, Ajax Request an die API, Vorbereitung der Daten,<br />

Zeichnung des Charts in Modulen gekapselt. Groß geschriebene JavaScript Dateien entsprechen dabei<br />

der Konvention nach Klassen von denen mehrere Instanzen erzeugt werden können.<br />

SVG<br />

Die Verwendung von SVG hat eine Reihe von Vorteilen für den aktuellen Anwendungsfall:<br />

<br />

<br />

<br />

Die Charts werden dynamisch erzeugt und können so live die, über die Rest-API angefragten,<br />

Daten darstellen.<br />

SVG ist in allen modernen Browsern verfügbar. Dies bietet insbesondere für mobile Endgeräte<br />

einen Vorteil gegenüber Flash, da SVG keine Plug-Ins benötigt und auch auf IOS Geräte darstellbar<br />

ist.<br />

Es h<strong>and</strong>elt sich bei SVG um Vektorgrafiken. Diese sind beliebig auf unterschiedlichste Auflösungen<br />

skalierbar und ermöglichen auch auf hochauflösenden Retina Displays optimale Darstellungsqualität.<br />

179


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

CSS3<br />

Durch die Verwendung moderner CSS3 Elemente konnte für die Darstellung der Buttons und des Navigationsmenüs<br />

auf Grafiken verzichtet werden. Dies bietet eine Reihe von Vorteilen:<br />

<br />

<br />

<br />

<br />

CSS-Elemente können sich dynamisch verschiedenen Auflösungen anpassen.<br />

Die Buttons wirken auch auf Hochauflösenden Displays scharf.<br />

Geräte mit geringer Internetb<strong>and</strong>breite können die Anwendung problemlos nutzen, da keine<br />

Grafiken übertragen werden müssen.<br />

Für Änderungen von Schrift, Farbe und Größe müssen keine neuen Grafiken erstellt werden,<br />

sondern es reichen geringe Anpassungen im CSS.<br />

Ajax und JSON<br />

Asynchrone Datenübertragung bietet den Vorteil, dass mehrere Anfragen an den Webservice parallel<br />

gestellt werden können. Dies spart Zeit bei der Datenübertragung und ermöglicht zudem das dynamische<br />

Nachladen von Inhalten, etwa zur Darstellung weiterer Charts. Asynchrone Anfragen ermöglichen<br />

zudem das Ändern von Seiteninhalten, ohne dass das Browserfenster neu geladen werden muss.<br />

So kann das gesamte Webinterface mit allen Chart-Varianten als „Single-Page“ Anwendung betrieben<br />

werden<br />

Da die Web-API die Daten bereits im JSON-Format liefert bietet uns dies den großen Vorteil, die Daten<br />

direkt aus JavaScript heraus interpretieren und verarbeiten zu können. Würden wir beispielsweise<br />

XML Verwenden wäre noch ein zusätzlicher Parser notwendig, dieser Schritt entfällt durch JSON.<br />

Dies spart Zeit und reduziert zudem mögliche Fehlerquellen.<br />

3.2 Backend<br />

Java<br />

Zur Entwicklung des REST Webservices wurde sich für Java als Programmiersprache entschieden.<br />

Durch eine breite Tool und Framework Unterstützung und mehrjährige Etablierung im Enterprise Umfeld<br />

ist Java besonders für daten- und rechenintensive Anwendungen eine gute Wahl. Zudem wird die<br />

Sprache vom bestehenden Jinengo System verwendet, so dass Komponenten des Webservice leicht in<br />

bestehende Systeme integriert werden können.<br />

Ein weiterer wichtiger Faktor beim Auswahlprozess der Programmiersprache ist dabei die Möglichkeit<br />

mit dem SQLServer 2012 kommunizieren zu können. Hierfür existieren entsprechende JDBC Bibliotheken<br />

die Verbindung und Interaktion mit der Datenbank ermöglichen.<br />

180


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Spring Framework<br />

Die klare Trennung der Darstellung, Datenhaltung und Anwendungslogik bringt eine Reihe von Vorteilen.<br />

So erleichtert es einzelne Komponenten auszutauschen oder anzupassen. Aber auch die Arbeit<br />

im Team wird verbessert. So können Frontendentwickler (View) weitgehend unabhängig von Backenentwicklern<br />

in der Datenhaltung (Model) und in der Anwendungslogik (Controller) arbeiten.<br />

Das Spring Framework selbst bringt zudem eine Reihe vorgefertigter Bausteine mit sich. So erleichtert<br />

es beispielweise die Verbindung zwischen angeforderter URL und zugehöriger Ressource herzustellen.<br />

Auch kann die Umw<strong>and</strong>lung der angeforderten Ressourcen durch den Controller bereits implizit<br />

in das benötigte JSON Ausgabeformat erfolgen. Dies erleichtert die Entwicklung und macht die Anwendung<br />

stabiler und weniger Fehleranfällig.<br />

Die Spring Webservice Anwendung verwendet neben Hibernate unter <strong>and</strong>erem folgende Technologien:<br />

Servlets<br />

JSP<br />

Depency Injection<br />

Annotations<br />

Servlets nehmen Anfragen des Clients entgegen und leiten sie an den zuständigen<br />

Controller weiter.<br />

Java Server Pages dienen zur dynamischen Erzeugung von HTML Ausgaben<br />

des Webservice.<br />

Regelt Abhängigkeiten zwischen Java Objekten. Für Variablen die durch<br />

@Autowired gekennzeichnet sind übernimmt Spring die Instanziierung und<br />

Referenzierung des Objektes. Die Definition erfolgt über XML-Dateien.<br />

Annotations werden durch das @-Zeichen gekennzeichnet und ermöglichen<br />

es Zusatzinformationen zu codieren. So wird beispielsweise über @Entity<br />

spezifiziert, welcher Datenbanktabelle ein Java Model zugeordnet ist.<br />

Tabelle 3.1: Eingesetzte Java Technologien<br />

REST<br />

Das REST-Prinzip zeichnet sich dadurch aus, dass eine Anfrage über HTTP an einen Web-Server<br />

gestellt wird, wobei die benötigte Ressource eindeutig durch eine URI kodiert ist. Dies ermöglicht das<br />

einfache und elegante Abrufen von Ressourcen auch von reinen JavaScript basierten Webanwendungen<br />

heraus, da sich Anfragen über Ajax realisieren lassen. Dies bietet einen klaren Vorteil gegenüber<br />

vergleichbaren Protokollen, wie beispielsweise SOAP.<br />

REST fördert die Entwicklung leichtgewichtiger Webanwendungen durch eine lose Kopplung zwischen<br />

Datenzugriff und Datendarstellung. Die Schnittstelle ermöglicht auch das Bereitstellen der Daten<br />

für Drittanbieter und erleichtert die Anbindung von externen Anwendungen. (Fielding 2000, S.<br />

116)<br />

181


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

JSON<br />

Für das Datenformat der Ressource wird das JSON-Format gewählt. Dies bietet für Webanwendungen<br />

eine Reihe von Vorteilen. So müssen Datensätze nicht wie beispielsweise bei XML durch einen Parser<br />

vorverarbeitet werden, sondern die Daten sind direkt in, auf JavaScript basierenden, Webanwendungen<br />

zugreifbar. Auch reduziert das schlankere JSON Format die Menge an zu übertragenen Datensätzen<br />

und erhöht somit die Geschwindigkeit der Anwendung, was besonders im mobilen Bereich ein<br />

entscheidender Vorteil ist.<br />

Hibernate / JPA<br />

Zum besseren Umgang mit den Datenbanksystemen wird neben dem JDBC-Treiber das Framework<br />

Hibernate und die Java Persistence API (JPA) eingesetzt. Der Einsatz des Frameworks bietet eine Reihe<br />

von st<strong>and</strong>ardisierten Zugriffsmöglichkeiten und ermöglicht eine datenbankunabhängige Abfrage<br />

der Datensätze. Durch einmalige Definition des Datenbankdialektes können die Zugriffe auf die Datensätze<br />

aus Java heraus erfolgen und in der plattformneutralen JPA Notation formuliert werden. Dies<br />

bietet den Vorteil, dass die Anwendung nicht fest an den SQL2012 Dialekt gebunden und daher nur<br />

lose mit der Datenbank gekoppelt ist. Bei Bedarf kann daher leicht eine Migration der SQL Datenbank<br />

auf die Datenbank eines CRM-Systems erfolgen.<br />

Ein weiterer wichtiger Faktor, der für den Einsatz von Hibernate und JPA spricht, ist die Sicherheit.<br />

Für den Zugriff auf sensible Daten der Datenbank können st<strong>and</strong>ardisierte Funktionen genutzt werden.<br />

Diese beinhalten bereits grundlegende Sicherheitsaspekte und schützen die Anwendung vor unbefugten<br />

Zugriffen.<br />

Für die Entwicklung bietet Hibernate und JPA den Vorteil, dass die Datenbanktabellen direkt in Form<br />

von Java Modellen erstellt werden können. Dies ermöglicht ein automatisiertes „Mapping“ bei welchem<br />

die einzelnen Spalten der abgefragten SQL-Objekte auf Java-Objekte zugewiesen werden. Da<br />

dieser Schritt automatisiert erfolgt, erhöht dies die Stabilität und Übersichtlichkeit der Anwendung<br />

und macht sie leichter auf veränderte Datenbestände anpassbar. Auch eine Iteration über alle Ergebnisse<br />

der SQL-Abfrage ist nicht mehr nötig und wird von der Anwendung übernommen. Dies erleichtert<br />

den Zugriff auf die Datensätze und reduziert den Implementationsaufw<strong>and</strong>.<br />

Maven<br />

Maven bietet den Vorteil, dass Abhängigkeiten zu Bibliotheken automatisch geladen und korrekt in<br />

die Anwendung integriert werden. Zudem ist Maven bereits in Spring integriert und ermöglicht es die<br />

Anwendung in optimaler Struktur für die spätere Verwendung auf dem Webserver vorzubereiten.<br />

182


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Git<br />

Bei der Entwicklung von Software im Team ist die Verwendung einer geeigneten Revisionskontrolle<br />

eine essentielle Grundlage und bietet eine Reihe an Vorteilen:<br />

<br />

<br />

<br />

<br />

Ein zentrales Repository in der Cloud bei dem alle Teammitgliedern Zugriff auf den aktuellen<br />

Entwicklungsst<strong>and</strong> der Software erhalten.<br />

Ein eigenes lokales Repository, das Versionskontrolle auch ohne Internetanbindung erlaubt<br />

(Das Team arbeitet oft im Zug).<br />

Da die Software vorwiegend auf OSX Systemen entwickelt wird, bieten Tools wie<br />

„SourceTree“ 23 hervorragende Integrationsmöglichkeiten und unterstützen bei Softwareentwicklung.<br />

Git bietet nicht nur zentralen Zugriff auf den Quellcode, sondern ermöglicht auch die Sicherung<br />

und Versionierung der unterschiedlichen Entwicklungsstände. So kann leicht zwischen<br />

unterschiedlichen Version der Software gewechselt oder bei Parallelentwicklung verschiedene<br />

Stände der Software zu einer einheitlichen Version zusammengefasst werden.<br />

4. Fazit<br />

Aufgabe der Teilgruppe war es, eine <strong>Business</strong>-<strong>Intelligence</strong>-Umgebung für die bestehende Jinengo-<br />

Plattform zu entwickeln, um so das Mobilitätsverhalten von Endanwendern zu analysieren und für<br />

verschiedene Zielgruppen aufzubereiten. Die Ergebnisse unterstützen unter <strong>and</strong>erem das Management<br />

dabei, die Erfolge und Schwächen der Plattform verstehen und Potentiale besser erkennen zu können.<br />

Dem Endanwender wird zudem durch geeignete Visualisierung seines Mobilitätsverhaltes aufgezeigt,<br />

wie er sich noch nachhaltiger verhalten könnte. Zudem können interaktive Reports dazu beitragen, die<br />

Attraktivität der Plattform zu steigern und sie von vergleichbaren Lösungen positiv abzugrenzen.<br />

Aufgrund des bislang ausstehenden operativen Betriebs stellte sich zu Beginn die qualitative und<br />

quantitative Erweiterung der Datenbasis als notwendige und bedeutende Vorbedingung heraus. Der<br />

Kern des Projektes basierte im Wesentlichen auf den drei BI-Kernelementen: Data Warehouse & ETL,<br />

Data Mining und Reporting.<br />

Data Warehouse & ETL<br />

Um die Daten aus dem operativen Jinengo-System historisiert zu sichern, wurde ein Data Warehouse<br />

entworfen. Die entwickelten ETL-Prozesse stellen sicher, dass die Daten aus dem operativen System<br />

23 Vergleiche: http://www.sourcetreeapp.com/<br />

183


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

historisiert sowie bei Bedarf aggregiert im Data Warehouse abgespeichert werden. Zudem wurde ein<br />

Cube erstellt, der die relevanten Mobilitätskennzahlen aus multidimensionaler Sicht darstellt. Auf<br />

diese Weise stehen die Daten für analytische Zwecke unabhängig von der eigentlichen operativen<br />

Datenbank zur Verfügung.<br />

Data Mining<br />

Unter Verwendung verschiedener Data Mining Methoden werden die Routen- und Nutzerdaten analysiert.<br />

Die Analysen werden in vier Anwendungsfälle unterteilt: „Eigenschaften raten“, „Newsletter &<br />

Reporting“, „Ökologische Alternativen vorschlagen“ und „Warnen vor ungewöhnlichem Verhalten.<br />

Die Ergebnisse aus jedem Anwendungsfall werden abgespeichert und können bspw. für Marketingkampagnen<br />

oder erweitertes Reporting verwendet werden.<br />

Reporting<br />

Die <strong>Projektgruppe</strong> hat unter Einsatz verschiedener Reporting-Tools eine Grundlage für zielgruppenspezifisches<br />

Reporting geschaffen.<br />

Für die Zielgruppen Jinengo-Management, Wissenschaftler und Mobilitätsanwender wurden exemplarische<br />

Reports und Dashboards auf Grundlage von QlikView, Microsoft SSRS und Microsoft Excel<br />

erstellt. Dabei wiesen die Tools unterschiedliche Vor- und Nachteile auf. So zeigte sich, dass Microsoft<br />

SSRS vielfach sehr statisch und in der Funktionalität eingeschränkt ist. Microsoft Excel hingegen<br />

ist als bekannte Office-Anwendung sehr gut bedienbar, kann jedoch nur auf multidimensionale und<br />

nicht auf relationale Daten zugreifen. Neben der homogenen Microsoft L<strong>and</strong>schaft bietet QlikView<br />

eine interessante Alternative und ist bezüglich Filterung und Darstellung der Daten sehr flexibel einsetzbar,<br />

hat jedoch begrenzte Integrationsmöglichkeiten bezüglich bestehender Systeme.<br />

Für die Zielgruppe der Endanwender wurde eine eigene Anwendung auf Basis aktueller Webtechnologien<br />

entwickelt. Die hierfür eigens entwickelte REST-API in Verbindung mit der Webanwendung<br />

macht die Softwarearchitektur sehr flexibel und ermöglicht eine einfache Integration des Endanwender-Reportings<br />

in unterschiedliche Kontexte. So lässt sich das Reporting zukünftig sowohl in die<br />

Jinengo-Plattform als auch in Apps für mobile Endgeräte einbinden.<br />

Ausblick<br />

Da die Arbeit der <strong>Projektgruppe</strong> als prototypische Umsetzung zu verstehen ist, die Möglichkeiten und<br />

Grenzen aufzeigt, werden im Folgenden zukünftige Aufgaben aufgezeigt.<br />

Sobald Jinengo System in Betrieb genommen wird und größere Mengen an operativen Daten anfallen,<br />

können die vorbereiteten ETL-Prozesse die Daten regelmäßig und automatisiert in das Data-<br />

Warehouse übertragen.<br />

184


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Mit Hilfe der Data-Mining Technologien lassen sich automatisierte Analysen durchführen, die<br />

Schrittweise die Qualität des operativen Systems verbessern. Dabei können nicht nur die Routenempfehlungen,<br />

sondern auch marketingtechnische Entscheidungen optimiert werden.<br />

Im Rahmen des Reporting sollte eine Entscheidung bezüglich der endgültig einzusetzenden Technologie<br />

getroffen werden. Darauf aufbauend können die bereits umgesetzten Reports und Dashboards in<br />

das bestehende System integriert und ggf. erweitert werden. Hierbei ist darauf zu achten, dass das<br />

Design der Reports dem der Plattform entspricht und einheitlich umgesetzt wird. Je besser das Reporting<br />

in das operative System integriert ist, desto größer ist der Mehrwert der für einen Anwender entsteht.<br />

185


<strong>Projektgruppe</strong> Cuberunner<br />

Jinengo - Dokumentation<br />

Literaturverzeichnis<br />

Fielding, R. T. (2000): Architectural Styles <strong>and</strong> the Design of Network-based Software Architectures.<br />

Dissertation. University of California, Irvine.<br />

Springsource o.J., MVC Framework, URL:<br />

http://static.springsource.org/spring/docs/2.0.x/reference/images/mvc.png, (Zugriff am: 20.03.2013).<br />

186


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: CEWE<br />

Fachkonzept<br />

187


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

188


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

Inhaltsverzeichnis CEWE Fachkonzept<br />

Abbildungsverzeichnis ........................................................................................................... 190<br />

Tabellenverzeichnis ................................................................................................................ 190<br />

Abkürzungsverzeichnis .......................................................................................................... 190<br />

1. Ziele und Visionen ........................................................................................................... 191<br />

2. Rahmenbedingungen ....................................................................................................... 191<br />

2.1 Organisation und Vorgehen der BI-<strong>Projektgruppe</strong>..................................................... 192<br />

2.2 Projektspezifische technische & organisatorische Bedingungen ............................... 192<br />

2.2.1 Team ................................................................................................................ 193<br />

2.2.2 Kommunikation ............................................................................................... 193<br />

2.2.3 Technologien ................................................................................................... 193<br />

2.2.4 Stakeholder-Definitionen ................................................................................. 194<br />

3. Technologien ................................................................................................................... 194<br />

4. Fragestellungen und unternehmerischer Nutzen ............................................................. 195<br />

5. Analytische Anforderungen ............................................................................................. 196<br />

5.1 Arbeitspaket 1: Umfrageerstellung ............................................................................. 196<br />

5.2 Arbeitspaket 2: Ergebnisdatenlagerung ...................................................................... 198<br />

5.3 Arbeitspaket 3: Berichtswesen ................................................................................... 198<br />

5.4 Arbeitspaket 4: Prognose ............................................................................................ 199<br />

5.5 Arbeitspaket 5: Fragenpoolgenerierung ..................................................................... 201<br />

6. Kennzahlen ...................................................................................................................... 201<br />

7. Scores ............................................................................................................................... 201<br />

8. Semantische Modellierung .............................................................................................. 202<br />

9. Nichtanalytische Anforderungen ..................................................................................... 202<br />

189


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

Abbildungsverzeichnis<br />

Abbildung 5.1: Anforderungsbereiche ................................................................................... 196<br />

Abbildung 5.2: Aktueller Freigabeprozess ............................................................................. 197<br />

Abbildung 5.3:Gewünschter Freigabeprozess ....................................................................... 198<br />

Abbildung 5.4: Aktuelle Struktur ........................................................................................... 200<br />

Tabellenverzeichnis<br />

Tabelle 6.1: Kennzahlen ......................................................................................................... 201<br />

Tabelle 7.1: Scores ................................................................................................................. 202<br />

Abkürzungsverzeichnis<br />

Closed-Loop<br />

KPI<br />

Marketing im geschlossenen Kreislauf<br />

Kennzahlen anh<strong>and</strong> wichtiger Erfolgsfaktoren<br />

190


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

1. Ziele und Visionen<br />

Die computergestützte Erfassung, Aufbereitung und Analyse von Daten, zur Unterstützung der Entscheidungsfindung<br />

in einem Unternehmen, ist zu einem relevanten Thema in der Informationstechnik<br />

geworden. Die Methoden dieser <strong>Business</strong> <strong>Intelligence</strong> (BI) können in verschiedenen Bereichen von<br />

Unternehmen zum Einsatz kommen und auch im Customer Relationship Management (CRM) nutzenbringend<br />

angew<strong>and</strong>t werden.<br />

Das Kundenverhalten lässt sich mittels CRM-Methoden erfassen, analysieren und durch gezielte Aktionen<br />

fördern und lenken, um neue Kunden zu gewinnen oder ein bereits bestehendes Kundenverhältnis<br />

durch angepasste Maßnahmen zu festigen.<br />

Unter dem Arbeitstitel gestochen scharfe Fragen stellen befasst sich eine Gruppe von Studierenden<br />

der Carl von Ossietzky Universität Oldenburg mit dem Projekt Analytisches CRM in Kooperation mit<br />

der CEWE COLOR AG & Co. OHG (CEWE). Ziel dieses Projektes ist eine Vereinheitlichung der<br />

computergestützten Prozesse und Systeme zur gezielten Umfrageerstellung. Der derzeitige Ablauf zur<br />

Erstellung einer Umfrage enthält mehrere systemübergreifende, manuelle Arbeitsschritte. Durch Einbeziehung<br />

vorh<strong>and</strong>ener Analyseergebnisse in die Umfrageerstellung, soll eine Vereinfachung der Arbeitsabläufe<br />

durch unmittelbare Verfügbarkeit relevanter Daten ohne Medienbrüche erreicht werden.<br />

Die zentrale Lagerung historischer und zukünftiger Umfragen und Ergebnisse in lokalen Datenbanken<br />

soll die derzeitige dezentrale Lagerung der vorh<strong>and</strong>enen Datenbestände ablösen. Ferner soll die Möglichkeit<br />

bestehen, neue Fragen über eine Eingabemaske in die Datenbank zu integrieren. Die Implementierung<br />

einer Funktion zur Suche nach Attributen und Parametern von bereits vorh<strong>and</strong>enen Fragen<br />

ist ebenfalls Teil des Projekts. Aufbauend auf diesem Prozess sollen die gesammelten Daten für grundlegende<br />

Analysen und Prognosen ausgewertet werden.<br />

In Absprache mit CEWE wird dieses Projekt unter <strong>and</strong>erem mit dem Umfragetool QuestionPro und<br />

den Technologien SAP CRM, IBM Cognos und IBM SPSS realisiert.<br />

2. Rahmenbedingungen<br />

Im Folgenden werden die Rahmenbedingungen für das Projekt erläutert. Hierbei werden insbesondere<br />

die projektspezifischen Bedingungen berücksichtigt, welche sich auf das gesamte Projekt und das<br />

Thema BI im Umfeld der <strong>Projektgruppe</strong> beziehen.<br />

191


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

2.1 Organisation und Vorgehen der BI-<strong>Projektgruppe</strong><br />

Die <strong>Projektgruppe</strong> beschäftigt sich mit der Entwicklung von Anwendungen im Umfeld BI. Vorab<br />

wurden dabei drei zu bearbeitende Anwendungsfälle definiert: Analytisches CRM (in Kooperation mit<br />

CEWE), Sustainability CRM für nachhaltige Mobilität (Jinengo) & SmartWindFarm (in Kooperation<br />

mit ForWind). Abseits eines projektgruppeninternen Aufbaus und Transfers von Knowhow (unter<br />

<strong>and</strong>erem durch die Seminararbeiten) erfolgt die Bearbeitung der einzelnen Anwendungsfälle in personell<br />

getrennten Teilgruppen. Die Absprache der einzelnen Teilgruppen erfolgt durch regelmäßige<br />

Treffen. Folgende Rahmenbedingungen wurden auf Ebene der übergeordneten <strong>Projektgruppe</strong> vereinbart<br />

und sind daher auch für die CEWE-Teilgruppe von Bedeutung.<br />

Die übergeordnete <strong>Projektgruppe</strong> hat sich auf ein sequenzielles Vorgehensmodell für die Softwareentwicklung<br />

geeinigt, das in allen Teilgruppen verwendet werden soll. Als zentrale Artefakte werden<br />

ein Fachkonzept und ein DV-Konzept erstellt. Inhalte und Gliederung von Fachkonzept und DV-<br />

Konzept sind innerhalb der übergeordneten <strong>Projektgruppe</strong> abgestimmt. Die Realisierung erfolgt dabei<br />

im klassischen Sinne, ist jedoch in Bezug auf die Dokumentation und <strong>and</strong>eren Teilaspekten angelehnt<br />

an agile Modelle. Zu Beginn wird daher ein vorläufiges Fachkonzept verfasst und auch formal abgenommen.<br />

Im Laufe des Projekts wird dieses Fachkonzept weiter ausgearbeitet und dient auch dokumentarischen<br />

Zwecken. Die Fertigstellung des DV-Konzepts erfolgt gegen Mitte der Realisierungsphase.<br />

Über alle Anwendungsfälle hinweg wird ein Vergleich der verschiedenen eingesetzten BI-<br />

Technologien angestrebt. Dazu wird begleitend zur Realisierung ein Kriterienkatalog für diesen Technologievergleich<br />

entwickelt. Der tatsächliche Vergleich der verschiedenen Technologien auf Grundlage<br />

des Katalogs erfolgt gegen Projektende.<br />

2.2 Projektspezifische technische & organisatorische<br />

Bedingungen<br />

In den folgenden Abschnitten werden die technischen und organisatorischen Rahmenbedingungen für<br />

die CEWE-Teilgruppe beschrieben. Dazu zählen die Vorstellung des Teams, die verfügbaren Technologien,<br />

das gegebene Arbeitsumfeld sowie die Kommunikation innerhalb der CEWE-Teilgruppe und<br />

den Ansprechpartnern seitens CEWE.<br />

192


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

2.2.1 Team<br />

Das Projektteam besteht aus fünf Studierenden der Universität Oldenburg, welche der <strong>Projektgruppe</strong><br />

Cuberunner angehören, die im Sommersemester 2012 gegründet wurde. Die <strong>Projektgruppe</strong> besteht in<br />

der Zeit vom 1. April 2012 bis zum 31. März 2013.<br />

Zum Projektteam gehören folgende Mitglieder:<br />

- Wiebke Meyer<br />

- Benjamin Weinert<br />

- Björn Kreye<br />

- Henning Tomann<br />

- Fatih-Mehmet Inel (Teilgruppenleiter)<br />

Als Ansprechpartner seitens der CEWE stehen Dr. Joachim Marz, Eugen Neigel und Anton Byvshev<br />

zur Verfügung. Themenspezifische Ansprechpartner für die jeweiligen definierten Arbeitspakete im<br />

Laufe der Projektphase sind Manfred Neugebauer, Mike Dettmann, Karin Wehmeyer und Thomas<br />

Grunewald.<br />

2.2.2 Kommunikation<br />

Die Teilgruppe trifft sich während der Projektzeit in regelmäßigen Abständen mindestens einmal wöchentlich<br />

mit allen Mitgliedern. Es wurden Arbeitsplätze, Notebooks sowie Token und Transponder<br />

für die Zugriffs- bzw. Zutrittsberechtigung seitens CEWE zur Verfügung gestellt.<br />

Einzelne Aufgaben werden von den Teammitgliedern nach eigenem Ermessen im Rahmen der gegebenen<br />

Fristen selbstständig bearbeitet. Die interne Kommunikation findet hierbei, über gemeinsame<br />

Treffen hinaus, mittels technischer Hilfsmittel wie Skype oder E-Mail statt.<br />

Es finden bei Bedarf Treffen zwischen der Teilgruppe und den Ansprechpartnern seitens CEWE statt.<br />

Die grundsätzliche Kommunikation mit Vertretern der CEWE erfolgt über einen eigens eingerichteten<br />

E-Mail-Verteiler.<br />

Ferner werden wöchentliche Treffen mit der gesamten <strong>Projektgruppe</strong> und den zuständigen Betreuern<br />

von der Universität Oldenburg abgehalten.<br />

2.2.3 Technologien<br />

Das Unternehmen CEWE ermöglicht der <strong>Projektgruppe</strong> Zugang zu bereits vorh<strong>and</strong>ene Technologien,<br />

die für die Umsetzung des Projekts relevant sind. Zu folgenden Systemen wird ein Zugang bereitgestellt:<br />

193


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

- SAP <strong>Business</strong> Information Warehouse (BW)<br />

- SAP Customer Relationship Management (CRM)<br />

- IBM Cognos<br />

- IBM SPSS<br />

- QuestionPro<br />

Auf Basis eines Kriterienkatalogs wurde ein umfassender Vergleich diverser Umfragetools durchgeführt.<br />

Die bereits von CEWE eingesetzten Systeme QuestionPro und SurveyMonkey sollten dem neu<br />

eingeführten SAP CRM Survey Tool gegenübergestellt und anh<strong>and</strong> von Anforderungen bewertet werden.<br />

Als weitere Alternative wurde das Tool SurveyGizmo für den Vergleich hinzugezogen, da es von<br />

allen Anwendungen die meisten Anforderungen erfüllte.<br />

In einer abschließenden Abstimmung mit den Verantwortlichen von CEWE wurde QuestionPro als<br />

zukünfigtes Umfragetool priorisiert, da die Vorteile von SurveyGizmo nicht ausschlaggebend genug<br />

waren. Die Technologien IBM Cognos und IBM SPSS sind derzeit bei CEWE in Betrieb und sollen<br />

für das Berichtswesen und die Prognosen eingesetzt werden. Das erlangte Wissen in der Teilprojektgruppe<br />

zu diesen Tools wird durch einen abschließenden Technologievergleich innerhalb der gesamten<br />

<strong>Projektgruppe</strong> genutzt.<br />

Als Voraussetzung für die Arbeit mit diesen Technologien sind gewisse Grundkenntnisse notwendig.<br />

Ein umfangreiches Wissen zu dieser Vielzahl von Anwendungen und Tools ist in der Teilgruppe nicht<br />

bzw. nur teilweise gegeben, daher werden die Gruppenmitglieder durch zuständige Mitarbeiter von<br />

CEWE instruiert. Besonders anspruchsvolle Aufgaben in dem Projekt werden in Zusammenarbeit mit<br />

den Spezialisten aus dem Unternehmen bearbeitet.<br />

2.2.4 Stakeholder-Definitionen<br />

Die primären Stakeholder des Projekts gestochen scharfe Fragen stellen sind CEWE und die Universität<br />

Oldenburg. Insbesondere der Bereich des Marketings von CEWE ist an den Projektergebnissen<br />

interessiert, da durch das Projekt die Arbeitsabläufe im Marketing verbessert werden sollen. Seitens<br />

der Universität Oldenburg werden die <strong>Projektgruppe</strong> Cuberunner und der Bereich Very Large <strong>Business</strong><br />

<strong>Applications</strong> (VLBA) als Stakeholder betrachtet. Die Ergebnisse aus der Zusammenarbeit fließen in das<br />

Gesamtprojekt ein und können weiterhin in zukünftige wissenschaftliche Arbeiten verwendet werden.<br />

3. Technologien<br />

Das Unternehmen CEWE ermöglicht der <strong>Projektgruppe</strong> Zugang zu bereits vorh<strong>and</strong>ene Technologien,<br />

die für die Umsetzung des Projekts relevant sind. Zu folgenden Systemen wird ein Zugang bereitgestellt:<br />

194


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

- SAP <strong>Business</strong> Information Warehouse (BW)<br />

- SAP Customer Relationship Management (CRM)<br />

- IBM Cognos<br />

- IBM SPSS<br />

- QuestionPro<br />

Auf Basis eines Kriterienkatalogs wurde ein umfassender Vergleich diverser Umfragetools durchgeführt.<br />

Die bereits von CEWE eingesetzten Systeme QuestionPro und SurveyMonkey sollten dem neu<br />

eingeführten SAP CRM Survey Tool gegenübergestellt und anh<strong>and</strong> von Anforderungen bewertet werden.<br />

Als weitere Alternative wurde das Tool SurveyGizmo für den Vergleich hinzugezogen, da es von<br />

allen Anwendungen die meisten Anforderungen erfüllte.<br />

In einer abschließenden Abstimmung mit den Verantwortlichen von CEWE wurde QuestionPro als<br />

zukünfigtes Umfragetool priorisiert, da die Vorteile von SurveyGizmo nicht ausschlaggebend genug<br />

waren.<br />

Die Technologien IBM Cognos und IBM SPSS sind derzeit bei CEWE in Betrieb und sollen für das<br />

Berichtswesen und die Prognosen eingesetzt werden. Das erlangte Wissen in der Teilprojektgruppe zu<br />

diesen Tools wird durch einen abschließenden Technologievergleich innerhalb der gesamten <strong>Projektgruppe</strong><br />

genutzt.<br />

Als Voraussetzung für die Arbeit mit diesen Technologien sind gewisse Grundkenntnisse notwendig.<br />

Ein umfangreiches Wissen zu dieser Vielzahl von Anwendungen und Tools ist in der Teilgruppe nicht<br />

bzw. nur teilweise gegeben, daher werden die Gruppenmitglieder durch zuständige Mitarbeiter von<br />

CEWE instruiert. Besonders anspruchsvolle Aufgaben in dem Projekt werden in Zusammenarbeit mit<br />

den Spezialisten aus dem Unternehmen bearbeitet.<br />

4. Fragestellungen und unternehmerischer Nutzen<br />

Im folgenden Abschnitt werden unternehmensrelevante Fragestellungen zu dem Projekt und dessen<br />

Mehrwert erläutert. Ziel von CEWE ist es, im Rahmen von Umfragen auf unterschiedlichen Kommunikationskanälen<br />

- die richtigen Fragen<br />

- zum richtigen Zeitpunkt<br />

- an die richtigen Adressaten<br />

zu stellen, um möglichst aussagekräftige Ergebnisse zu erhalten. Von besonderer Relevanz sind die<br />

Qualität bzw. Güte von Fragen, die Anzahl der zu befragenden Adressaten, um eine fundierte Aussage<br />

treffen zu können, sowie die hierfür benötigte Rücklaufmenge vollständig beantworteter Umfragen.<br />

195


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

Weiterhin ist die Umfrageaffinität der Befragten, also die Bereitschaft Umfragen akkurat und vollständig<br />

zu beantworten, ein wesentlicher Faktor. Diese soll mit den Analysen beleuchtet werden, um sie<br />

bei der Auswahl der Adressaten einfließen zu lassen. Weiterhin sind die Anzahl geöffneter, begonnener,<br />

abgeschlossener und abgebrochener Umfragen sowie die Frage nach dem geeigneten Zeitpunkt<br />

einer Umfrage von Bedeutung. Ein ebenso wichtiger Aspekt ist die Erkenntnis, welche Kunden auf<br />

Incentives wie Gutscheinaktionen am ehesten angesprochen und stärker gebunden werden können.<br />

Anh<strong>and</strong> der erlangten Antworten auf diese Fragen kann gezielter auf das Kundenverhalten eingegangen<br />

werden. Umfassendere Prognosen werden somit zusätzlich ermöglicht. Der Abw<strong>and</strong>erung von<br />

Kunden (Churning) kann ebenfalls entgegen gewirkt werden.<br />

5. Analytische Anforderungen<br />

Im folgenden Abschnitt werden die Anforderungen an das Projektteam in Form von Arbeitspaketen<br />

dargestellt. Die Arbeitspakete beinhalten die für das Projekt drei wesentlichen Anforderungsbereiche:<br />

die Umfragen, die Fragen und die Konsumenten (Abbildung 5.1).<br />

Abbildung 5.1: Anforderungsbereiche<br />

Die Umsetzung der Arbeitspakete wird mit Hilfe einer in Oracle implementierten Ergebnisdatenbank,<br />

sowie den Tools QuestionPro, SAP CRM, IBM Cognos und IBM SPSS erfolgen.<br />

5.1 Arbeitspaket 1: Umfrageerstellung<br />

Das Arbeitspaket 1 umfasst die Umfrageerstellung sowie den Vergleich und die Analyse des Funktionsumfangs<br />

der Tools. Für dieses Paket sollen neben der Umfrageerstellung auch die Möglichkeiten<br />

für eine Genehmigung und Freigabe untersucht werden.<br />

196


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

Es soll eine Übersicht erstellt werden, die kalendarisch darstellt, welche Umfragen zu welchem Key<br />

Account (Saturn, dm, etc.) wann datiert wurden. Mit diesen Daten sollen Metadaten, wie Zeitpunkt,<br />

Zielsetzung, Feldzeit (ein Richtwert für den Zeitraum von der ersten Antwort bis zur Erreichung einer<br />

ausreichenden Rücklaufquote), Umfrageart, L<strong>and</strong>, Anhänge (wie z.B. der Fragebogen), Incentives und<br />

weitere gespeichert werden.<br />

Bestehende Stammdaten vorh<strong>and</strong>ener Konsumenten sollen durch die genannten Metadaten angereichert<br />

werden. Eine weitergehende Segmentierung der Kunden anh<strong>and</strong> dieser Daten ist wünschenswert.<br />

KPIs wie send rate (Anzahl versendeter Umfragen nach brutto und netto), open rate (geöffnete Umfrage),<br />

click through rate (Umfragelink geklickt/ Umfrage gestartet) und completion rate (Umfrage<br />

durchgeführt und abgeschickt), average-cancelled-rate (Durchschnitt abgebrochener Umfragen) sollen<br />

definiert werden. Weitere Kennzahlen können im Laufe des Projektes folgen.<br />

Eine Schnittstelle zum aktuell eingesetzten eCRM-System ist ebenfalls notwendig. eCRM ist ein Tool<br />

für ein elektronisches Customer Relationship Management der Firma hmmh. Die Schnittstelle existiert<br />

bereits, jedoch ist ein Abgleich der transportierten Daten notwendig um zu garantieren, dass die richtigen<br />

personalisierten Daten und die bereits genannten Kennzahlen der Kunden in das Projekt eingehen.<br />

Ferner soll der Prozess zur Freigabe des Fragebogens durch das Key Account Management und das<br />

Newsletter-Team als unterstützende operative Einheit zur Erstellung des Newsletters integriert werden.<br />

Die minimale Anforderung an das Projektteam ist hier die Berücksichtigung des aktuellen Prozesses.<br />

Dieser beinhaltet als ersten Schritt die Erstellung der Umfrage durch die Marktforschung (Herr Anton<br />

Byvshev). Darauf folgt das Verfassen des Newsletters durch das Newsletter Team in Rücksprache mit<br />

der Marktforschung und zuletzt die Prüfung und Freigabe durch das Key Account Management<br />

(Abbildung 5.2).<br />

Abbildung 5.2: Aktueller Freigabeprozess<br />

Dieser Prozess kann nach Absprache mit dem Marktforschungsbereich geändert oder nach Gegebenheit<br />

verbessert werden, sodass dieser wie in Abbildung 5.3 gezeigt, abläuft.<br />

197


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

Abbildung 5.3:Gewünschter Freigabeprozess<br />

Im Optimalfall soll für die zu erstellenden Umfragen ein Fragenkatalog verwendet werden können, der<br />

in Arbeitspaket 5 erläutert wird.<br />

Alle Funktionen sind zu untersuchen und zu dokumentieren. Anh<strong>and</strong> eines Kriterienkatalogs wurde<br />

die Nutzbarkeit von QuestionPro überprüft.<br />

5.2 Arbeitspaket 2: Ergebnisdatenlagerung<br />

In diesem Arbeitspaket wird auf die Lagerung der vom Kunden beantworteten Fragebögen näher eingegangen.<br />

Die Fragebogenergebnisse werden aktuell auf den internen Datenbanken von QuestionPro<br />

und SurveyMonkey gespeichert und werden dort direkt zur Visualisierung und Auswertung verwendet.<br />

Ein regelmäßiger Export der Daten zur Sicherung der Ergebnisse wird derzeit manuell durchgeführt.<br />

Das Projektteam hat die Aufgabe, die Ergebnisdatenlagerung zu zentralisieren. Der Extraktionsprozess<br />

der Daten aus den bisherigen Systemen soll nach Möglichkeit vereinfacht und lückenlos sein. Als Datensenke<br />

wird ein Data Warehouse auf Oracle Basis zum Einsatz kommen.<br />

Für dieses Arbeitspaket werden historische Daten bereitgestellt, diese sind notwendig, um aussagekräftige<br />

Auswertungen und Prognosen für die folgenden Arbeitspakete (siehe Abschnitte 4.3 und 4.4)<br />

erstellen zu können.<br />

Anforderungen an die zu erstellende Oracle-Datenbank sind neben einer hohen Datenintegrität, Redundanzvermeidung,<br />

ein Mehrbenutzerbetrieb, eine zentrale Kontrolle der Datenbank, eine hohe Datensicherheit<br />

(Backups- und Prüfmechanismen) und ein entsprechender Datenschutz (Rechtesystem<br />

mit Zugriffskontrolle). Weiterhin sollte der Aufbau der Datenbank den in CEWE vorliegenden St<strong>and</strong>ards<br />

genügen.<br />

5.3 Arbeitspaket 3: Berichtswesen<br />

Im Arbeitspaket 3 soll das Berichtswesen auf Basis der im Arbeitspaket 2 zentralisierten Daten angepasst<br />

werden. Derzeit ist eine einheitliche und vielfältige Erstellung von Berichten nicht möglich, da<br />

198


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

die verschiedenen Datensätze der unterschiedlichen Umfragetools eine Vereinheitlichung nicht zulassen.<br />

Die aktuell gegebenen Möglichkeiten sollen durch das Projekt abgedeckt und sinnvoll erweitert<br />

werden.<br />

Berichte sollen ad-hoc erstellbar und modifizierbar sein und müssen Ansprüchen der intuitiven Bedienbarkeit<br />

sowie der Aussagekraft genügen, weiterhin müssen sie unmittelbares Navigieren zwischen<br />

den Daten (Data Surfing) zulassen. Selbiges gilt für Dashboards und Benchmarking, welche die aus<br />

Arbeitspaket 1 definierten Kennzahlen verwenden.<br />

Auf Basis eines Berechtigungssystems sollen sowohl entsprechend der Governance eine Trennung<br />

nach H<strong>and</strong>elspartnern als auch eine differenzierte Darstellung nach Rollen (Führungsebene, Marketing,<br />

Produktenwicklung) und den jeweils relevanten Daten möglich sein. Für das Berichtswesen wird<br />

IBM Cognos zum Einsatz kommen.<br />

Zu den in dem Oracle Data Warehouse liegenden Daten stellt der IBM Framework Manager eine Verbindung<br />

her und ermöglicht die Erstellung von Cognos Cubes auf Basis dieser. Im Falle großer Datenmengen<br />

können mit Hilfe des Cognos Transformer Kits Offline-Cubes erstellt werden. Die Offline-<br />

Cubes würden eine lokale Verfügbarkeit voraussetzen, bieten jedoch kürzere Zugriffszeiten. Der Entscheidung,<br />

ob der Cognos Transformer Kits eingesetzt wird, liegt bei der Teilgruppe.<br />

5.4 Arbeitspaket 4: Prognose<br />

Im Arbeitspaket 4 geht es um die Erstellung von Prognosen auf Basis der Umfrageergebnisse. Aktuell<br />

werden keine IT-gestützten Prognosen auf Basis der Umfragewerte durchgeführt. Es erfolgt lediglich<br />

eine Auswertung im Bereich der deskriptiven Statistik mit QuestionPro. Die Marktforschung wertet<br />

diese Daten bisher manuell aus.<br />

Die Prognosen sollen in Zukunft mit Hilfe von IBM SPSS Modeler erstellt werden. Hierbei werden<br />

Data Mining Funktionen auf Basis der Daten bereits durchgeführter Umfragen verwendet, um so ein<br />

Performance Measurement durchzuführen.<br />

Der Vorteil von IBM SPSS ist, dass die Daten über den Modeler-Server aus Datenquellen wie Cognos,<br />

dem Data Warehouse oder SAP BW importiert und mit Ausnahme von SAP BW nach erfolgter Analyse<br />

mit neuen Scores basierend auf der Analyse auch wieder zurück exportiert werden können (siehe<br />

Abbildung 5.4).<br />

199


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

Abbildung 5.4: Aktuelle Struktur<br />

Durch die Analysen in IBM SPSS soll unter <strong>and</strong>erem untersucht werden, ob eine Frage von Bedeutung<br />

ist, wie groß der Rücklauf von Antworten sein muss, um diese sinnvoll auswerten zu können oder wie<br />

viele Kunden befragt werden müssen, um eine bestimmte Rücklaufmenge zu erhalten. Die Güte der<br />

Response soll anh<strong>and</strong> eines Scorings für Kunden ermittelt werden, um unter <strong>and</strong>erem zu identifizieren<br />

ob ein Kunde zu einem bestimmten Zeitpunkt für Umfragen empfänglich oder wie es generell um die<br />

Umfrageaffinität des Kunden bestellt ist.<br />

Die jeweils anzuwendenden Data-Mining Methoden für die verschiedenen Untersuchungen werden<br />

mit Herrn Eugen Neigel abgestimmt.<br />

Im Sinne des Closed-Loops sollen die erlangten Daten zum Zweck von Verbesserungsvorschlägen für<br />

die jeweiligen Abteilungen wie F&E oder Produktmarketing aufbereitet werden. Schließlich sollen<br />

etwaige Neuerungen mit den Kunden kommuniziert werden. Auf die von H<strong>and</strong>elspartnern gesetzten<br />

Einschränkungen ist hierbei besonders zu achten.<br />

Es ist eine angemessene Benutzerführung und Automatisierung in dem System zur zukünftigen Aufbereitung<br />

von Daten erforderlich.<br />

200


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

5.5 Arbeitspaket 5: Fragenpoolgenerierung<br />

Das Arbeitspaket 5 umfasst die Generierung eines Fragenpools, hat jedoch keine hohe Priorität. Auf<br />

Grund dessen ist dieses Arbeitspaket als optional bezeichnet worden und bildet eine zusätzliche Funktionalität,<br />

die im Rahmen des Projektes umgesetzt werden kann.<br />

Im Bereich der Fragenpoolgenerierung soll ein Katalog in Form einer Datenbank zur Ablage aller<br />

Fragen aus vergangenen, laufenden und zukünftigen Umfragen erstellt werden. Die Lagerung der Daten<br />

sieht zum aktuellen Zeitpunkt kein fixes System vor. Je nach Wahl des Systems (vorh<strong>and</strong>enes System<br />

oder neues System) ist der Arbeitsvorgang unterschiedlich. Ziel ist es, Fragen aus diesem Katalog<br />

zur Umfrageerstellung bereitzustellen, sodass Mitarbeiter von CEWE nicht für jede Umfrage neue<br />

Fragen generieren müssen, sondern auf bereits vorh<strong>and</strong>ene Frage zurückgreifen können.<br />

Das Dialogsystem muss Funktionen zur Erfassung und Speicherung von Fragen beinhalten. Die Kategorisierung<br />

der Fragen ist ebenso wie eine eindeutige Kennzeichnung wünschenswert.<br />

6. Kennzahlen<br />

Im Folgenden werden gewünschte Kennzahlen aufgezeigt. Das Projektteam soll diese definieren und<br />

mit IBM Cognos in geeigneter Form darstellen.<br />

Bezeichnung Beschreibung Herkunft<br />

Send-Rate Anzahl der gesendeten Umfragen SAP CRM<br />

Open-Rate<br />

Anzahl geöffneter Umfragen<br />

(L<strong>and</strong>ing-Page gesehen)<br />

QuestionPro<br />

Click-Through-Rate Anzahl gestarteter Umfragen QuestionPro<br />

Completion-Rate Anzahl abgeschlossener Umfragen QuestionPro<br />

Average-Cancelled-Rate<br />

Durchschnitt abgebrochener Umfragen,<br />

evtl. an welcher Frage<br />

Tabelle 6.1: Kennzahlen<br />

QuestionPro<br />

7. Scores<br />

Scores haben einen ähnlichen Charakter wie KPIs und werden zur Quantifizierung von Gegebenheiten<br />

in IBM SPSS eingesetzt. Sie werden entsprechend der Möglichkeiten in SPSS durch Prädiktoren und<br />

Indikatoren konstruiert und erweitert.<br />

201


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Fachkonzept<br />

Bezeichnung<br />

Prognostizierte Antwort<br />

Prognostizierter Rücklauf<br />

Umfrageaffinität<br />

Umfragezeitpunkt<br />

Beschreibung<br />

Erwarteter Antwortbereich auf Erfahrungsbasis<br />

Anteil erwarteter vollständig ausgefüllter Fragebögen<br />

Bereitschaft des Adressaten die Umfrage abzuschließen<br />

Wie lange liegt die vorige Umfrage zurück, wann kann dem<br />

Konsument wieder eine Umfrage zugesendet werden?<br />

Tabelle 7.1: Scores<br />

8. Semantische Modellierung<br />

Eine semantische Modellierung ist zum aktuellen St<strong>and</strong> nicht durchführbar, denn diese ist an die abzubildenden<br />

Systeme gebunden. Abhängig von der Bewertung und der Entscheidung für die einzusetzenden<br />

Technologien werden individuelle Modelle erarbeitet.<br />

Für das präferierte Dialogsystem im Rahmen des Arbeitspaketes 5 wird ein Datenmodell basierend auf<br />

den Anforderungen von CEWE zur Umsetzung des Fragenkatalogs erstellt.<br />

Ferner wird ein weiteres Datenmodell für das Arbeitspaket 2 zur Lagerung der Ergebnisse abgeschlossener<br />

Umfragen, welches in der Oracle Datenbank realisiert wird, erstellt.<br />

Schließlich ist für den IBM SPSS Modeler eine semantische Modellierung für Prognosen auf Basis der<br />

historischen Umfrageergebnisse notwendig, um neue Erkenntnisse zu gewinnen.<br />

9. Nichtanalytische Anforderungen<br />

Anforderungen an die Benutzerfreundlichkeit, wie etwa die intuitive Bedienbarkeit sowie die Vermeidung<br />

unnötiger „Klicks“ und Tastatureingaben sollen berücksichtigt werden. Weiterhin ist eine konsistente<br />

Menüführung und eine Verwendung sinnvoller Vorgabewerte umzusetzen. Die Benutzerfreundlichkeit<br />

steht bei der Erarbeitung stets im Vordergrund. Sollte das Dialogsystem mit entsprechenden<br />

Eingabemasken umgesetzt werden, steht in jedem Fall die Wahrung der Effizienz, der vom Anwender<br />

genutzten Arbeitsabläufe im Fokus.<br />

202


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: CEWE<br />

DV-Konzept<br />

203


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

204


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Inhaltsverzeichnis CEWE DV-Konzept<br />

Abbildungsverzeichnis ........................................................................................................... 206<br />

Tabellenverzeichnis ................................................................................................................ 206<br />

Abkürzungsverzeichnis .......................................................................................................... 207<br />

1. Gesamtüberblick .............................................................................................................. 208<br />

2. Ist-Zust<strong>and</strong> ....................................................................................................................... 209<br />

2.1 Software ...................................................................................................................... 209<br />

2.2 Prozess ........................................................................................................................ 209<br />

2.3 Architektur .................................................................................................................. 209<br />

3. Soll-Zust<strong>and</strong> ..................................................................................................................... 211<br />

3.1 Software ...................................................................................................................... 211<br />

3.2 Prozess ........................................................................................................................ 216<br />

3.3 Architektur .................................................................................................................. 216<br />

3.4 Verfügbarkeit .............................................................................................................. 217<br />

3.5 Voraussetzungen......................................................................................................... 217<br />

3.5.1 Software ........................................................................................................... 217<br />

3.5.2 Hardware ......................................................................................................... 217<br />

3.5.3 Daten ................................................................................................................ 217<br />

4. Realisierung ..................................................................................................................... 218<br />

4.1 Arbeitspaket 1: Umfrageerstellung ............................................................................. 218<br />

4.1.1 Auswahl des Umfragetools .............................................................................. 218<br />

4.1.2 Erfassung von Umfragen im CRM .................................................................. 218<br />

4.1.3 Genehmigungs- und Freigabeprozess .............................................................. 221<br />

4.2 Arbeitspaket 2: Ergebnisdatenlagerung ...................................................................... 221<br />

4.3 Arbeitspaket 3: Berichtswesen ................................................................................... 223<br />

4.4 Arbeitspaket 4: Prognose ............................................................................................ 226<br />

4.5 Arbeitspaket 5: Fragenpoolgenerierung ..................................................................... 227<br />

5. Literaturverzeichnis ......................................................................................................... 229<br />

Anhang ................................................................................................................................... 230<br />

A. Ist-Prozess ........................................................................................................................ 230<br />

B. Soll-Prozess ..................................................................................................................... 232<br />

C. Kriterienkatalog ............................................................................................................... 236<br />

D. ER-Modell ....................................................................................................................... 237<br />

E. Star-Schema ..................................................................................................................... 237<br />

205


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Abbildungsverzeichnis<br />

Abbildung 1.1: Projektüberblick ............................................................................................ 208<br />

Abbildung 2.1: Aktuelle Verfahrensweise ............................................................................. 210<br />

Abbildung 3.1: Marketingkalender im SAP CRM ................................................................. 211<br />

Abbildung 3.2: OWB Komponenten ...................................................................................... 213<br />

Abbildung 3.3: Zu realisierendes erweitertes Entity Relationship Modell (ERM)-Schema .. 215<br />

Abbildung 3.4: Angeforderte Verfahrensweise ..................................................................... 216<br />

Abbildung 4.1: Export-Funktion in QuestionPro ................................................................... 219<br />

Abbildung 4.2: Umfrage als PDF-Dokument für ein Kampagnenelement hochladen .......... 219<br />

Abbildung 4.3: Angehängtes PDF-Dokument ....................................................................... 220<br />

Abbildung 4.4: Umfrage als URL für ein Kampagnenelement hinterlegen .......................... 220<br />

Abbildung 4.5: Direkter Link zum Bearbeiten der Umfrage, mit ID ..................................... 220<br />

Abbildung 4.6: Angehängte URL .......................................................................................... 221<br />

Abbildung 4.7: Datenwege ..................................................................................................... 221<br />

Abbildung 4.8: Klassendiagramm .......................................................................................... 222<br />

Abbildung 4.9: ERM Schema ................................................................................................ 223<br />

Abbildung 4.10: Vorlage der Berichte ................................................................................... 225<br />

Abbildung 4.11: Tab01: Umfrage erstellen ............................................................................ 227<br />

Abbildung 4.12: Tab02: Fragen kategorisieren ...................................................................... 228<br />

Abbildung 4.13: Tab03: Kategorien erstellen ........................................................................ 228<br />

Abbildung 4.14: Tab04: Anzeige kategorisierter Fragen ....................................................... 228<br />

Abbildung 4.15: Tab05: Anzeige hierarchisierter Kategorien ............................................... 228<br />

Abbildung A.1: Grafik Ist-Prozess ......................................................................................... 231<br />

Abbildung B.1: Grafik Soll-Prozess ....................................................................................... 235<br />

Abbildung C.1: Machbarkeitsanalyse .................................................................................... 236<br />

Abbildung C.2: Ergebnis Machbarkeitsanalyse ..................................................................... 236<br />

Abbildung D.1: Erstes ER-Model .......................................................................................... 237<br />

Abbildung E.1: Erstes Star-Schema ....................................................................................... 237<br />

Tabellenverzeichnis<br />

Tabelle 4.1: Kennzahlen ......................................................................................................... 226<br />

Tabelle 4.2: Scores ................................................................................................................. 227<br />

206


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Abkürzungsverzeichnis<br />

AG<br />

B2C<br />

BI<br />

BW<br />

CRM<br />

DB<br />

ERM<br />

ETL<br />

GUI<br />

ID<br />

IT<br />

KPI<br />

OHG<br />

PL/SQL<br />

REST<br />

SKM<br />

SOAP<br />

SQL<br />

URL<br />

XML<br />

Aktiengesellschaft<br />

<strong>Business</strong> to Customer<br />

<strong>Business</strong> <strong>Intelligence</strong><br />

<strong>Business</strong> Warehouse<br />

Customer Relationship Management<br />

Datenbank<br />

Entity Relationship Modell<br />

Extraktion, Transformation, Laden<br />

Graphical User Interface<br />

eindeutige Identifikationsnummer<br />

Informationstechnologie<br />

Key Performance Indicator<br />

Offene H<strong>and</strong>elsgesellschaft<br />

Procedural Language/ SQL<br />

Representational state transfer<br />

St<strong>and</strong>ard-Kosten-Modell<br />

Simple Object Access Protocol<br />

Structured Query Language<br />

Uniform Ressource Locator<br />

Extensible Markup Language<br />

207


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

1. Gesamtüberblick<br />

Die computergestützte Erfassung, Aufbereitung und Analyse von Daten zur Unterstützung der Entscheidungsfindung<br />

in einem Unternehmen ist zu einem relevanten Thema in der Informationstechnik<br />

geworden. Die Methoden der <strong>Business</strong> <strong>Intelligence</strong> (BI) können in verschiedenen Bereichen von Unternehmen<br />

zum Einsatz kommen und auch im Customer Relationship Management (CRM) nutzenbringend<br />

angew<strong>and</strong>t werden. Das Kundenverhalten lässt sich mittels CRM-Methoden erfassen, analysieren<br />

und durch gezielte Aktionen fördern und lenken, um neue Kunden zu gewinnen oder ein bereits<br />

bestehendes Kundenverhältnis durch angepasste Maßnahmen zu festigen.<br />

Unter dem Arbeitstitel „gestochen scharfe Fragen stellen“ befasst sich eine Gruppe von Studierenden<br />

der Carl von Ossietzky Universität Oldenburg mit dem Teilprojekt Analytisches CRM in Kooperation<br />

mit der CEWE COLOR AG & Co. OHG (CEWE). Ziel dieses Projektes ist eine Vereinheitlichung der<br />

computergestützten Prozesse und Systeme zur gezielten Umfrageerstellung. Der derzeitige Ablauf zur<br />

Erstellung einer Umfrage enthält mehrere systemübergreifende, manuelle Arbeitsschritte. Durch Einbeziehung<br />

vorh<strong>and</strong>ener Analyseergebnisse in die Umfrageerstellung soll eine Vereinfachung der Arbeitsabläufe<br />

durch unmittelbare Verfügbarkeit relevanter Daten ohne Medienbrüche erreicht werden.<br />

Das Projekt reicht von der Umfrageerstellung über die Ergebnisdatenlagerung aus den Umfragen bis<br />

hin zu der Auswertung der Ergebnisse, mit Hilfe des Berichtswesens und mögliche Prognosen, die aus<br />

den Ergebnisdaten gewonnen werden können. Optional ist die Generierung eines Fragenpools, in welchem<br />

Mitarbeiter von CEWE Fragen erstellen, die wiederum für Umfragen genutzt werden können.<br />

Das gesamte Projekt ist auf sechs Monate verteilt. Den Grundgedanken des Projektes spiegelt Abbildung<br />

1.1 wider.<br />

Abbildung 1.1: Projektüberblick<br />

208


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

2. Ist-Zust<strong>and</strong><br />

Dieses Kapitel beinhaltet die zur technischen Umsetzung des Projekts notwendigen Basisinformationen<br />

zum aktuellen St<strong>and</strong> der CEWE. Hierbei wird zunächst ein Überblick zu dem Projekt gegeben,<br />

sowie der aktuell vorherrschende Prozess gezeigt, die derzeitige Architektur beschrieben, bestimmte<br />

Voraussetzungen erläutert und Ziele festgelegt.<br />

2.1 Software<br />

QuestionPro ist ein Produkt von Survey Analytics, ein 2002 gegründetes amerikanisches Unternehmen<br />

(vgl. QuestionPro 2012), welches eine Online-Plattform zur Erstellung und Auswertung von Umfragen<br />

bereitstellt. CEWE verwendet QuestionPro im Bereich Marketing zur Erstellung von Umfragen, zur<br />

Speicherung der Ergebnisse und zur Ad-hoc-Analyse der Ergebnisse. Neben QuestionPro setzt CEWE<br />

SurveyMonkey ein. Das gleichnamige Unternehmen stammt ebenfalls aus Amerika und wurde 1999<br />

gegründet (SurveyMonkey 2012). Das Unternehmen stellt wie QuestionPro eine Online-Plattform zur<br />

Verfügung, auf der Umfragen erstellt, bearbeitet, versendet und ausgewertet werden können. CEWE<br />

nutzt das Tool im Vertrieb, plant jedoch dies abzulösen. Weiterhin wird von CEWE die Software e-<br />

CRM der Firma hmmh eingesetzt. Das elektronische Customer Relationship Management erstellt individuelle<br />

Links zu den Umfragen, dabei werden in dem Link Informationen zu einem Kunden mittransportiert.<br />

Das eCRM wird vom Newsletterteam zum Versenden der Umfrage per Newsletter verwendet,<br />

um die Umfrage an die entsprechenden Kunden zu versenden. Im SAP CRM werden die<br />

Kundendaten verwaltet.<br />

2.2 Prozess<br />

Der aktuelle Umfrageprozess (siehe Anhang Ist-Prozess) sieht keine Anwendung von <strong>Business</strong> <strong>Intelligence</strong><br />

vor und ist in Bezug auf die Verwendung des Umfragetools manuell gesteuert. Seitens CEWE<br />

findet lediglich eine manuell gesteuerte Anwendung des Systems durch die Marktforschung statt. Das<br />

Marketing führt dabei Ad-hoc-Analysen auf Basis der auf der Onlineplattform QuestionPro gespeicherten<br />

Daten (Umfrageergebnisse) durch.<br />

2.3 Architektur<br />

Die aktuelle, für den Umfrageprozess relevante Systemarchitektur, sieht lediglich eine Speicherung<br />

der Umfragen und deren Ergebnisse in einer Datenbank vor. Die Datenbank ist hierbei Eigentum von<br />

QuestionPro. Zwischen CEWE und QuestionPro findet kein Datenaustausch statt sondern ein reiner<br />

<strong>Business</strong>-to-Consumer (B2C) Service, bei dem CEWE als Kunde und QuestionPro als Anbieter fungiert.<br />

CEWE nutzt lediglich den Service von QuestionPro und arbeitet auf der zur Verfügung gestellten Onlineplattform,<br />

um die entsprechenden Umfragen zu erstellen und zu bearbeiten (siehe Abbildung 2.1).<br />

209


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Abbildung 2.1: Aktuelle Verfahrensweise<br />

210


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

3. Soll-Zust<strong>and</strong><br />

Im Folgenden wird auf die für das Projekt definierten Ziele eingegangen, welche von der <strong>Projektgruppe</strong><br />

erreicht werden sollen.<br />

3.1 Software<br />

Nach einer von der <strong>Projektgruppe</strong> durchgeführten Analyse von verschiedenen Umfragetools, die anh<strong>and</strong><br />

eines Kriterienkatalogs (siehe Anhang Kriterienkatalog) bewertet wurden, wurde QuestionPro als<br />

primäres Umfragetool ausgewählt. Das im Vertrieb genutzte Umfragetool SurveyMonkey wird somit<br />

in Zukunft von QuestionPro abgelöst werden. QuestionPro bietet die Möglichkeit, mit Hilfe von Representational<br />

State Transfer (REST) alle Daten zu Umfragen in ein Drittsystem zu laden.<br />

Das eCRM wird weiterhin so verwendet, wie es bisher eingesetzt wurde. Lediglich an den im Link<br />

versteckten Variablen können sich Änderungen durch CEWE ergeben.<br />

Das SAP CRM wird ebenfalls weiterhin verwendet, um dort die Kundendaten zu speichern. Neben der<br />

Speicherung von Daten wird der Marketingkalender im SAP CRM verwendet. In diesem gibt es die<br />

Möglichkeit alle bevorstehenden und vergangenen Marketing-Kampagnen zu pflegen (siehe Abbildung<br />

3.1), wodurch eine übersichtliche Ansicht zu aktuellen Kampagnen entsteht. Zu jeder Kampagne<br />

können weitere Notizen sowie Anhänge gespeichert werden.<br />

Quelle: Screenshot aus SAP CRM<br />

Abbildung 3.1: Marketingkalender im SAP CRM<br />

Neben den bisher verwendeten Technologien werden neue Technologien eingesetzt. Nachdem die<br />

Umfrage gestartet wird und bevor die Ergebnisse mit Hilfe von IMB Cognos und IBM SPSS analysiert<br />

werden können, werden die Daten in ein Oracle Datawarehouse bzw. in den Oracle Warehouse Builder<br />

(OWB) transportiert, denn Oracle ist bei der CEWE das führende System zur Datenhaltung. Der<br />

Transport der Daten findet hierbei über REST statt.<br />

REST ist ein Paradigma der Software-Architektur für Web-Applikationen. Im Gegensatz zum Simple<br />

Object Access Protocol (SOAP) ist es kein Protokoll zur Datenübertragung. REST hat die Zielsetzung,<br />

ein architektonisches Vorbild für die Funktionalität des Webs zu sein. Es soll als Grundlage für die<br />

211


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

St<strong>and</strong>ardisierung von Web-Protokollen dienen. Eine Web-Applikation bzw. ein Webservice, die den<br />

Richtlinien von REST entsprechen, gelten als RESTful.<br />

REST dient der Verständigung zwischen Lokal- und Remote-Server. Anfrage und Bearbeitung von<br />

Web-Ressourcen des Remote-Systems wird dabei lediglich durch st<strong>and</strong>ardisierte HTTP-Methoden<br />

realisiert. Zwischen Remote- und Lokal-Server müssen keine Protokolle genutzt werden (Bayer 2002,<br />

Rodriguez 2008).<br />

Die zu verwendeten HTTP-Methoden sind:<br />

- GET: Erlaubt das Abrufen von bereits existierenden Objekten wie etwa Umfragen oder Umfrageergebnisse<br />

auf dem Remote-Server<br />

- POST: Erlaubt eine Bearbeitung von bereits existierenden Objekten auf dem Remote-Server<br />

- PUT: Erlaubt das Hinzufügen wie etwa Umfragen oder Fragen auf dem Remote-Server<br />

- DELETE: Erlaubt das Löschen von existierenden Objekten auf dem Remote-Server<br />

Die Darstellung der abgerufenen Daten bzw. der existierenden Objekte erfolgt allgemein über die<br />

leicht verständliche Repräsentation durch Extensible Markup Language (XML), kann aber auch in<br />

<strong>and</strong>eren Formaten erfolgen.<br />

Mittels REST werden die Daten dann aus QuestionPro in OWB geladen. OWB wird primär zur Konsolidierung<br />

von heterogenen Daten aus verschiedenen Datenquellen in ein Data Warehouse eingesetzt<br />

und ist als umfassendes Tool zur Datenintegration bekannt. Der Warehouse Builder bietet die Möglichkeit<br />

relationale und mehrdimensionale Modelle zu erstellen. Funktionen wie data profiling (Datenformungsfunktionen),<br />

data cleansing (Datenbereinigungsfunktionen) und data auditing (Datenprüfungsfunktionen)<br />

sind ebenfalls mit OWB einsetzbar. Durch Nutzung dieser Funktionen bietet OWB<br />

eine hohe Datenqualität und ermöglich ein Lifecycle-Management von Daten und Metadaten (vgl.<br />

Oracle 2009).<br />

Die nachfolgende Abbildung zeigt den Data Warehouse Builder und die zu dazu gehörenden Komponenten.<br />

212


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Quelle: Oracle 2009<br />

Abbildung 3.2: OWB Komponenten<br />

Im Folgenden werden die einzelnen Komponenten und ihre Funktionen erläutert.<br />

Auf der Client-Seite der Komponenten zum OWB gibt es das Design Center und den Repository<br />

Browser. Das Design Center ist ein Graphical User Interface (GUI). Diese Benutzeroberfläche wird<br />

zum Import von Quellobjekten, zum Design des Extraction, Transformation, Load (ETL)-Prozesses<br />

z.B. von Mappings, zur Definition des Integrationsprozesses und zum Ansehen und Erstellen von Berichten<br />

verwendet. Ein Mapping im OWB-Kontext bedeutet das Festlegen des Datenflusses von der<br />

Quelle bis zum Ziel in einem Objekt. Basierend auf dem Mapping setzt OWB den ETL-Prozess um. In<br />

dem Mapping wird das Data Warehouse als Ziel definiert. Nachdem das Mapping erfolgt ist, wird ein<br />

Deployment vorgenommen, um das Zielschema/ die Datenbank zu erstellen. Das Deployment beinhaltet<br />

das Kopieren der Metadaten und des Codes in das Zielschema. Die Schnittstelle zwischen dem<br />

Zielschema und dem Design Center bildet der Control Center Manager, welcher mit der Datenbank<br />

(Zielschema) über den Control Center Service kommuniziert. Diese Schnittstelle ist wesentlich, um<br />

die Objekte zu implementieren und den Code auszuführen. Eine weitere GUI, die ebenso verwendet<br />

werden kann wie das Design Center ist der Repository Browser, eine webbasierte GUI. Zu den Komponenten<br />

der Server-Seite gehören das Control Center und die in der Oracle-Datenbank enthaltene<br />

Warehouse Builder Repository sowie das Target Schema. Das Control Center wird als Kommunikationsschnittstelle<br />

zwischen dem Design Center und der Datenbank verwendet. Die Datenbank beinhaltet<br />

den im Design Center generierten Code, Cubes, Dimensionen, Tabellen, Views, Mappings und Pakete<br />

zum Ausführen des ETL-Prozesses. Der Warehouse Builder Repository beinhaltet bestimmte Einstellungen<br />

sowie alle Daten aus dem Control Center (vgl. Oracle 2009).<br />

213


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Folgende Merkmale bietet Oracle mit dem Warehouse Builder in Bezug auf die ETL-Funktionalitäten<br />

an (vgl. Oracle 2009):<br />

- Metadaten-basiertes Tool, erstellt Metadaten über<br />

o Systeme und deren innere Struktur (Tabellen, Views, Prozeduren…)<br />

o ETL-Datenflüsse (Mappings)<br />

- Diverse Quellsysteme und –formate nutzbar<br />

o Sowohl Oracle-Datenbanken als auch Datenbanken von Fremdanbietern<br />

o Trennzeichen-basierte Dateien<br />

o Applikationen wie SAP R/3 und Peoplesoft 8/9<br />

- Export in unterschiedliche Zielformate und -systeme<br />

o Oracle-Datenbanken<br />

o Trennzeichen-basierte Dateien und XML-Dateien<br />

o <strong>Business</strong> <strong>Intelligence</strong> Tools (BI Beans, Discoverer)<br />

o Prozessflusstools und Scheduler (Oracle Workflow)<br />

- Unterstützung von PL/SQL<br />

o Bereitstellung vordefinierter PL/SQL-Transformationen<br />

o Unterstützung und Erstellung individueller PL/SQL-Prozeduren, -Funktionen und -<br />

Packages<br />

- Erstellen von diversen Datenobjekten (Tabellen, Views, Materialized Views, externen Tabellen)<br />

Erstellen von dimensionalen Objekten (Dimensionen, Cubes) Bereitstellung und Steuerung von<br />

Prozessflüssen<br />

- Integration von performancesteigernden Funktionalitäten und Generierung von effizientem<br />

PL/SQL-Code<br />

o Parallele Prozessverarbeitung und mengenbasierter Datenimport (set based)<br />

o Partitionierung und Erstellung von Indizes<br />

o Nutzung des SQL2003-St<strong>and</strong>ards mit neuen Operationen (z. B. Merge-Komm<strong>and</strong>o)<br />

Die mit OWB im ETL Prozess bearbeiteten Daten, welche in einem Oracle Data Warehouse abgelegt<br />

werden, befinden sich in einem Datenschema, welches die Umfragen mit ihren Fragen, den entsprechenden<br />

Antworten und den im Umfragelink mitversendeten Kundenvariablen enthält. Jede Umfrage<br />

entspricht einem bestimmten Umfragetypen, etwa wie eine Sofortumfrage bezogen auf eine Bestellung<br />

oder eine in bestimmten Zeitabständen getätigte Umfrage in einem der von CEWE unterstützten Unternehmen,<br />

wie etwa Saturn oder dem dm drogerie markt. Jede Umfrage enthält verschieden viele<br />

Fragen, die in der Relation Frage abgelegt werden. In dieser Tabelle werden auf Grund der vorangestellten<br />

ID zu jeder Frage, Fragen wiederholt abgelegt. Zu jeder Frage werden Unterabfragen gespeichert.<br />

214


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Als Unterabfrage wird die Auswahl zu einer Frage verst<strong>and</strong>en, z. B. die Frage: „Wie gefallen Ihnen<br />

die folgenden Produkte?“ hat die folgenden Unterabfragen: „a) Fotobuch b) Fotokalender c) Fototasse“.<br />

Jede Antwort auf die Fragen des Fragebogens wird mit der Fragen ID zusammen abgespeichert.<br />

Die Kundenvariablen, wie Kunden ID, Email-Adresse, etc. werden mit jeder Antwort abgespeichert,<br />

sodass eine Antwort eindeutig zu einem Kunden zugeordnet werden kann (siehe Abbildung 3.3). Die<br />

Anonymität wird insofern bewahrt, dass die persönlichen Daten eines Kunden in die Auswertung nicht<br />

mit einbezogen werden.<br />

Abbildung 3.3: Zu realisierendes erweitertes Entity Relationship Modell (ERM)-Schema<br />

Nachdem die Daten im Data Warehouse liegen, werden diese mittels IBM Cognos analysiert und mit<br />

Hilfe des Statistiktools IBM SPSS Modeler auf Basis von Algorithmen Prognosen erstellt. Cognos ist<br />

ein kanadischer Softwareanbieter, welcher von IBM gekauft wurde (vgl. Fournier & Miller 2012).<br />

IBM Cognos bietet unter <strong>and</strong>erem Softwarelösungen für <strong>Business</strong> <strong>Intelligence</strong>, Performance Management<br />

und Unternehmenskonsolidierung an (Cognos 2012). SPSS ist eine amerikanische Softwarefirma,<br />

die Statistik- und Analyse-Software entwickelt und vermarktet. Die Firma wurde von IBM übernommen<br />

(vgl. SPSS Inc. 2009). Der von CEWE eingesetzte IBM SPSS Modeler greift auf die in IBM<br />

Cognos erstellten Cubes zu und analysiert auf Basis dieser die Daten aus QuestionPro.<br />

215


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

3.2 Prozess<br />

Ziel ist es mit dem Projekt eine Optimierung des aktuellen Umfrageprozesses zu erreichen (siehe Anhang<br />

Soll-Prozess). Die manuellen Tätigkeiten, die aktuell Best<strong>and</strong>teil des Prozesses sind, sollen mit<br />

Hilfe der entsprechenden Software unterstützt beziehungsweise auf ein Minimum beschränkt werden.<br />

3.3 Architektur<br />

Seitens der Architektur wird der neue Umfrageprozess in die bestehende Systeml<strong>and</strong>schaft integriert.<br />

Dazu werden die Umfrageergebnisse mittels Webservice in ein neues auf Oracle basierendes Data<br />

Warehouse transportiert. Das Data Warehouse wird von der <strong>Projektgruppe</strong> implementiert. Die dort<br />

gelagerten Daten werden mit IBM Cognos und IBM SPSS Modeler bearbeitet, um entsprechende Analysen<br />

und Prognosen aus den Ergebnissen zu erzeugen.<br />

Das Data Warehouse beinhaltet die Daten aus dem SAP CRM, welche für die Umfragen benötigt werden.<br />

Einige der in dem SAP CRM nachgehaltenen Daten werden bereits bei der Versendung der Umfragen<br />

benötigt und gehen in die per E-Mail versendete URL zur Umfrage ein.<br />

Die daraus resultierende Architektur wird in Abbildung 3.4 dargestellt.<br />

Abbildung 3.4: Angeforderte Verfahrensweise<br />

216


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

3.4 Verfügbarkeit<br />

Der von der <strong>Projektgruppe</strong> definierte neue Prozess ist im Punkt Verfügbarkeit abhängig von der verwendeten<br />

Software. Das Data Warehouse als solches soll, wie auch <strong>and</strong>ere Systeme, zu 99,9% verfügbar<br />

sein, dies entspricht einer Ausfallzeit von max. 15 Stunden im Jahr. Der Prozess ist solange anwendbar,<br />

wie die Systeme und die verantwortlichen Mitarbeiter vorh<strong>and</strong>en sind.<br />

3.5 Voraussetzungen<br />

In dem Projekt müssen bestimmte Voraussetzungen zur Umsetzung bezüglich Software, Hardware<br />

und Daten gegeben sein und beachtet werden. Diese Voraussetzungen werden im Folgenden erläutert.<br />

3.5.1 Software<br />

Seitens der Software müssen die Zugriffe auf die jeweiligen Systeme gegeben sein. Ein Zugriff auf die<br />

Kundendaten im SAP CRM und SAP BW, sowie entsprechende Zugriffe auf IBM Cognos und IBM<br />

SPSS Modeler müssen für das Projektteam seitens CEWE eingerichtet werden. Weiterhin muss es<br />

dem Projektteam ermöglicht werden auf die bisher bestehenden QuestionPro-Daten zuzugreifen, um<br />

mit diesen Arbeiten zu können.<br />

3.5.2 Hardware<br />

Die von CEWE zur Verfügung gestellte Hardware in Form von Laptops und VPN-Token, müssen so<br />

ausgestattet sein, dass die genannte Software auf diesen ausgeführt werden kann. Ist dies nicht möglich,<br />

ist CEWE angehalten <strong>and</strong>ere Lösungen anzubieten.<br />

3.5.3 Daten<br />

Aus QuestionPro werden Daten zu Umfragen über REST exportiert und mittels WSDL in einen<br />

Webservice des OWBs importiert. Bei den Daten h<strong>and</strong>elt es sich um Datumswerte, textuelle und numerische<br />

Werte.<br />

Zurzeit existiert ein Datenvolumen von 100.000 Datensätzen pro Jahr, zukünftig wird mit 250.000<br />

Datensätzen pro Jahr gerechnet. Diese Schätzung beruht auf Erfahrungswerten des Marketingbereiches.<br />

Durch eine Timestamp-Abfrage und eine Prüfung der Question-Identifier werden mögliche Redundanzen<br />

eliminiert und die zu transportierenden Datensätze auf die noch nicht in der Oracle-<br />

Datenbank existierenden limitiert.<br />

Die aus QuestionPro exportierten Daten sind teilweise personalisiert. Die Vorschriften des Datenschutzgesetzes<br />

werden jedoch in der Projektarbeit nicht verletzt, da die personalisierten Daten nicht<br />

für die Auswertungen verwendet sondern lediglich in dem Data Warehouse gelagert werden.<br />

217


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

4. Realisierung<br />

Das Kapitel Realisierung beinhaltet die technische Umsetzung des Projekts. Die Realisierung wird wie<br />

schon im Fachkonzept auf Basis der Arbeitspakete erläutert.<br />

4.1 Arbeitspaket 1: Umfrageerstellung<br />

Das Arbeitspaket 1 umfasst die Umfrageerstellung sowie den Vergleich und die Analyse des Funktionsumfangs<br />

der Tools. Weiterhin ist in dem Arbeitspaket die kalendarische Erfassung von Umfragen<br />

enthalten sowie die Untersuchung für einen Genehmigungs- und Freigabeprozess.<br />

4.1.1 Auswahl des Umfragetools<br />

Die Auswahl des Umfragetools ist der primäre Schritt für den Start des Projektes. Es werden vier Umfragetools<br />

auf Funktionalität und Preis-/ Leistungsverhältnis anh<strong>and</strong> eines Kriterienkatalogs geprüft<br />

und ausführlich analysiert. Der Kriterienkatalog (siehe Anhang Kriterienkatalog) basiert auf Funktionen<br />

die vom Marketingbereich der CEWE als wichtig erachtet werden. Diese Funktionen werden nach<br />

Notwendigkeit gewichtet und anschließend bewertet. Die Untersuchungsergebnisse werden in einem<br />

Dokument (Machbarkeitsanalyse) festgehalten und dem Auftraggeber vorgestellt. Gemeinsam mit<br />

CEWE wird ein Umfragetool ausgewählt.<br />

4.1.2 Erfassung von Umfragen im CRM<br />

Die Aufgabe der <strong>Projektgruppe</strong> sieht es vor, ein Vorgehen für das Einpflegen von Surveys als Kampagnenelemente<br />

in den Marketingkalender zu erarbeiten. Dazu sind folgende Anforderungen zu erfüllen:<br />

- Die bestehende Hierarchie (Marketingplan Marketingplanelement Kampagne Kampagnenelement)<br />

muss beibehalten werden.<br />

- Eine übersichtliche Darstellung aller Umfragen muss ermöglicht werden.<br />

- Es ist notwendig, dass die Umfragen in irgendeiner Weise an die Kampagnenelemente (Umfrage<br />

oder Umfragen-Kampagne) angehängt werden, sodass Leser die Umfrage einsehen können<br />

und Bearbeiter die Möglichkeit haben, Änderungen direkt an der Umfrage vorzunehmen.<br />

Unter Einbehaltung der bereits erwähnten Hierarchieordnung ist es möglich, die Umfragen als Kampagne<br />

unter bereits vorh<strong>and</strong>enen Marketingplanelementen einzufügen (z.B. könnte eine Umfrage im<br />

Auftrag des H<strong>and</strong>elspartners dm dem Marketingplanelement KA – dm untergeordnet werden). Es ist<br />

weiterhin möglich unter dieser Kampagne die auszuführende Umfrage als Kampagnenelement einzutragen.<br />

An das Kampagnenelement können darüber hinaus Anhänge in Form von physisch vorh<strong>and</strong>enen Dateien<br />

bzw. URLs hinterlegt werden.<br />

218


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Die Umfrage kann somit sowohl für Leser (als PDF-Datei) als auch für Bearbeiter (mittels Direktlink<br />

und einer eindeutigen ID) zur Verfügung gestellt werden.<br />

Damit ein Benutzer mit Leserechten die Möglichkeit hat innerhalb der Kampagnenelemente die Umfragen<br />

einzusehen, wird diese als PDF-Dokument hochgeladen. Somit ist eine reine Lesefunktion gewährleistet.<br />

Um dies zu ermöglichen muss die jeweilige Umfrage als PDF exportiert werden. QuestionPro<br />

bietet dafür einen unkomplizierten Weg an, in dem die jeweilige Umfrage geöffnet und per<br />

Export-Funktion als Adobe PDF-Dokument lokal abgespeichert wird (siehe Abbildung 4.1).<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 4.1: Export-Funktion in QuestionPro<br />

Die lokal abgespeicherte Version der Umfrage kann als Anhang für das Kampagnenelement hochgeladen<br />

werden (siehe Abbildung 4.2).<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 4.2: Umfrage als PDF-Dokument für ein Kampagnenelement hochladen<br />

Weiterhin kann das PDF-Dokument mit einem Klick auf den zugewiesenen Namen im Browser (notwendige<br />

Adobe PDF Reader-Plug-Ins vorausgesetzt) eingesehen werden (siehe Abbildung 4.3).<br />

219


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 4.3: Angehängtes PDF-Dokument<br />

Um Benutzern mit den notwendigen Rechten (Zugangsdaten zu QuestionPro) einen komfortablen Weg<br />

zur Bearbeitung der Umfrage zu gewährleisten, kann als Anhang neben dem PDF-Dokument auch die<br />

URL zur direkten Bearbeitung der Umfrage hinterlegt werden.<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 4.4: Umfrage als URL für ein Kampagnenelement hinterlegen<br />

Dazu ist es notwendig, dass die URL zum Bearbeiten der Umfrage und nicht der Link zum Ausfüllen<br />

der Umfrage hinterlegt wird. Es ist somit erforderlich , die Umfrage im QuestionPro-Account aufzurufen<br />

und die URL aus der Adresszeile des Browsers zu kopieren. Die korrekte URL wird anh<strong>and</strong><br />

der jeweiligen ID am Ende des Links erkannt (siehe Abbildung 4.5).<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 4.5: Direkter Link zum Bearbeiten der Umfrage, mit ID<br />

Sobald die URL als Anhang hinterlegt wurde, kann sie mit einem Klick auf den Namen aufgerufen<br />

werden.<br />

220


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 4.6: Angehängte URL<br />

Falls die URL mit der korrekten ID hinterlegt wurde und eine Anmeldung bei QuestionPro vorgenommen<br />

wurde, wird die jeweilige Umfrage direkt per Klick geöffnet und kann bearbeitet werden.<br />

4.1.3 Genehmigungs- und Freigabeprozess<br />

Auf Grund der Projektumsetzung ohne SAP Technologien wird der Genehmigungs- und Freigabeprozess<br />

der Umfragen von dem Projekt nicht beeinflusst. Diese Arbeitsabläufe werden daher nicht im<br />

Laufe des Projektes angepasst sondern bleiben wie sie sind.<br />

4.2 Arbeitspaket 2: Ergebnisdatenlagerung<br />

Für die Ergebnisdatenlagerung werden die bereits vorh<strong>and</strong>enen bzw. historischen Daten aus Question-<br />

Pro mit Hilfe des Webservice REST in die CEWE Welt transportiert. Die Daten werden dabei nicht in<br />

OWB gehalten und bearbeitet, Grund hierfür ist, dass die Realisierung einer Webservice Anbindung<br />

mit REST und OWB nicht möglich. Die Daten werden daher mittels eines Java-Programmes und<br />

REST aus QuestionPro gelesen und anschließend mit SQL-Statements in dem Java-Quellcode in die<br />

Oracle-Datenbank geschrieben.<br />

Abbildung 4.7: Datenwege<br />

Der Quellcode besteht aus zwei Klassen: OracleDB.java und QPApi.java. Erstere beinhaltet die Verbindung<br />

zur Datenbank und Methoden zum Schreiben der Daten in die jeweiligen Tabellen. Die QPApi.java<br />

ist ein Beispielcode von QuestionPro, womit die Daten aus der REST-Schnittstelle abgerufen<br />

werden können. Die Klasse wurde angepasst und um eine weitere Methode ergänzt, die für das Herausladen<br />

der Daten und das direkte Schreiben in die Datenbank notwendig ist (siehe Abbildung 4.8).<br />

221


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Abbildung 4.8: Klassendiagramm<br />

Die OracleDB.java beinhaltet mehrere Methoden, die im Folgenden näher beschrieben werden:<br />

- selektiereTabelle<br />

Diese Methode wird einen SELECT-Befehl auf die Datenbank ausführen.<br />

- aktualisiereTabelle<br />

Mit Hilfe dieser Methode wird es möglich sein Werte einer Tabelle zu aktualisieren.<br />

- pruefeWert<br />

Wird eine Boolean-Funktion sein, die überprüft, ob der jeweilige Wert in der Tabelle vorh<strong>and</strong>en<br />

ist oder nicht.<br />

Die Methoden schreibeInUmfrage, schreibeInFrage, schreibeInAntwortStammdaten, schreibeInAntwort,<br />

schreibeInCvar und schreibeInUmfrageFrage übergeben Parameter in die dafür vorgesehenen<br />

Tabellen der Oracle-Datenbank.<br />

Die Klasse GeneriereDatum.java soll dazu dienen, immer das aktuelle Datum und ein Datum, was<br />

einen Tag in der Vergangenheit liegt zu erhalten. Soll vor allem dem Abruf der Daten dienen und ist<br />

für Timestamps geeignet.<br />

222


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Die QuestionPro Daten sind bei CEWE in dem folgenden Datenbankschema enthalten.<br />

Abbildung 4.9: ERM Schema<br />

Das Datenschema wird wie vorher gedacht umgesetzt jedoch ohne eine separate Relation für die Unterfragen.<br />

In das zu realisierende Modell werden außerdem die Ergebnissätze aufgenommen, welche<br />

von QuestionPro mitgeliefert werden und für Analysen interessant sein könnten. Weiterhin werden zur<br />

Umsetzung des fünften Arbeitspakets Relationen zur Kategorisierung der Fragen aufgenommen.<br />

Das Verfahren wird zunächst mit historischen, in QuestionPro vorh<strong>and</strong>enen Daten getestet und anschließend<br />

mit neuen Umfragedaten durchgeführt, um so einer Beschädigung aktueller beziehungsweise<br />

neuer Daten zuvorzukommen.<br />

4.3 Arbeitspaket 3: Berichtswesen<br />

Mit IBM Cognos Framework Manager werden die Cubes für die späteren Berichte und mit IBM SPSS<br />

durchzuführenden Analysen erstellt. Die für die Cubes relevanten Dimensionen müssen hierfür zunächst<br />

definiert werden. CEWE verfügt bereits über einige vorgefertigte Dimensionen, die für den aus<br />

den QuestionPro-Daten generierten Cube verwendet werden können.<br />

Die vorh<strong>and</strong>enen Dimensionen sind:<br />

223


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

- Produkt (CEWE Produkte wie Fotobuch, Kalender, etc.)<br />

- H<strong>and</strong>elspartner (H<strong>and</strong>elspartner wie Saturn, dm, etc.)<br />

- Konsumentenklassifikation (Einstufung der Kunden in Gold, Silber, Bronze etc.)<br />

- Zeit<br />

Neben diesen Dimensionen müssen weitere Dimension für z.B. Fragen und Antworten erstellt werden,<br />

damit die entsprechenden Daten-Cubes für Berichte und Analysen verwendet werden können. Mit<br />

IBM Cognos wird ein Bericht erstellt, der entsprechend gefiltert werden kann. Die Berichte umfassen<br />

neben den genannten Kennzahlen auch die Ad-hoc Analysen der Fragen in den jeweiligen Umfragen.<br />

Die einzelnen Fragen werden hierbei separat ausgewertet.<br />

Zu einer Auswertung gehören einerseits die Darstellung der einzelnen Fragen und <strong>and</strong>ererseits die<br />

dazugehörigen Antwortmöglichkeiten. Die Antwortmöglichkeiten werden mit der Anzahl der gegebenen<br />

Antworten sowohl prozentual als auch statisch angezeigt.<br />

224


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Abbildung 4.10: Vorlage der Berichte<br />

225


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Die folgende Tabelle (Tabelle 4.1) sagt aus, wie die Kennzahlen berechnet werden und welche Variablen<br />

aus QuestionPro für die Berechnung benötigt werden.<br />

Bezeichnung Beschreibung Herkunft Berechnung Wert BSP<br />

Viewed<br />

Started<br />

Completed<br />

Send-Rate<br />

Open-Rate<br />

Click-Through-<br />

Rate<br />

Completion-Rate<br />

Average-<br />

Cancelled-Rate<br />

226<br />

Anzahl geöffneter Umfragen<br />

QuestionPro<br />

Anzahl gestarteter Umfragen<br />

QuestionPro<br />

Anzahl abgeschlossener<br />

QuestionPro<br />

Umfragen<br />

Anzahl der gesendeten<br />

SAP CRM<br />

Umfragen<br />

Anteil geöffneter Umfragen<br />

(L<strong>and</strong>ing-Page IBM Cognos<br />

gesehen)<br />

Anteil gestarteter Umfragen<br />

IBM Cognos<br />

Anteil abgeschlossener<br />

IBM Cognos<br />

Umfragen<br />

Durchschnitt abgebrochener<br />

IBM Cognos<br />

Umfragen<br />

Tabelle 4.1: Kennzahlen<br />

keine<br />

keine<br />

keine<br />

keine<br />

(Viewed / Send-<br />

%<br />

Rate)<br />

(Started / Open-<br />

%<br />

Rate)<br />

Completed /<br />

%<br />

Open-Rate<br />

1-(Completed /<br />

%<br />

Open-Rate)<br />

Absolute<br />

Zahl<br />

Absolute<br />

Zahl<br />

Absolute<br />

Zahl<br />

Absolute<br />

Zahl<br />

2.000<br />

1.700<br />

1.500<br />

10.000<br />

2.000/<br />

10.000 =<br />

20%<br />

1.700/<br />

2.000 =<br />

85%<br />

1.500 /<br />

2.000 =<br />

75%<br />

1 – (1.500 /<br />

2.000) =<br />

25%<br />

Auf Grund der Priorisierung des 5. Arbeitspaketes von CEWE wurde die Arbeit am Berichtswesen<br />

eingestellt. Die Arbeiten im Framework-Manager werden weitestgehend fertiggestellt, einige kleiner<br />

Anpassungen oder Korrekturen müssten jedoch vorgenommen werden. Ein Bericht wird ebenfalls<br />

provisorisch angelegt, dieser befindet sich noch in der Rohfassung und müsste ebenfalls bearbeitet<br />

werden. Die weiterführenden Änderungen werden nach Ablauf der <strong>Projektgruppe</strong>nzeit von CEWE<br />

übernommen.<br />

4.4 Arbeitspaket 4: Prognose<br />

Der von CEWE eingesetzte IBM SPSS Modeler greift auf die in IBM Cognos erstellten Cubes zu und<br />

analysiert auf Basis dieser die Daten aus QuestionPro. Die in IBM SPSS zu entwickelnden Streams<br />

werden von der Fachabteilung der CEWE erstellt.<br />

Die für Analysen mit IBM SPSS Modeler verantwortlichen Mitarbeiter erarbeiten hierbei ohne die<br />

<strong>Projektgruppe</strong> die Anforderungen und setzen diese mit IBM SPSS Modeler um.<br />

Die folgende Tabelle 4.2 beschreibt die geforderten Scores, die aus den Analysen mit IBM SPSS Modeler<br />

ermittelt werden sollen.


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Bezeichnung<br />

Prognostizierte Antwort<br />

Prognostizierter Rücklauf<br />

Umfrageaffinität<br />

Umfragezeitpunkt<br />

Beschreibung<br />

Erwarteter Antwortbereich auf Erfahrungsbasis<br />

Anteil erwarteter, vollständig ausgefüllter und somit verwertbarer Fragebögen<br />

Bereitschaft des Adressaten die Umfrage abzuschließen<br />

Wie lange liegt die vorige Umfrage zurück, wann kann dem Konsument<br />

wieder eine Umfrage zugesendet werden?<br />

Tabelle 4.2: Scores<br />

4.5 Arbeitspaket 5: Fragenpoolgenerierung<br />

Arbeitspaket fünf beinhaltet die Fragenpoolgenerierung, hierbei wird ein Interface entwickelt mit dessen<br />

Hilfe Fragen in die Datenbank geschrieben und im Zuge dessen kategorisiert werden können. Fehler!<br />

Verweisquelle konnte nicht gefunden werden. zeigt einen ersten Entwurf, wie das Interface<br />

aussehen soll. Das Interface wird mit ExpressionWeb 4.0 in ASP.NET umgesetzt, welches mit der<br />

Datenbank über das in Arbeitspaket 2 erwähnte Java Programm kommuniziert. Mittels Qracle SQL<br />

werden die Daten aus der Datenbank im Interface angezeigt und vom Interface in die Datenbank hineingeschrieben.<br />

Die Kategorisierung der Fragen wird dabei mit Hilfe von Drop-Down-Feldern zu jeder einzelnen Frage<br />

einer Umfrage vorgenommen. Die Kategorisierung ist deshalb wichtig, weil ohne das versehen von<br />

Fragen mit Attributen eine umfrageübergreifende Analyse oder Berichterstattung nicht möglich bzw.<br />

nur über Text-Mining möglich ist. Text-Mining wird bei CEWE aktuell jedoch nicht eingesetzt, daher<br />

wird eine Kategorisierung der Fragen vorzunehmen.<br />

Das Interface liefert weiterhin eine Übersicht über die bestehenden Fragen und Kategorien und steuert<br />

das Schreiben von Fragen aus QuestionPro in die Datenbank mit dem Eintrag der UmfrageID im Interface<br />

(Abbildung 4.11).<br />

Abbildung 4.11: Tab01: Umfrage erstellen<br />

227


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Abbildung 4.12: Tab02: Fragen kategorisieren<br />

Abbildung 4.13: Tab03: Kategorien erstellen<br />

Abbildung 4.14: Tab04: Anzeige kategorisierter Fragen<br />

Abbildung 4.15: Tab05: Anzeige hierarchisierter Kategorien<br />

228


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

5. Literaturverzeichnis<br />

Bayer, T. (2002): REST Web Services (PDF). URL: http://www.oio.de/public/xml/restwebservices.htm,<br />

(Zugriff am: 14.11.2012).<br />

Cognos (2012) Why Cognos software?. URL: http://www-01.ibm.com/software/analytics/cognos/,<br />

(Zugriff am: 07.11.2012).<br />

Fournier, C. & Miller, M. A. (2012): IBM to Buy Cognos for $4.9 Billion to Gain Software (Update6).<br />

URL: http://www.bloomberg.com/apps/news?pid=newsarchive&sid=aTUvC2z6S8MY, (Zugriff am:<br />

07.11.2012).<br />

Oracle (2009): Oracle® Warehouse Builder - User's Guide 11g Release 1 (11.1). URL:<br />

http://docs.oracle.com/cd/B31080_01/doc/owb.102/b28223.pdf, (Zugriff am: 12.11.2012)<br />

QuestionPro (2012): About Us. URL: http://www.questionpro.com/info/aboutUs.html, (Zugriff am:<br />

05.11.2012).<br />

Rodriguez, A. (2008): RESTful Web services: The basics. URL:<br />

http://www.ibm.com/developerworks/webservices/library/ws-restful/, (Zugriff am: 14.11.2012)<br />

SPSS Inc. (2009): About SPSS Inc. URL: http://www.spss.com.hk/corpinfo/history.htm, (Zugriff am:<br />

07.11.2012).<br />

SurveyMonkey (2012): About Us. URL: http://de.surveymonkey.com/mp/aboutus/directors/, (Zugriff<br />

am: 05.11.2012).<br />

229


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

Anhang<br />

A. Ist-Prozess<br />

230


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Abbildung A.1: Grafik Ist-Prozess<br />

231


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

B. Soll-Prozess<br />

232


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

233


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

234


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

Abbildung B.1: Grafik Soll-Prozess<br />

235


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV Konzept<br />

C. Kriterienkatalog<br />

Quelle: Screenshot Machbarkeitsanalyse<br />

Abbildung C.1: Machbarkeitsanalyse<br />

Quelle: Screenshot Machbarkeitsanalyse<br />

Abbildung C.2: Ergebnis Machbarkeitsanalyse<br />

236


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – DV-Konzept<br />

D. ER-Modell<br />

Abbildung D.1: Erstes ER-Model<br />

E. Star-Schema<br />

Abbildung E.1: Erstes Star-Schema<br />

237


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

238


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: CEWE<br />

Machbarkeitsanalyse<br />

239


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

240


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Inhaltsverzeichnis CEWE Machbarkeitsanalyse<br />

Abbildungsverzeichnis ........................................................................................................... 245<br />

Abkürzungsverzeichnis .......................................................................................................... 247<br />

1. Kriterienkatalog ............................................................................................................... 248<br />

2. Survey Tool ..................................................................................................................... 250<br />

2.1 Design ......................................................................................................................... 250<br />

2.1.1 Buttons an CI anpassbar .................................................................................. 250<br />

2.1.2 Farben an CI anpassbar .................................................................................... 250<br />

2.1.3 Benutzerdefiniertes Layout.............................................................................. 250<br />

2.2 Fragenarten ................................................................................................................. 250<br />

2.2.1 Fragenart: Einfach-Nennung ........................................................................... 251<br />

2.2.1.1 Entscheidungsfrage ..................................................................................... 251<br />

2.2.1.2 Skalafrage .................................................................................................... 252<br />

2.2.1.3 Multiple-Choice: Choose ............................................................................ 252<br />

2.2.1.4 Tabelle ......................................................................................................... 252<br />

2.2.1.5 Offene Fragen .............................................................................................. 253<br />

2.2.2 Fragenart: Mehrfach-Nennung ........................................................................ 254<br />

2.2.2.1 Multiple-Choice: Check .............................................................................. 254<br />

2.2.2.2 Spreadsheet .................................................................................................. 254<br />

2.2.3 Umfrage-Templates ......................................................................................... 255<br />

2.2.4 Rating von Fragen ........................................................................................... 255<br />

2.3 Umfragefunktionen..................................................................................................... 256<br />

2.3.1 Willkommenstext............................................................................................. 256<br />

2.3.2 Branching/ Skip Logic ..................................................................................... 256<br />

2.3.3 Show/ Hide ...................................................................................................... 256<br />

2.3.4 Finish Options.................................................................................................. 257<br />

2.3.5 Pagebreak ......................................................................................................... 257<br />

2.3.6 Einbinden von Bildern als Antwortmöglichkeit .............................................. 257<br />

2.3.7 Alerting bei Kontaktanfrage ............................................................................ 257<br />

2.4 Organisatorisches ....................................................................................................... 258<br />

2.4.1 Strukturierte Anzeige von Umfragen .............................................................. 258<br />

2.4.2 Interne Variablen ............................................................................................. 258<br />

2.4.2.1 Vier frei nutzbare Variablen ........................................................................ 258<br />

2.4.2.2 Mehr als vier frei nutzbare Variablen ......................................................... 258<br />

2.4.3 Datenexport ..................................................................................................... 258<br />

2.4.4 Automatischer Datenexport ............................................................................. 259<br />

2.4.5 Automatische Auswertung .............................................................................. 259<br />

2.5 Administratives........................................................................................................... 259<br />

2.5.1 Status der Umfrage änderbar ........................................................................... 259<br />

2.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar ....................................... 259<br />

2.5.3 Generierung eines Links für Newsletter-/ Web-Umfragen ............................. 259<br />

2.5.4 Net Promoter Score Umsetzbar ....................................................................... 260<br />

2.6 Sonstiges ..................................................................................................................... 260<br />

2.6.1 Erweiterbarkeit durch Apps ............................................................................. 260<br />

2.6.2 Mobiler Zugang ............................................................................................... 260<br />

2.6.3 Support............................................................................................................. 260<br />

2.6.4 Dynamische Inhalte/ Möglichkeiten ................................................................ 260<br />

2.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel ........................................................... 261<br />

241


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3. QuestionPro ..................................................................................................................... 261<br />

3.1 Design ......................................................................................................................... 261<br />

3.1.1 Buttons an CI anpassbar .................................................................................. 261<br />

3.1.2 Farben an CI anpassbar .................................................................................... 261<br />

3.1.3 Benutzerdefiniertes Layout.............................................................................. 262<br />

3.2 Fragenarten ................................................................................................................. 262<br />

3.2.1 Fragenart: Einfach-Nennung ........................................................................... 263<br />

3.2.1.1 Entscheidungsfrage ..................................................................................... 263<br />

3.2.1.2 Skalafrage .................................................................................................... 263<br />

3.2.1.3 Multiple Choice: Choose ............................................................................. 264<br />

3.2.1.4 Tabelle ......................................................................................................... 264<br />

3.2.1.5 Offene Fragen .............................................................................................. 265<br />

3.2.2 Fragenart: Mehrfach-Nennung ........................................................................ 266<br />

3.2.2.1 Multiple Choice: Check .............................................................................. 266<br />

3.2.2.2 Spreadsheet .................................................................................................. 266<br />

3.2.3 Umfrage-Templates ......................................................................................... 267<br />

3.2.4 Rating von Fragen ........................................................................................... 267<br />

3.3 Umfragefunktionen..................................................................................................... 267<br />

3.3.1 Willkommenstext............................................................................................. 267<br />

3.3.2 Branching/ Skip Logic ..................................................................................... 268<br />

3.3.3 Show/ Hide ...................................................................................................... 268<br />

3.3.4 Finish Options.................................................................................................. 269<br />

3.3.5 Pagebreak ......................................................................................................... 269<br />

3.3.6 Einbinden von Bildern als Antwortmöglichkeit .............................................. 269<br />

3.3.7 Alerting bei Kontaktanfrage ............................................................................ 270<br />

3.4 Organisatorisches ....................................................................................................... 271<br />

3.4.1 Strukturierte Anzeige von Umfragen .............................................................. 271<br />

3.4.2 Interne Variablen ............................................................................................. 271<br />

3.4.2.1 Vier frei nutzbare Variablen ........................................................................ 271<br />

3.4.2.2 Mehr als vier nutzbare Variablen ................................................................ 271<br />

3.4.3 Datenexport ..................................................................................................... 272<br />

3.4.4 Automatischer Datenexport ............................................................................. 272<br />

3.4.5 Automatische Auswertung .............................................................................. 272<br />

3.5 Administratives........................................................................................................... 273<br />

3.5.1 Status der Umfrage änderbar ........................................................................... 273<br />

3.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar ....................................... 273<br />

3.5.3 Generierung eines Links für Newsletter-/ Web-Umfragen ............................. 273<br />

3.5.4 Net Promoter Score umsetzbar ........................................................................ 274<br />

3.6 Sonstiges ..................................................................................................................... 274<br />

3.6.1 Erweiterbarkeit durch Apps ............................................................................. 274<br />

3.6.2 Mobiler Zugang ............................................................................................... 274<br />

3.6.3 Support............................................................................................................. 274<br />

3.6.4 Dynamische Inhalte/ Möglichkeiten ................................................................ 275<br />

3.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel ........................................................... 275<br />

4. SurveyMonkey ................................................................................................................. 275<br />

4.1 Design ......................................................................................................................... 275<br />

4.1.1 Buttons an CI anpassbar .................................................................................. 275<br />

4.1.2 Farben an CI anpassbar .................................................................................... 275<br />

4.1.3 Benutzerdefiniertes Layout.............................................................................. 276<br />

4.2 Fragenarten ................................................................................................................. 276<br />

4.2.1 Fragenart: Einfachnennung .............................................................................. 277<br />

242


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

4.2.1.1 Entscheidungsfrage ..................................................................................... 277<br />

4.2.1.2 Skalafrage (hart/ weich) .............................................................................. 277<br />

4.2.1.3 Multiple Choice: Choose (eine Antwort) .................................................... 278<br />

4.2.1.4 Tabelle ......................................................................................................... 278<br />

4.2.1.5 Offene Fragen .............................................................................................. 278<br />

4.2.2 Fragenart: Mehrfach-Nennung ........................................................................ 280<br />

4.2.2.1 Multiple Choice: Check (mehrere Antworten) ............................................ 280<br />

4.2.2.2 Spreadsheet .................................................................................................. 280<br />

4.2.3 Umfrage-Templates ......................................................................................... 280<br />

4.2.4 Rating von Fragen ........................................................................................... 281<br />

4.3 Umfragefunktionen..................................................................................................... 281<br />

4.3.1 Willkommenstext............................................................................................. 281<br />

4.3.2 Branching/ Skip Logic ..................................................................................... 282<br />

4.3.3 Show/ Hide ...................................................................................................... 282<br />

4.3.4 Finish Options.................................................................................................. 282<br />

4.3.5 Pagebreak ......................................................................................................... 283<br />

4.3.6 Einbinden von Bildern als Antwortmöglichkeit .............................................. 283<br />

4.3.7 Alerting bei Kontaktanfrage ............................................................................ 283<br />

4.4 Organisatorisches ....................................................................................................... 284<br />

4.4.1 Strukturierte Anzeige von Umfragen .............................................................. 284<br />

4.4.2 Interne Variablen ............................................................................................. 284<br />

4.4.2.1 Vier frei nutzbare Variablen ........................................................................ 284<br />

4.4.2.2 Mehr als vier nutzbare Variablen ................................................................ 284<br />

4.4.3 Datenexport ..................................................................................................... 284<br />

4.4.4 Automatischer Datenexport ............................................................................. 284<br />

4.4.5 Automatische Auswertung .............................................................................. 284<br />

4.5 Administratives........................................................................................................... 285<br />

4.5.1 Status der Umfrage änderbar ........................................................................... 285<br />

4.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar ....................................... 285<br />

4.5.3 Generierung eines Links für Newsletter-/ Web-Umfrage ............................... 285<br />

4.5.4 Net Promoter Score umsetzbar ........................................................................ 285<br />

4.6 Sonstiges ..................................................................................................................... 285<br />

4.6.1 Erweiterbarkeit durch Apps ............................................................................. 285<br />

4.6.2 Mobiler Zugang ............................................................................................... 286<br />

4.6.3 Support............................................................................................................. 286<br />

4.6.4 Dynamische Inhalte/ Möglichkeiten ................................................................ 286<br />

4.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel ........................................................... 286<br />

5. SurveyGizmo ................................................................................................................... 287<br />

5.1 Design ......................................................................................................................... 287<br />

5.1.1 Buttons an CI anpassbar .................................................................................. 287<br />

5.1.2 Farben an CI anpassbar .................................................................................... 287<br />

5.1.3 Benutzerdefiniertes Layout.............................................................................. 288<br />

5.2 Fragenarten ................................................................................................................. 289<br />

5.2.1 Fragenart: Einfach-Nennung ........................................................................... 290<br />

5.2.1.1 Entscheidungsfrage ..................................................................................... 290<br />

5.2.1.2 Skalafrage .................................................................................................... 290<br />

5.2.1.3 Multiple-Choice: Choose ............................................................................ 291<br />

5.2.1.4 Tabelle ......................................................................................................... 291<br />

5.2.1.5 Offene Fragen .............................................................................................. 292<br />

5.2.2 Fragenart: Mehrfach-Nennung ........................................................................ 292<br />

5.2.2.1 Multiple-Choice: Check (mehrere Antworten) ........................................... 292<br />

243


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

5.2.2.2 Spreadsheet .................................................................................................. 292<br />

5.2.3 Umfrage-Templates ......................................................................................... 293<br />

5.2.4 Rating von Fragen ........................................................................................... 293<br />

5.3 Umfragefunktionen..................................................................................................... 293<br />

5.3.1 Willkommenstext............................................................................................. 293<br />

5.3.2 Branching/ Skip Logic ..................................................................................... 294<br />

5.3.3 Show/ Hide ...................................................................................................... 294<br />

5.3.4 Finish Options.................................................................................................. 295<br />

5.3.5 Pagebreak ......................................................................................................... 295<br />

5.3.6 Einbinden von Bildern als Antwortmöglichkeit .............................................. 296<br />

5.3.7 Alerting bei Kontaktanfrage ............................................................................ 296<br />

5.4 Organisatorisches ....................................................................................................... 297<br />

5.4.1 Strukturierte Anzeige von Umfragen .............................................................. 297<br />

5.4.2 Interne Variablen ............................................................................................. 297<br />

5.4.2.1 Vier Frei Nutzbare Variablen ...................................................................... 297<br />

5.4.2.2 Mehr als Vier Frei Nutzbare Variablen ....................................................... 297<br />

5.4.3 DatenExport ..................................................................................................... 297<br />

5.4.4 Automatischer DatenExport ............................................................................ 298<br />

5.4.5 Automatische Auswertung .............................................................................. 298<br />

5.5 Administratives........................................................................................................... 299<br />

5.5.1 Status der Umfrage änderbar ........................................................................... 299<br />

5.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar ....................................... 300<br />

5.5.3 Generierung eines links für Newsletter- / Web-Umfragen .............................. 300<br />

5.5.4 Net Promoter Score Umsetzbar ....................................................................... 300<br />

5.6 Sonstiges ..................................................................................................................... 301<br />

5.6.1 Erweiterbarkeit durch apps .............................................................................. 301<br />

5.6.2 Mobiler Zugang ............................................................................................... 301<br />

5.6.3 Support............................................................................................................. 301<br />

5.6.4 Dynamische Inhalte/ Möglichkeiten ................................................................ 302<br />

5.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel ........................................................... 302<br />

6. Ergebnis ........................................................................................................................... 303<br />

Anhang ................................................................................................................................... 304<br />

A. Supportanfrage SurveyMonkey 10.Oktober 2012 ........................................................... 304<br />

244


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Abbildungsverzeichnis<br />

Abbildung 1.1: Kriterienkatalog ............................................................................................ 248<br />

Abbildung 1.2: Legende ......................................................................................................... 249<br />

Abbildung 1.3: Ergebnis ........................................................................................................ 249<br />

Abbildung 2.1: Fragetext ........................................................................................................ 250<br />

Abbildung 2.2: Antworttext ................................................................................................... 251<br />

Abbildung 2.3: Antwortoptionen ........................................................................................... 251<br />

Abbildung 2.4: Entscheidungsfrage ....................................................................................... 251<br />

Abbildung 2.5: Auswahl des Layouts .................................................................................... 252<br />

Abbildung 2.6: Skalafrage ...................................................................................................... 252<br />

Abbildung 2.7: Multiple Choice mit einer Antwort ............................................................... 252<br />

Abbildung 2.8: Tabellen-Frage .............................................................................................. 253<br />

Abbildung 2.9: Hinzufügen einer offenen Frage ................................................................... 253<br />

Abbildung 2.10: Offene Frage ............................................................................................... 254<br />

Abbildung 2.11: Multiple Choice mit mehreren Antworten .................................................. 254<br />

Abbildung 2.12: Spreadsheet ................................................................................................. 254<br />

Abbildung 2.13: Umfrage-Templates .................................................................................... 255<br />

Abbildung 2.14: Rating von Fragen ....................................................................................... 255<br />

Abbildung 2.15: Rating von Antworten ................................................................................. 256<br />

Abbildung 2.16: Willkommenstext ........................................................................................ 256<br />

Abbildung 2.17: Finish Options ............................................................................................. 257<br />

Abbildung 2.18: Anzeige von Umfragen ............................................................................... 258<br />

Abbildung 2.19: Statusänderung ............................................................................................ 259<br />

Abbildung 2.20: Linkgenerierung .......................................................................................... 260<br />

Abbildung 3.1: Anpassungen zu einer Umfrage .................................................................... 262<br />

Abbildung 3.2: Hinzufügen einer Frage ................................................................................. 263<br />

Abbildung 3.3: Entscheidungsfrage ....................................................................................... 263<br />

Abbildung 3.4: Bewertung ..................................................................................................... 264<br />

Abbildung 3.5: Kundenzufriedenheit ..................................................................................... 264<br />

Abbildung 3.6: Multiple Choice mit einer Antwort ............................................................... 264<br />

Abbildung 3.7: Tabellen-Frage .............................................................................................. 265<br />

Abbildung 3.8: Offene Fragen ............................................................................................... 265<br />

Abbildung 3.9: Freitextfläche ................................................................................................ 265<br />

Abbildung 3.10: Multiple Choice mit mehreren Antworten .................................................. 266<br />

Abbildung 3.11: Spreadsheet ................................................................................................. 266<br />

Abbildung 3.12: Side-by-Side-Matrix.................................................................................... 266<br />

Abbildung 3.13: Umfrage-Templates .................................................................................... 267<br />

Abbildung 3.14: Willkommenstext ........................................................................................ 267<br />

Abbildung 3.15: Branching/ Skip Logic ................................................................................ 268<br />

Abbildung 3.16: Show/ Hide .................................................................................................. 268<br />

Abbildung 3.17: Finish Options ............................................................................................. 269<br />

Abbildung 3.18: Pagebreak .................................................................................................... 269<br />

Abbildung 3.19: Datei hochladen ........................................................................................... 270<br />

Abbildung 3.20: Dateien als Antwortmöglichkeit ................................................................. 270<br />

Abbildung 3.21: Kontaktanfrage ............................................................................................ 270<br />

Abbildung 3.22: Alarmierungseinstellungen ......................................................................... 270<br />

Abbildung 3.23: Umfrageübersicht ........................................................................................ 271<br />

Abbildung 3.24: Automatische Auswertung .......................................................................... 272<br />

Abbildung 3.25: Statusänderung ............................................................................................ 273<br />

Abbildung 3.26: Linkgenerierung .......................................................................................... 273<br />

245


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Abbildung 3.27: App-Erweiterung ......................................................................................... 274<br />

Abbildung 4.1: Buttonanpassbarkeit ...................................................................................... 275<br />

Abbildung 4.2: Farbenanpassbarkeit ...................................................................................... 276<br />

Abbildung 4.3: Layout-Anpassbarkeit ................................................................................... 276<br />

Abbildung 4.4: Fragentypen ................................................................................................... 277<br />

Abbildung 4.5: Fragentext ...................................................................................................... 277<br />

Abbildung 4.6: Entscheidungsfrage ....................................................................................... 277<br />

Abbildung 4.7: Skalafrage ...................................................................................................... 278<br />

Abbildung 4.8: Multiple Choice mit einer Antwort ............................................................... 278<br />

Abbildung 4.9: Tabellen-Frage .............................................................................................. 278<br />

Abbildung 4.10: Offene Fragen ............................................................................................. 279<br />

Abbildung 4.11: Einstellungen zu offenen Fragen ................................................................. 279<br />

Abbildung 4.12: Freitext in verschiedenen Fragetypen ......................................................... 279<br />

Abbildung 4.13: Multiple Choice mit mehreren Antworten .................................................. 280<br />

Abbildung 4.14: Spreadsheet ................................................................................................. 280<br />

Abbildung 4.15: Templates .................................................................................................... 281<br />

Abbildung 4.16: Willkommenstext ........................................................................................ 281<br />

Abbildung 4.17: Branching/ Skip Logic ................................................................................ 282<br />

Abbildung 4.18: Bildanhang in Antworten ............................................................................ 283<br />

Abbildung 5.1: Code für Buttons ........................................................................................... 287<br />

Abbildung 5.2: GUI und Quellcode zur Farbanpassung ........................................................ 288<br />

Abbildung 5.3: Beispielhaftes Design 1 ................................................................................. 288<br />

Abbildung 5.4: Beispielhaftes Design 2 ................................................................................. 289<br />

Abbildung 5.5: Auswahl möglicher Fragen ........................................................................... 289<br />

Abbildung 5.6: Entscheidungsfrage ....................................................................................... 290<br />

Abbildung 5.7: Skalafrage ...................................................................................................... 290<br />

Abbildung 5.8: Skalafrage: Vergabe von Sternen .................................................................. 291<br />

Abbildung 5.9: Multiple-Choice: Choose .............................................................................. 291<br />

Abbildung 5.10: Tabellen-Frage ............................................................................................ 291<br />

Abbildung 5.11: Offene Frage ............................................................................................... 292<br />

Abbildung 5.12: Multiple-Choice: Check .............................................................................. 292<br />

Abbildung 5.13: Spreadsheet ................................................................................................. 293<br />

Abbildung 5.14: Umfrage-Templates .................................................................................... 293<br />

Abbildung 5.15: Willkommenstext ........................................................................................ 294<br />

Abbildung 5.16: Logik-Editor bei Verzweigungen ................................................................ 294<br />

Abbildung 5.17: Logik-Editor zum Ein-/ Ausblenden von Fragen ........................................ 295<br />

Abbildung 5.18: Pagebreak .................................................................................................... 295<br />

Abbildung 5.19: Verschieben von Fragen und Seiten ............................................................ 296<br />

Abbildung 5.20: Mögliche Fragen mit Bildern (Screenshot aus SurveyGizmo) ................... 296<br />

Abbildung 5.21: Aktion Send Email mit Antwort der vorigen Frage verknüpft .................... 296<br />

Abbildung 5.22: Umfrageverwaltung .................................................................................... 297<br />

Abbildung 5.23: Exportmöglichkeiten ................................................................................... 298<br />

Abbildung 5.24: Beispiel für zusammenfassenden Bericht ................................................... 299<br />

Abbildung 5.25: Wahl des Umfragestatus ............................................................................. 299<br />

Abbildung 5.26: Text bei inaktiver Umfrage ......................................................................... 300<br />

Abbildung 5.27: Generierung von URL ................................................................................. 300<br />

Abbildung 5.28: Fragetyp NPS im Market Place ................................................................... 300<br />

Abbildung 5.29: Vorschau einer Umfrage auf Smartphones ................................................. 301<br />

Abbildung 6.1: Gegenüberstellung ........................................................................................ 303<br />

246


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Abkürzungsverzeichnis<br />

CI<br />

NPS<br />

Corporate Identity<br />

Net Promoter Score<br />

247


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

1. Kriterienkatalog<br />

Der abgebildete Kriterienkatalog wurde mit dem Marketing-Bereich der CEWE abgestimmt und auf<br />

Basis der Anforderungen an ein Umfragetool erstellt. Schwerpunkte der Anforderungen liegen in den<br />

Bereichen Design, Fragenarten, Umfragefunktionen, Organisatorisches und Administratives.<br />

Der Katalog wurde von der Teilgruppe, die keines der Systeme zuvor kannte und somit objektiv bewertet<br />

hat, ausgefüllt. Die Gewichtung der Kriterien wurde durch die verantwortlichen Mitarbeiter des<br />

Marketings ergänzt.<br />

Anforderung Gew. QuestionPro SurveyMonkey SurveyTool SurveyGizmo<br />

1 Design<br />

1.1 Buttons an CI anpassbar 1 2 1 1 3<br />

1.2 Farben an CI anpassbar 1 2 3 1 3<br />

1.3 Benutzerdefiniertes Layout 1 2 2 1 3<br />

2 Fragenarten<br />

2.1 Fragenart: Einfach-Nennung<br />

2.1.1 Entscheidungsfrage 5 3 3 3 3<br />

2.1.2 Skalafrage 5 3 3 3 3<br />

2.1.3 Multiple Choice: Choose 5 3 3 3 3<br />

2.1.4 Tabelle 5 3 3 3 3<br />

2.1.5 Offene Fragen 5 3 3 3 3<br />

2.2 Fragenart: Mehrfach-Nennung<br />

2.2.1 Multiple Choice: Check 5 3 3 3 3<br />

2.2.2 Spreadsheet 5 3 2 2 3<br />

2.3 Umfrage-Templates 1 3 3 2 3<br />

2.4 Rating von Fragen 1 0 0 3 0<br />

3 Umfragefunktionen<br />

3.1 Willkommenstext 5 3 3 2 3<br />

3.2 Branching/ Skip Logic 5 3 3 0 3<br />

3.3 Show/ Hide 5 3 1 0 3<br />

3.4 Finish Options 5 3 3 1 3<br />

3.5 Pagebreak 5 3 3 0 3<br />

3.6 Einbinden von Bildern als Antwortmöglichkeit 1 3 1 0 3<br />

3.7 Alerting bei Kontaktanfrage 5 3 0 3 3<br />

4. Organisatorisches<br />

4.1 Strukturierte Anzeige von Umfragen 5 3 2 2 3<br />

4.2 Interne Variablen<br />

4.2.1 Vier frei nutzbare Variablen 5 2 3 0 3<br />

4.2.2 Mehr als vier frei nutzbare Variablen 1 0 3 0 3<br />

4.3 Datenexport 5 3 3 3 3<br />

4.4 Automatischer Datenexport 5 2 0 3 3<br />

4.5 Automatische Auswertung 5 3 1 0 3<br />

5. Administratives<br />

5.1 Status der Umfrage änderbar 5 3 3 1 3<br />

5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar 5 3 3 0 3<br />

5.3 Generierung eines Links für Newsletter-/ Web-Umfragen 5 3 1 3 3<br />

5.4 Net Promoter Score umsetzbar 5 3 0 3 3<br />

6. Sonstiges<br />

6.1 Erweiterbarkeit durch Apps 1 2 3 0 3<br />

6.2 Mobiler Zugang 1 0 1 0 3<br />

6.3 Support 5 3 2 3 2<br />

6.4 Dynamische Inhalte/ Möglichkeiten 1 0 0 0 1<br />

6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel 1 2 2 1 2<br />

Abbildung 1.1: Kriterienkatalog<br />

248


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Legende<br />

Gewichtung: Wichtigkeit der Anforderung<br />

Punkteverteilung:<br />

0 = nicht unterstützt<br />

1 = ansatzweise unterstützt<br />

2 = teils unterstützt<br />

3 = umfassend unterstützt<br />

Abbildung 1.2: Legende<br />

QuestionPro SurveyMonkey Survey Tool SurveyGizmo<br />

Design 6 6 3 9<br />

Fragenarten 108 103 105 108<br />

Umfragefunktionen 90 66 30 90<br />

Organisatorisches 65 48 40 78<br />

Administratives 60 35 35 60<br />

Sonstiges 19 16 16 19<br />

Gesamt 348 274 229 364<br />

400<br />

350<br />

19<br />

19<br />

Sonstiges<br />

300<br />

60<br />

60<br />

Administratives<br />

Organisatorisches<br />

Umfragefunktionen<br />

Fragenarten<br />

250<br />

200<br />

150<br />

65<br />

90<br />

16<br />

35<br />

48<br />

66<br />

16<br />

35<br />

40<br />

30<br />

78<br />

90<br />

Design<br />

100<br />

50<br />

108 103 105<br />

108<br />

0<br />

6 6 3 9<br />

QuestionPro SurveyMonkey Survey Tool SurveyGizmo<br />

Abbildung 1.3: Ergebnis<br />

249


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

2. Survey Tool<br />

Der folgende Abschnitt stellt die Funktionen des Survey Tools der SAP AG dar und bewertet sie anh<strong>and</strong><br />

der Anforderungen des Kriterienkataloges. Es h<strong>and</strong>elt sich dabei um eine ins SAP CRM-System<br />

integrierte Anwendung zur Erstellung von Umfragen. Das Tool ist bisher nicht im Einsatz und müsste<br />

in den entsprechenden Bereichen eingeführt und geschult werden.<br />

2.1 Design<br />

2.1.1 Buttons an CI anpassbar<br />

CSS-Stylesheets könnten dementsprechend angepasst werden.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

2.1.2 Farben an CI anpassbar<br />

CSS-Stylesheets könnten dementsprechend angepasst werden.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

2.1.3 Benutzerdefiniertes Layout<br />

CSS-Stylesheets könnten dementsprechend angepasst werden.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

2.2 Fragenarten<br />

Ein Abschnitt kann einen Fragetext beinhalten, in dem die Fragen verfasst werden (siehe Abbildung<br />

2.1).<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.1: Fragetext<br />

Eine Auswahl der Fragenart (Antwortkategorie) ist erst beim Hinzufügen von Antworttexten möglich<br />

(siehe Abbildung 2.2).<br />

250


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.2: Antworttext<br />

Um die Frage zu vervollständigen, müssen Antwortoptionen angelegt werden (siehe Abbildung 2.3).<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.3: Antwortoptionen<br />

2.2.1 Fragenart: Einfach-Nennung<br />

2.2.1.1 Entscheidungsfrage<br />

Wenn die Antwortoption Ankreuzknopfgruppe ausgewählt und mit zwei Antwortoptionen ausgestattet<br />

wird, sind Entscheidungsfragen problemlos möglich (siehe Abbildung 2.4).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.4: Entscheidungsfrage<br />

251


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

2.2.1.2 Skalafrage<br />

Zum Erstellen von Skalafragen muss im ersten Schritt ein Unterabschnitt mit dem Layout Tabelle<br />

erstellt werden, um die horizontale Darstellung zu gewährleisten (siehe Abbildung 2.5).<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.5: Auswahl des Layouts<br />

Daraufhin können Fragetexte im Unterabschnitt angelegt und im Antworttext die Antwortkategorie<br />

Ankreuzknopfgruppe mit vier (harte Skalafrage) bzw. fünf (weiche Skalafrage) Antwortoptionen ausgewählt<br />

werden (siehe Abbildung 2.6).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.6: Skalafrage<br />

2.2.1.3 Multiple-Choice: Choose<br />

Eine Frage mit der Antwortkategorie Ankreuzknopfgruppe und mehreren Antwortoptionen ermöglicht<br />

es, Multiple-Choise: Choose umzusetzen (siehe Abbildung 2.7).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.7: Multiple Choice mit einer Antwort<br />

2.2.1.4 Tabelle<br />

Zuerst ist ein Unterabschnitt mit dem Layout Tabelle notwendig (siehe Abbildung 2.5).<br />

252


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Daraufhin können Fragetexte im Unterabschnitt angelegt und im Antworttext die Antwortkategorie<br />

„Ankreuzknopfgruppe“ mit der Anzahl gewünschter Antwortoptionen erstellt werden.<br />

Für jeden weiteren Fragetext in der Tabelle werden die Antwortoptionen des ersten Fragetextes übernommen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.8: Tabellen-Frage<br />

2.2.1.5 Offene Fragen<br />

Wird eine Frage mit der Antwortkategorie Text angelegt, ist die Umsetzung einer offenen Frage mit<br />

Textfeld möglich. Die Maße des Feldes können anh<strong>and</strong> von numerischen Ziffern anh<strong>and</strong> der Pixel<br />

eingestellt werden (siehe Abbildung 2.9).<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.9: Hinzufügen einer offenen Frage<br />

Wird in der Antwortoption ein Text eingepflegt, wird er als beschreibender Text neben dem Textfeld<br />

angezeigt. Unter Antwortvorbelegung kann ein bereits im Textfeld vorh<strong>and</strong>ener Text eingegeben werden<br />

(siehe Abbildung 2.10).<br />

253


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.10: Offene Frage<br />

2.2.2 Fragenart: Mehrfach-Nennung<br />

2.2.2.1 Multiple-Choice: Check<br />

Auch dieser Fragentyp ist umsetzbar, dazu wird als Antwortkategorie Ankreuzfeldgruppe mit der Anzahl<br />

gewünschten Antwortoptionen angelegt (siehe Abbildung 2.11).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.11: Multiple Choice mit mehreren Antworten<br />

2.2.2.2 Spreadsheet<br />

Für Spreadsheets muss ein Unterabschnitt mit dem Layout Tabelle erstellt werden (siehe Abbildung<br />

2.5).<br />

Danach können je nach gewünschter Anzahl an Fragen, Fragetexte hinzugefügt werden. Der Antworttext<br />

wird mit der Antwortkategorie Listenfeld mit Einfachauswahl und den gewünschten Antwortoptionen<br />

angelegt. Es ist nicht möglich, Überschriften für die jeweiligen Spalten zu erstellen.<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.12: Spreadsheet<br />

254


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 2 (teils unterstützt)<br />

2.2.3 Umfrage-Templates<br />

Sofern eine Umfrage als Umfrage-Vorlage erstellt wird, die daraufhin kopiert wird, sind Umfrage-<br />

Templates umsetzbar (siehe Abbildung 2.13). Eine umfassende Unterstützung von Templates ist darüber<br />

hinaus nicht gegeben.<br />

Bewertung: 2 (teils unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.13: Umfrage-Templates<br />

2.2.4 Rating von Fragen<br />

Es besteht die Möglichkeit beim Erstellen eines Fragetextes einen Bewertungsfaktor anzugeben (siehe<br />

Abbildung 2.14).<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.14: Rating von Fragen<br />

Es ist darüber hinaus ebenfalls möglich, Antwortoptionen mit Bewertungen auszustatten (siehe Abbildung<br />

2.15).<br />

255


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.15: Rating von Antworten<br />

Bewertung: 3 (umfassend unterstützt)<br />

2.3 Umfragefunktionen<br />

2.3.1 Willkommenstext<br />

Ein Willkommenstext wird als solches nicht unterstützt. Es ist jedoch möglich einen Fragetext ohne<br />

Antworttexte und –optionen zu erstellen und darin den Willkommenstext zu hinterlegen.<br />

Bewertung: 2 (teils unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.16: Willkommenstext<br />

2.3.2 Branching/ Skip Logic<br />

Möglichkeiten zur Weiterleitung bzw. Verzweigung werden nicht angeboten und müssten einprogrammiert<br />

werden.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.3.3 Show/ Hide<br />

Ein- bzw. Ausblenden von Fragen wird nicht unterstützt. Auch hier wäre eine Programmierung im<br />

Nachhinein notwendig.<br />

Bewertung: 0 (nicht unterstützt)<br />

256


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

2.3.4 Finish Options<br />

Mit Hilfe von Fragetexten kann ein Abschluss-Text verfasst und mit zwei vordefinierten Buttons zum<br />

Abschicken und Zurücksetzen der Umfrage ausgestattet werden. Darüber hinaus ist eine Unterstützung<br />

von Abschlusstexten nicht gegeben und wäre von der L<strong>and</strong>ing-Page abhängig.<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.17: Finish Options<br />

Weiterhin ist es nicht möglich, von der Abschlussseite auf bestimmte Seite zu verlinken, nach dem die<br />

Umfrage abgeschlossen wurde.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

2.3.5 Pagebreak<br />

Seitenumbrüche werden nicht angeboten, die Umfrage ist stets auf einer Seite.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.3.6 Einbinden von Bildern als Antwortmöglichkeit<br />

Bilder oder <strong>and</strong>ere Multimedia-Dateien können nicht ohne weiteres in den Fragebogen integriert werden.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.3.7 Alerting bei Kontaktanfrage<br />

Mit Mike Dettmann abgesprochen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

257


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

2.4 Organisatorisches<br />

2.4.1 Strukturierte Anzeige von Umfragen<br />

Es ist eine umfassende Suche nach Surveys im System möglich, die wiederum in einer Liste mit wesentlichen<br />

Attributen dargestellt werden. Es ist keine Baumstruktur o.ä. vorh<strong>and</strong>en (siehe Abbildung<br />

2.18).<br />

Bewertung: 2 (teils unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.18: Anzeige von Umfragen<br />

2.4.2 Interne Variablen<br />

2.4.2.1 Vier frei nutzbare Variablen<br />

Der Einsatz von Variablen ist nicht möglich und wäre von einer davor geschalteten L<strong>and</strong>ing-Page<br />

abhängig.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.4.2.2 Mehr als vier frei nutzbare Variablen<br />

Siehe vorigen Abschnitt.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.4.3 Datenexport<br />

Über einen St<strong>and</strong>ard-Extraktor können die Daten im BW lokal gelagert werden.<br />

Bewertung: 3 (umfassend unterstützt)<br />

258


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

2.4.4 Automatischer Datenexport<br />

Über einen St<strong>and</strong>art-Extraktor können die Daten automatisiert ins BW geladen werden.<br />

Bewertung: 3 (umfassend unterstützt)<br />

2.4.5 Automatische Auswertung<br />

Für automatisierte Auswertungen werden ergänzende Produkte vorausgesetzt. Sämtliche Funktionen<br />

müssten entweder über SAP BW oder IBM Cognos laufen.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.5 Administratives<br />

2.5.1 Status der Umfrage änderbar<br />

Eine Umfrage kann über den „Aktivieren“-Button geöffnet werden. Bislang ist nicht bekannt, wie die<br />

Umfrage wieder geschlossen wird, da der Button daraufhin ausgegraut und nicht erneut betätigt werden<br />

kann. Möglicherweise sind umfassendere Benutzerrechte notwendig oder ein Schließen nur über<br />

festgelegte Termine möglich.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.19: Statusänderung<br />

2.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar<br />

Es besteht keine Möglichkeit einen Text für inaktive Umfragen anzupassen, diese Funktion ist abhängig<br />

von der L<strong>and</strong>ing-Page.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.5.3 Generierung eines Links für Newsletter-/ Web-Umfragen<br />

Der Button zum „URL generieren“ ist nach Aktivierung der Umfrage bedienbar. Es öffnet sich ein<br />

Webseitendialog, wo anh<strong>and</strong> einiger Angaben eine URL erstellt wird.<br />

259


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Survey Tool<br />

Abbildung 2.20: Linkgenerierung<br />

2.5.4 Net Promoter Score Umsetzbar<br />

Mit Mike Dettmann abgesprochen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

2.6 Sonstiges<br />

2.6.1 Erweiterbarkeit durch Apps<br />

Es besteht keine Möglichkeit externe Applikationen ohne weiteres zu nutzen, da alle gewünschten<br />

Erweiterungen einprogrammiert werden müssten.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.6.2 Mobiler Zugang<br />

Ein mobilen Zugang wird nicht angeboten und wäre nur über IBM Cognos auf die Auswertungen<br />

möglich. Die Umfragen können nicht mobil eingesehen bzw. bearbeitet werden.<br />

Bewertung: 0 (nicht unterstützt)<br />

2.6.3 Support<br />

Der Support wird intern über Mike Dettmann ablaufen<br />

Bewertung: 3 (umfassend unterstützt)<br />

2.6.4 Dynamische Inhalte/ Möglichkeiten<br />

Hier fehlen sämtliche Funktionen.<br />

Bewertung: 0 (nicht unterstützt)<br />

260


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

2.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel<br />

Es werden rudimentäre Dokumentationen seitens SAP angeboten, die übers Internet abgerufen werden<br />

können. Es wäre zudem möglich, dass SAP Help Center und das Forum für Fragen und Probleme zu<br />

nutzen.<br />

Bewertung: 1 (ansatzweise unterstützt<br />

3. QuestionPro<br />

Der folgende Abschnitt stellt die Funktionen des Umfragetools QuestionPro dar. Das Tool wird bereits<br />

von CEWE genutzt und von den Mitarbeitern als bevorzugtes Tool bewertet.<br />

3.1 Design<br />

3.1.1 Buttons an CI anpassbar<br />

Die Buttons in QuestionPro sind st<strong>and</strong>ardmäßig vorgegeben und passen sich dem ausgewählten Thema<br />

(Layout) an. Es bestehen Anpassungsmöglichkeiten bezüglich des Schriftzugs auf dem Button, die<br />

in einem Menü geändert werden können. Weiterhin besteht die Möglichkeit zu entscheiden ob bestimmte<br />

Buttons in der Umfrage eingeblendet werden sollen. Eine Anpassung durch HTML und CSS<br />

im Layout ist ebenfalls möglich (siehe Abbildung 3.1).<br />

Bewertung: 2 (teils unterstützt)<br />

3.1.2 Farben an CI anpassbar<br />

QuestionPro verwaltet einige vordefinierte Farben und Themenkategorien für Umfragen. Neben einer<br />

Auswahl aus diesen ist mittels HTML-Code auch eine benutzerdefinierte Anpassung möglich. (siehe<br />

Abbildung 3.1)<br />

Bewertung: 2 (teils unterstützt)<br />

261


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3.1.3 Benutzerdefiniertes Layout<br />

Eine benutzerdefinierte Anpassung der Umfrage an die vom Unternehmen definierte CI ist über den<br />

bereits erwähnten HTML-Code möglich (siehe Abbildung 3.1).<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.1: Anpassungen zu einer Umfrage<br />

Bewertung: 2 (teils unterstützt)<br />

3.2 Fragenarten<br />

QuestionPro unterstützt verschiedene Fragenarten. Die Fragen werden hierbei als autonome Objekte in<br />

die Umfrage hinzugefügt. Die verschiedenen Fragetypen können über Add question im Umfrageeditor<br />

ausgewählt und hinzugefügt werden. Die verschiedenen Fragenarten sind nach Auswahl im linken<br />

Bildschirmr<strong>and</strong> aufgelistet und können im rechten Bildschirmbereich bearbeitet werden (siehe Abbildung<br />

3.2).<br />

Bereits erstellte Fragen können aus einem Fragenkatalog ausgewählt und der aktuellen Umfrage hinzugefügt<br />

werden. Bereits vorh<strong>and</strong>ene Fragen können inhaltlich verändert werden. Ein Wechsel zu<br />

einer neuen Frageart ist hier nicht gegeben.<br />

262


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.2: Hinzufügen einer Frage<br />

Im Folgenden werden die für die Entscheidungsfindung des richtigen Umfragetools relevanten Fragenarten<br />

nach einfach und mehrfach Nennung unterschieden.<br />

3.2.1 Fragenart: Einfach-Nennung<br />

3.2.1.1 Entscheidungsfrage<br />

Mit der Auswahl einer Multiple-Choice-Frage mit nur einer Antwortmöglichkeit können Entscheidungsfragen<br />

über Add Question in den Einstellung unter Multiple Choice - >Select one in die Umfrage<br />

eingebunden werden (siehe Abbildung 3.3).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.3: Entscheidungsfrage<br />

3.2.1.2 Skalafrage<br />

Zur Erstellung einer Skalafrage bietet das Tool verschiedenen Möglichkeiten. Zwei der Varianten sind<br />

im Folgenden dargestellt. Die erste Variante zeigt eine Bewertung des Kunden im Schulnotensystem<br />

263


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

(siehe Abbildung 3.4), welcher unter dem Menüpunkt Add Question -> Matrix table -> Ordering/<br />

Rating im Umfrageeditor zu finden ist.<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.4: Bewertung<br />

Die zweite Variante zweigt eine Bewertung auf einer Skala von 0-10 (Abbildung 3.5), welches in<br />

QuestionPro unter dem Menüpunkt Customer Satisfaction angesiedelt ist.<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.5: Kundenzufriedenheit<br />

Neben diesen Varianten ist es ebenfalls möglich ein solches Verfahren über eine Tabelle zu lösen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

3.2.1.3 Multiple Choice: Choose<br />

Dieser Fragetyp ist über Add Question -> Multiplce Choice auswählbar. Die folgende Abbildung<br />

zeigt eine solche Frage (Abbildung 3.6). Die Zahl der Antwortmöglichkeiten ist hierbei nicht begrenzt.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.6: Multiple Choice mit einer Antwort<br />

3.2.1.4 Tabelle<br />

Eine Abfrage mehrerer Elemente kann im Stil einer Tabelle erfolgen, dabei ist pro Zeile nur eine Antwortmöglichkeit<br />

zugelassen.<br />

264


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.7: Tabellen-Frage<br />

3.2.1.5 Offene Fragen<br />

Die Möglichkeit offene Fragen zu stellen besteht mit QuestionPro, das Tool bietet auch hier verschiedene<br />

Möglichkeiten an. Neben der Comment Box (siehe Abbildung 3.8) gibt es weitere Darstellungsoptionen.<br />

Dazu zählt die Option Single Row Text welche nur eine Zeile für den Antworttext zuzulassen<br />

oder Numeric Input für die Eingabe eines nummerischen Wertes sowie die Möglichkeit über<br />

Email Address eine E-Mail Adresse abzufragen. Weiterhin besteht die Möglichkeit eine Freitextfläche<br />

in <strong>and</strong>ere Fragenarten einzubinden (siehe Abbildung 3.9)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.8: Offene Fragen<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.9: Freitextfläche<br />

265


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3.2.2 Fragenart: Mehrfach-Nennung<br />

3.2.2.1 Multiple Choice: Check<br />

Neben den Multiple-Choice-Fragen mit einfacher Nennung gibt es auch Fragen mit mehreren Antwortmöglichkeiten,<br />

die von QuestionPro unterstützt werden, wie Abbildung 3.10 zeigt. Eine solche<br />

Checkbox kann über Add Question -> Matrix Table -> Checkbox / Multi-Select eingerichtet werden.<br />

Die Fragen und Antwortmöglichkeiten können in unterschiedlich vielen Zeilen und Spalten eingerichtet<br />

werden.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.10: Multiple Choice mit mehreren Antworten<br />

3.2.2.2 Spreadsheet<br />

Weiterhin erlaubt QuestionPro neben der Tabellenfunktion mit nur einer Antwortmöglichkeit auch<br />

eine Funktion mit mehreren Antworten in einer Tabelle. QuestionPro unterscheidet hierbei zwischen<br />

Tabellen mit Checkboxen, Auswahlfeldern (siehe Abbildung 3.11), einer Side-by-Side-Matrix (siehe<br />

Abbildung 3.12) und einem Skale-Slider, die in Tabellen eingebunden werden können. Ein Spreadsheet<br />

wird über Add Question -> Matrix Table -> Spreadsheet der Umfrage hinzugefügt.<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.11: Spreadsheet<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.12: Side-by-Side-Matrix<br />

266


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

3.2.3 Umfrage-Templates<br />

Bevor eine neue Umfrage angelegt wird, kann auf ein bereits bestehendes Umfragetemplate zugegriffen<br />

werden. Weiterhin besteht die Möglichkeit Umfragen aus Microsoft Word zu integrieren oder in<br />

der Umfrage auf bereits bestehende Fragen aus der Fragenbibliothek zuzugreifen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.13: Umfrage-Templates<br />

3.2.4 Rating von Fragen<br />

Es ist möglich, den verschiedenen Antwortmöglichkeiten einzelner Fragen eine Wertung zu geben.<br />

Die Gesamtauswertung der Antworten kann später über die allgemeine Auswertung der Umfrage vorgenommen<br />

bzw. eingesehen werden.<br />

Bewertung: 2 (teils unterstützt)<br />

3.3 Umfragefunktionen<br />

3.3.1 Willkommenstext<br />

Ein Willkommenstext inklusive der Einrichtung einer Checkbox für etwaige AGB kann in Question-<br />

Pro erstellt werden (siehe Abbildung 3.14).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.14: Willkommenstext<br />

267


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3.3.2 Branching/ Skip Logic<br />

Das Umfragetool bietet die Möglichkeit für jede einzelne Frage individuelle Logikeinstellungen vorzunehmen<br />

(siehe Abbildung 3.15). Es ist möglich ein Branching für jede Frage im Umfrageeditor separat<br />

zu definieren. Es kann ausgewählt werden, bei welcher Antwortmöglichkeit der Frage was passieren<br />

soll. Dafür stehen mehrere Jump-Funktionen wie Survey Questions, Terminate Survey, Go To<br />

Thank You page oder Chain Survey zur Verfügung.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.15: Branching/ Skip Logic<br />

3.3.3 Show/ Hide<br />

Neben verschiedenen Logikeinstellungen bietet QuestionPro auch die Möglichkeit einzelne Fragen je<br />

nach gegebener Antwort ein- oder auszublenden.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.16: Show/ Hide<br />

268


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3.3.4 Finish Options<br />

Nach dem individuell erstellten Willkommenstext bietet QuestionPro auch die Möglichkeit einen individuellen<br />

Abschlusstext zu verfassen, welcher die Umfrage beendet. Ebenso sind weitere Einstellungen<br />

wie u.a. eine direkte Weiterleitung zu einer bestimmten Webseite, zu weiteren Umfragen oder der<br />

Anzeige eines Spotlight Reports über die gegebenen Antworten möglich.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.17: Finish Options<br />

3.3.5 Pagebreak<br />

In einer Umfrage kann nach jeder Frage ein Seitenumbruch eingestellt werden (siehe Abbildung 3.18),<br />

dies bietet sich an, da QuestionPro ein auf Seitenbasis angelegtes Umfragetool ist. Neben der Möglichkeit<br />

eines Seitenumbruchs, gibt es die Variante eine bestimmte Anzahl an Fragen pro Seite anzeigen<br />

zu lassen. Zur nächsten Frage wird über den „Weiter“-Button navigiert.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.18: Pagebreak<br />

3.3.6 Einbinden von Bildern als Antwortmöglichkeit<br />

QuestionPro unterstützt das Hochladen von Bild-, Video- und Audiodateien mit der Funktion Upload<br />

unter weitere Fragenarten.<br />

269


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.19: Datei hochladen<br />

Nicht nur der Kunde kann Dateien als eine Antwortmöglichkeit auf eine Frage hochladen, es ist weiterhin<br />

möglich Bilder als Antwortmöglichkeit anzugeben, aus welchem der Kunde seine Antwort wählen<br />

kann, etwa bei der Zahlungsart (siehe Abbildung 3.20).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.20: Dateien als Antwortmöglichkeit<br />

3.3.7 Alerting bei Kontaktanfrage<br />

QuestionPro stellt st<strong>and</strong>ardmäßig alle E-Mail Benachrichtigungen, wie auch Alarmierungen aus, sind<br />

solche Funktionen gewünscht, so müssen sie entsprechend aktiviert werden (siehe Abbildung 3.21).<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.21: Kontaktanfrage<br />

Sollte eine Alarmierung gewünscht sein, so kann diese wie Abbildung 3.22 zeigt entsprechend konfiguriert<br />

werden.<br />

270<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.22: Alarmierungseinstellungen


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

3.4 Organisatorisches<br />

3.4.1 Strukturierte Anzeige von Umfragen<br />

Eine strukturierte Anzeige aller Umfragen stellt QuestionPro unter dem Punkt „Surveys“ zur Verfügung.<br />

Alle angelegten Fragen werden hier als Liste dargestellt (siehe Abbildung 3.23).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.23: Umfrageübersicht<br />

3.4.2 Interne Variablen<br />

3.4.2.1 Vier frei nutzbare Variablen<br />

Die Möglichkeit in einer E-Mail definierte Variablen zur Personalisierung der Umfrageergebnisse zu<br />

verwenden ist gegeben. Die Anzahl der Variablen ist jedoch beschränkt. Die Erweiterung dieser Anzahl<br />

von Variablen wäre über eine Veränderung des Quellcodes beim Senden der E-Mail möglich.<br />

Bewertung: 2 (teils unterstützt)<br />

3.4.2.2 Mehr als vier nutzbare Variablen<br />

Die Möglichkeit mehr als vier Variablen einzubinden ist gegebenenfalls über ein entsprechendes<br />

Coding zu erreichen.<br />

Bewertung: 0 (nicht unterstützt)<br />

271


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3.4.3 Datenexport<br />

QuestionPro ermöglicht einen Datenexport der Umfragen und der Analysen in verschiedenen Dateiformaten,<br />

darunter fallen:<br />

- *.xlsx<br />

- *.csv<br />

- *.docx<br />

- *.sav (IBM SPSS File)<br />

- *.pptx<br />

Bewertung: 3 (umfassend unterstützt)<br />

3.4.4 Automatischer Datenexport<br />

Ein automatischer Datenexport der Ergebnisse ist nur mit einer entsprechenden Lizenz möglich.<br />

Bewertung: 2 (teils unterstützt)<br />

3.4.5 Automatische Auswertung<br />

Es besteht die Möglichkeit eine Vielzahl an automatischen Auswertungsmöglichkeiten direkt in QuestionPro<br />

zu nutzen. Dazu zählen sowohl tabellarische Auswertungen als auch Diagramme. Eine Übersicht<br />

über alle Möglichkeiten zeigt Abbildung 3.24.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.24: Automatische Auswertung<br />

272


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3.5 Administratives<br />

3.5.1 Status der Umfrage änderbar<br />

QuestionPro bietet die Möglichkeit eine Umfrage aktiv oder geschlossen zu setzten. Ist die Umfrage<br />

aktiv, so kann jeder auf diese zugreifen. Im Fall einer geschlossenen Umfrage wäre ein entsprechender<br />

Zugriff nicht möglich.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.25: Statusänderung<br />

3.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar<br />

Im Fall eines Aufrufes einer bereits geschlossenen Umfrage, bietet das Tool die Möglichkeit einen<br />

individuellen Text einzublenden, welcher den Kunden darauf hinweist, dass diese Umfrage bereits<br />

geschlossen ist und somit nicht bearbeitet werden kann.<br />

Bewertung: 3 (umfassend unterstützt)<br />

3.5.3 Generierung eines Links für Newsletter-/ Web-Umfragen<br />

Ein Link für Newsletter-/ Web-Umfragen kann mit QuestionPro automatisch generiert werden. Es<br />

besteht weiterhin die Möglichkeit den Link über das Customizing (siehe Abbildung 3.26) entsprechend<br />

anzupassen. Das Tool bietet ebenfalls die Möglichkeit, den Link direkt über verschiedene soziale<br />

Netzwerke sowie über E-Mail und QR-Code zu verbreiten.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.26: Linkgenerierung<br />

273


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

3.5.4 Net Promoter Score umsetzbar<br />

Die Möglichkeit einen NPS zu definieren ist in QuestionPro gegeben. Jeder Antwortmöglichkeit kann<br />

eine Bewertung zugeordnet werden, wodurch sich ein NPS gengerieren lässt. Je nach Fragenart ist<br />

eine solche Bewertung automatisch hinterlegt oder muss noch angegeben werden.<br />

Bewertung: 3 (umfassend unterstützt)<br />

3.6 Sonstiges<br />

3.6.1 Erweiterbarkeit durch Apps<br />

QuestionPro bietet einige Erweiterungsmöglichkeiten durch Apps (siehe Abbildung 3.27). Das Tool<br />

unterscheidet hierbei zwischen Custom Apps und Feedback Apps. Die Apps sind frei verfügbar.<br />

Bewertung: 2 (teils unterstützt)<br />

Quelle: Screenshot aus Question Pro<br />

Abbildung 3.27: App-Erweiterung<br />

3.6.2 Mobiler Zugang<br />

Ein mobiler Zugang zu QuestionPro ist bisher nicht vorgesehen. Über die App SurveyPocket kann<br />

allerdings auf den QuestionPro Account zugegriffen werden.<br />

Bewertung: 0 (nicht unterstützt)<br />

3.6.3 Support<br />

QuestionPro bietet einen umfassenden Support mittels Telefon, E-Mai und Live-Chat an. Innerhalb<br />

einer Umfrage können ebenfalls Hilfestellungen in Form einer grafisch aufbereiteten Anleitung inkl.<br />

Videos durch den Frageersteller genutzt werden.<br />

274


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

3.6.4 Dynamische Inhalte/ Möglichkeiten<br />

Die Möglichkeit dynamische Inhalte oder Möglichkeiten in einer QuestionPro Umfrage einzusetzen<br />

gibt es bisher nicht.<br />

Bewertung: 0 (nicht unterstüzt)<br />

3.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel<br />

Neben der in der Anwendung integrierten Hilfe besteht die Möglichkeit die ausreicheichend dokumentierten<br />

FAQs zu nutzen.<br />

Bewertung: 2 (teils unterstützt)<br />

4. SurveyMonkey<br />

Der folgende Abschnitt stellt die Funktionen von SurveyMonkey dar. Das Umfragetool wird bereits<br />

von CEWE verwendet.<br />

4.1 Design<br />

4.1.1 Buttons an CI anpassbar<br />

Buttons sind zunächst vorgegebene St<strong>and</strong>ardobjekte, die nicht unmittelbar bearbeitet werden können.<br />

Durch zugeschalteten HTML-Modus ließe sich eine Lösung durch benutzerdefinierte Elemente finden.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.1: Buttonanpassbarkeit<br />

4.1.2 Farben an CI anpassbar<br />

Das Umfragedesign kann über einen elementbezogenen Editor angepasst werden. Jedes Element der<br />

Umfrage, wie der Hintergrund, die Schriftart und die Schriftgröße von allen vorkommenden Texten<br />

und die Farbe der vorgegebenen grafischen Objekte kann im 24-bit Web-Farbspektrum eingestellt<br />

werden. Benutzerdefinierte Designs können gespeichert und für weitere Umfragen verwendet werden.<br />

Die Einbindung eines Logos ist ebenfalls möglich. Der Editor ist eine Benutzeroberfläche für den unterliegenden<br />

HTML-Code, welcher auch direkt bearbeitet werden kann. Dies setzt Kenntnisse im Umgang<br />

mit HTML voraus, ermöglicht jedoch umfassendere Anpassungen (siehe Abbildung 4.2).<br />

275


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.2: Farbenanpassbarkeit<br />

4.1.3 Benutzerdefiniertes Layout<br />

Soweit keine weiteren Einstellungen vorgenommen wurden, legt SurveyMonkey Fragen in einem<br />

St<strong>and</strong>ardlayout an. Alternativ ist es möglich, die Anordnung zu beeinflussen indem maximale Breite<br />

und das Abst<strong>and</strong>sverhältnis zwischen Fragetext und Antwortfeldern in Relation zur Fenstergröße justiert<br />

werden. Der absolute Abst<strong>and</strong> in Pixeln zu den Rändern der Frage und die Platzierung neben oder<br />

unter der vorigen Frage, erlauben weitere Formatierungsmöglichkeiten (siehe Abbildung 4.3).<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.3: Layout-Anpassbarkeit<br />

Außerdem ist ein Einsatz von HTML möglich, um die Seite individueller zu gestalten. Es können weder<br />

JavaScript noch -Tags verwendet werden.<br />

Bewertung: 2 (teils unterstützt)<br />

4.2 Fragenarten<br />

Fragen werden als in sich geschlossene Objekte zu Seiten hinzugefügt. Der Typ kann nachträglich<br />

verändert werden, wobei bereits eingegebene Informationen erhalten bleiben (siehe Abbildung 4.4).<br />

276


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.4: Fragentypen<br />

Zuvor gestellte Fragen sind im Stil einer Eingabevervollständigung umfrageübergreifend vollständig<br />

wieder abrufbar. Es wird der gesamte Fragetext nach dem eingegebenen Begriffen durchsucht (siehe<br />

Abbildung 4.5).<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.5: Fragentext<br />

4.2.1 Fragenart: Einfachnennung<br />

4.2.1.1 Entscheidungsfrage<br />

Per Multiple Choice (nur eine Antwort) werden Entscheidungsfragen umgesetzt (siehe Abbildung 4.6).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.6: Entscheidungsfrage<br />

4.2.1.2 Skalafrage (hart/ weich)<br />

Der Fragetyp Bewertungsskala bietet bis zu 16 Abstufungen und benutzerdefinierte Gewichtungen. So<br />

können angepasste Skalenfragen sowohl in harter (gerade Anzahl Antwortmöglichkeiten) als auch<br />

weicher Form (ungerade Anzahl Antwortmöglichkeiten) umgesetzt werden (siehe Abbildung 4.7).<br />

277


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.7: Skalafrage<br />

4.2.1.3 Multiple Choice: Choose (eine Antwort)<br />

Einfache Multiple-Choice-Fragen können wie Entscheidungsfragen als Multiple Choice (nur eine<br />

Antwort) mit entsprechenden Antwortmöglichkeiten erstellt werden (siehe Abbildung 4.8).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.8: Multiple Choice mit einer Antwort<br />

4.2.1.4 Tabelle<br />

Mehrere Elemente samt Antwortmöglichkeiten im Stil einer Tabelle können als Multiple Choice<br />

(mehrere Antworten pro Zeile) umgesetzt werden (siehe Abbildung 4.9).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.9: Tabellen-Frage<br />

4.2.1.5 Offene Fragen<br />

Offene Fragen können auf unterschiedliche Arten eingebunden werden. Zunächst kann der eigenständige<br />

Fragetyp Kommentar-/Artikelfeld genutzt werden. Die Größe dieses Felds kann zwischen 10 und<br />

100 Zeichen in der Breite und 2 bis 20 Zeilen in der Höhe betragen und eignet sich daher für frei formulierte<br />

Sätze oder Texte (siehe Abbildung 4.10).<br />

278


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.10: Offene Fragen<br />

Für Eingaben mit vorgegebenem Inhalt wie E-Mail-Adresse, Geburtstag oder Zahlenfolgen mit<br />

bestimmter Länge können die Fragetypen Einzelnes Textfeld, Mehrere Textfelder oder für bestimmte<br />

Summen Numerisches Textfeld mit entsprechender Validierung verwendet werden (siehe Abbildung<br />

4.11).<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.11: Einstellungen zu offenen Fragen<br />

Schließlich ist es auch möglich, freie Textfelder als Antwortmöglichkeit in verschiedenen Fragetypen<br />

auszuwählen (siehe Abbildung 4.12).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.12: Freitext in verschiedenen Fragetypen<br />

279


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

4.2.2 Fragenart: Mehrfach-Nennung<br />

4.2.2.1 Multiple Choice: Check (mehrere Antworten)<br />

Es können sowohl Fragen mit einer einzelnen Zeile mit dem Fragetyp Multiple Choice (mehrere Antworten<br />

pro Zeile) als auch eine Matrix mit mehreren Zeilen mit Checkboxen per Fragetyp Auswahlmatrix<br />

(mehrere Antworten pro Zeile) eingebunden werden (siehe Abbildung 4.13).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.13: Multiple Choice mit mehreren Antworten<br />

4.2.2.2 Spreadsheet<br />

Es ist kein Spreadsheet mit freien Eingabefeldern vorgesehen, jedoch können im Stil von Dropdown-<br />

Menüs Antwortmöglichkeiten vorgegeben werden. Theoretisch wäre es mit einigem Aufw<strong>and</strong> möglich,<br />

auch ein Spreadsheet aus einzelnen numerischen Textfeldern zu konstruieren um freie Eingaben<br />

zu ermöglichen (siehe Abbildung 4.14).<br />

Bewertung: 2 (teils unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.14: Spreadsheet<br />

4.2.3 Umfrage-Templates<br />

Bei der Erstellung einer neuen Umfrage kann eine bestehende Umfrage kopiert oder ein vorgegebenes<br />

Template aus verschiedenen Fachbereichen ausgewählt werden. Diese können jedoch nicht ersetzt<br />

werden, um ein zusätzliches Vorlageverzeichnis zu erstellen (siehe Anhang A, Frage 1)<br />

280


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.15: Templates<br />

4.2.4 Rating von Fragen<br />

Abgesehen von Gewichtungen bei Skalafragen ist kein Rating möglich.<br />

Bewertung: 0 (nicht möglich)<br />

4.3 Umfragefunktionen<br />

4.3.1 Willkommenstext<br />

Durch die Nutzung des Fragetyps Beschreibender Text kann ein freier Text als Willkommenstext eingefügt<br />

werden. Ebenso ist die Darstellung eines Bildes wie etwa das Firmenlogo umsetzbar.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.16: Willkommenstext<br />

281


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

4.3.2 Branching/ Skip Logic<br />

SurveyMonkey unterstützt Verzweigung als Teil der Fragen- und Seitenlogik. Hierbei wird der Nutzer<br />

abhängig von seiner Antwort gezielt auf unterschiedliche Seiten oder zu bestimmten Fragen weitergeleitet.<br />

Sie unterliegt gewissen Einschränkungen, die sich jedoch aus der Natur der Frage ergeben und<br />

die Funktionalität nicht beeinträchtigen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.17: Branching/ Skip Logic<br />

4.3.3 Show/ Hide<br />

Ein explizites Ausblenden von Fragen ist nicht vorgesehen, kann jedoch durch passendes Weiterleiten<br />

abhängig von Antworten nachgestellt werden. Die Logik wird somit nicht aus Sicht der zu versteckenden<br />

Frage erstellt, sondern von der Frage, die die Bedingungen zum Verstecken enthält. Daher kann<br />

etwa in späteren Teilen einer Umfrage nicht auf früheren Teilen Bezug genommen werden, ohne stark<br />

angepasste, teils redundante Zweige zu erstellen oder die Umfrage von vornherein auf diese Einschränkungen<br />

auszulegen. Da somit mit zunehmender Komplexität der Aufw<strong>and</strong> zur Umsetzung<br />

steigt, die Übersicht leiden kann und es zu schnell Konflikten mit <strong>and</strong>eren Verzweigungen kommt, ist<br />

dies nur als Workaround anzusehen.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

4.3.4 Finish Options<br />

Nach Abschluss der Umfrage kann der Nutzer auf eine Seite in SurveyMonkey verwiesen werden,<br />

welche mit den bekannten Optionen gestaltet werden kann. Alternativ kann eine beliebige URL, wie<br />

die des Unternehmens, angegeben werden, etwa um einen generierten Gutschein anzuzeigen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

282


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

4.3.5 Pagebreak<br />

Die Umfrage ist auf Seitenbasis strukturiert. Der konkrete Inhalt kann je Seite ausgewählt werden,<br />

wodurch ein Pagebreak entsteht. Die entstehenden Seitenzahlen können ebenso wie ein Fortschrittsbalken<br />

wahlweise ein- oder ausgeblendet werden.<br />

Bewertung: 3 (umfassend unterstützt)<br />

4.3.6 Einbinden von Bildern als Antwortmöglichkeit<br />

Bilder können zwar eingebunden werden, sind jedoch nicht als markierbare Antwortmöglichkeit vorgesehen.<br />

Mit einigem Aufw<strong>and</strong> lässt sich eine Notlösung konstruieren, jedoch müssen die Bilder passend<br />

skaliert vorbereitet sein. Das Layout wird so jedoch sehr fehleranfällig (siehe Abbildung 4.18).<br />

Quelle: Screenshot aus SurveyMonkey<br />

Abbildung 4.18: Bildanhang in Antworten<br />

Bessere Kontrolle erlaubt wiederum die Verwendung von HTML, entsprechende Kenntnisse vorausgesetzt.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

4.3.7 Alerting bei Kontaktanfrage<br />

Eine spezielle Kontakt-Funktion ist nicht verfügbar. SurveyMonkey enthält zudem keine Form von<br />

Alerting, durch welches eine Kontaktanforderung umgesetzt werden könnte und auch die Benachrichtigung<br />

bei ausgefüllten Umfragen wird explizit nicht unterstützt. Es sollte zwar möglich sein, im Rahmen<br />

der anschließenden Auswertung angegebene E-Mail-Adressen mit Kontaktwunsch zu manuell zu<br />

kontaktieren, jedoch entsteht so zwangsläufig ein gewisser zeitlicher Abst<strong>and</strong>.<br />

(Vgl.http://help.surveymonkey.com/app/answers/detail/a_id/167/kw/alert?q=alert)<br />

Bewertung: 0 (nicht möglich)<br />

283


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

4.4 Organisatorisches<br />

4.4.1 Strukturierte Anzeige von Umfragen<br />

Es können Ordner angelegt und Umfragen einsortiert werden. Unterordner sind hingegen nicht erstellbar.<br />

Bewertung: 2 (teilweise unterstützt)<br />

4.4.2 Interne Variablen<br />

4.4.2.1 Vier frei nutzbare Variablen<br />

Es können beliebige Variablen mit der URL der Umfrage versendet werden um sie zu personalisieren<br />

oder um beliebige zusätzliche Informationen zu übermitteln.<br />

(vgl. http://help.surveymonkey.com/app/answers/detail/a_id/6749/kw)<br />

Bewertung: 3 (umfassend unterstützt)<br />

4.4.2.2 Mehr als vier nutzbare Variablen<br />

Der Anzahl der nutzbaren Variablen ist nur durch Einschränkungen der Maximallänge von URLs eine<br />

Grenze gesetzt. Diese kann 2048 Zeichen nicht überschreiben, welche jedoch vollständig für Variablen<br />

genutzt werden können.<br />

Bewertung: 3 (umfassend unterstützt)<br />

4.4.3 Datenexport<br />

Es stehen die Formate PDF, HTML, XML, CSV, XLSX und ein Export in IBM SPSS zur Verfügung.<br />

Bewertung: 3 (umfassend unterstützt)<br />

4.4.4 Automatischer Datenexport<br />

Es gibt weder einen Scheduler für automatisierten Export der Daten noch einen Web-Service für direkten<br />

Datenabruf. Der Export muss jedes Mal von H<strong>and</strong> erfolgen (siehe Anhang A, Frage 4).<br />

Bewertung: 0 (nicht unterstützt)<br />

4.4.5 Automatische Auswertung<br />

Es stehen einige Basisberichte und einfache Diagramme zur Auswahl, für weitere Auswertungen wird<br />

auf Excel verwiesen (siehe Anhang A, Frage 2). Diese sind für die Teilgruppe nicht relevant, da in<br />

jedem Fall IBM Cognos für das Reporting verwendet wird.<br />

284


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 1 (teilweise unterstützt)<br />

4.5 Administratives<br />

4.5.1 Status der Umfrage änderbar<br />

Die Erfassung der Ergebnisse läuft über einen Collector, welcher geöffnet und geschlossen werden<br />

kann. Bereits laufende Umfragen können zudem bei Bedarf geändert werden, siehe:<br />

http://hilfe.surveymonkey.com/app/answers/detail/a_id/737/kw/%C3%A4nderungen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

4.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar<br />

Es kann ein benutzerdefinierter Text eingeblendet werden, falls ein Link zu einer inaktiven Umfrage<br />

aufgerufen wird, siehe:<br />

http://hilfe.surveymonkey.com/app/answers/detail/a_id/1252/kw/geschlossen<br />

Bewertung: 3 (umfassend unterstützt)<br />

4.5.3 Generierung eines Links für Newsletter-/ Web-Umfrage<br />

Es werden kompakte Links generiert, welche als Premium-Kunde auch angepasst werden können. Sie<br />

enthalten jedoch in jedem Fall die Domains www.surveymonkey.com oder www.research.net, welche<br />

auch in der Adressleiste beim Ausfüllen des Fragebogens angezeigt wird.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

4.5.4 Net Promoter Score umsetzbar<br />

Ein Net Promoter Score ist nicht Teil der Basisfunktionen. Es können keine Berechnungen durchgeführt<br />

werden, daher ist er auch nicht konstruierbar. (siehe Anhang A, Frage 2)<br />

Bewertung: 0 (nicht möglich)<br />

4.6 Sonstiges<br />

4.6.1 Erweiterbarkeit durch Apps<br />

Es besteht eine Anbindung zu einigen Partnern, welche die Funktionalität erweitern können. Dabei<br />

steht die Integration in E-Mail-Kampagnen via MailChip, Mad Mimi, Active Campaign und Clever<br />

Reach im Vordergrund. Per GroSocial kann zudem der Zugang zu Facebook erleichtert werden.<br />

Weitere Kontakte lassen sich finden, etwa umfassendere Analysefunktionen via MarketSight.<br />

285


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

(vgl. http://www.marketsight.com/SurveyMonkey-data-analysis.htm)<br />

Bewertung: 3 (umfassend unterstützt)<br />

4.6.2 Mobiler Zugang<br />

SurveyMonkey ist nicht auf die Nutzung durch mobile Geräte ausgelegt oder optimiert, jedoch sollte<br />

der Zugang durch den Browser eines mobilen Geräts möglich sein.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

4.6.3 Support<br />

Der Kundendienst in Form eines Ticket-Systems ist Wochentags, 9-17 Uhr in Deutsch erreichbar.<br />

Englischsprachiger Support ist ganzjährlich, 24 Stunden am Tag möglich. Ein Live-Chat gibt es nicht,<br />

für Premium-Kunden steht jedoch ein Telefonkontakt zur Verfügung.<br />

Bewertung: 2 (teilweise unterstützt)<br />

4.6.4 Dynamische Inhalte/ Möglichkeiten<br />

Es ist keine unmittelbare Möglichkeit dynamische Inhalte einzubinden vorh<strong>and</strong>en. Dies muss über<br />

einen externen Dienst realisiert werden.<br />

Bewertung: 0 (nicht möglich)<br />

4.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel<br />

Die Webseite enthält ein FAQ mit nach Themen sortierten, häufig gestellten Fragen und mit Suchfunktion.<br />

Bewertung: 2 (teilweise unterstützt<br />

286


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

5. SurveyGizmo<br />

SurveyGizmo ist ein Tool, das bislang nicht von CEWE genutzt wird. Die Teilgruppe hat aufgrund<br />

einiger Anforderungen nach einer weiteren Alternative zu den bisher vorgestellten Systemen gesucht.<br />

Dabei hat sich SurveyGizmo als durchaus denkbare Möglichkeit herauskristallisiert und wurde demnach<br />

in den Kriterienkatalog und somit in den Vergleich aufgenommen.<br />

5.1 Design<br />

5.1.1 Buttons an CI anpassbar<br />

SurveyGizmo erlaubt das unmittelbare Bearbeiten des unterliegenden Codes, sowohl HTML als auch<br />

CSS wird unterstützt. Somit kann mit gewissem Aufw<strong>and</strong> praktisch jedes Element bis ins Detail bearbeitet,<br />

entfernt oder hinzugefügt werden. Die Änderungen können in Vorlagen gespeichert und in der<br />

Zukunft weiter verwendet werden (siehe Abbildung 5.1).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.1: Code für Buttons<br />

5.1.2 Farben an CI anpassbar<br />

Auch die Farben jeglicher Elemente können angepasst werden. Die Anpassung wird anh<strong>and</strong> vordefinierter<br />

Elemente (Style Options) über eine GUI realisiert. Alternativ liegt wiederum der Code vollständig<br />

offen und kann bis ins Detail angepasst werden (siehe Abbildung 5.2).<br />

287


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.2: GUI und Quellcode zur Farbanpassung<br />

5.1.3 Benutzerdefiniertes Layout<br />

Die Offenlegung des CSS- und HTML-Codes ermöglicht umfangreiche Anpassungen des Layouts an<br />

individuelle Anforderungen, erfordert jedoch einen gewissen Arbeitsaufw<strong>and</strong>. Dieser sollte nur einmalig<br />

beim Anlegen der Templates und bei eventuellen Änderungen anfallen (siehe Abbildung 5.3 &<br />

Abbildung 5.4).<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.3: Beispielhaftes Design 1<br />

288


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.4: Beispielhaftes Design 2<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.2 Fragenarten<br />

Die Umfrage ist modular aufgebaut und in Seiten und Fragen unterteilt. Seiten können Fragen aus<br />

einem Schnellmenü mit denen am häufigsten verwendeten oder aus einem detaillierten Menü mit Vorschau<br />

hinzugefügt werden. Dieses Menü enthält auch eine Verknüpfung zu einer Fragenbibliothek,<br />

welche vorgegebene Beispielfragen enthält und gezielt mit eigenen Fragen gefüllt werden kann. Anschließend<br />

ist es möglich, die einzelnen Elemente, Logiken und weitere Attribute einzustellen (siehe<br />

Abbildung 5.5).<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.5: Auswahl möglicher Fragen<br />

289


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

5.2.1 Fragenart: Einfach-Nennung<br />

5.2.1.1 Entscheidungsfrage<br />

Einfache Entscheidungsfragen werden als Basic > Single Select bzw. Multiple Choice > Radio Button<br />

eingebunden (siehe Abbildung 5.6).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.6: Entscheidungsfrage<br />

5.2.1.2 Skalafrage<br />

Skalafragen können ohne Einschränkung möglicher Antworten eingebunden werden. Dabei kann eine<br />

benutzerdefinierte Bewertung im Hintergrund angegeben werden, um die Analyse zu ermöglichen<br />

(siehe Abbildung 5.7).<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.7: Skalafrage<br />

Alternativ können zu vergebende Sterne als Darstellungsform verwendet werden (siehe Abbildung<br />

5.8).<br />

290


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.8: Skalafrage: Vergabe von Sternen<br />

5.2.1.3 Multiple-Choice: Choose<br />

Einfache Multiple-Choice-Fragen können mit unbegrenzter Anzahl möglicher Einträge als Likert-<br />

Scale umgesetzt werden (siehe Abbildung 5.9).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.9: Multiple-Choice: Choose<br />

5.2.1.4 Tabelle<br />

Jede Darstellungsform kann einzeln oder in Tabellenform abgebildet werden (siehe Abbildung 5.10).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.10: Tabellen-Frage<br />

291


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

5.2.1.5 Offene Fragen<br />

Offene Fragen können als freie Textfelder platziert werden, deren Dimensionen und maximale Anzahl<br />

an Zeichen und Wörtern festgelegt werden können (siehe Abbildung 5.11).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.11: Offene Frage<br />

5.2.2 Fragenart: Mehrfach-Nennung<br />

5.2.2.1 Multiple-Choice: Check (mehrere Antworten)<br />

Multiple-Choice-Fragen können ebenfalls einzeln oder als Tabelle gruppiert eingebunden werden (siehe<br />

Abbildung 5.12).<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.12: Multiple-Choice: Check<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.2.2.2 Spreadsheet<br />

Spreadsheets können sowohl mit freier Texteingabe als auch über Dropdown-Menüs mit vorgegebenen<br />

Werten oder Intervallen umgesetzt werden (siehe Abbildung 5.13).<br />

292


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.13: Spreadsheet<br />

5.2.3 Umfrage-Templates<br />

Es können sowohl bestehende Umfragen als auch definierte Vorlagen, Importe aus Word als auch eine<br />

spezielle Brainstorming-Hilfe bei der Erstellung neuer Umfragen genutzt werden (siehe Abbildung<br />

5.14).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.14: Umfrage-Templates<br />

5.2.4 Rating von Fragen<br />

Es ist kein spezielles Rating von Fragen vorgesehen.<br />

Bewertung: 0 (nicht möglich)<br />

5.3 Umfragefunktionen<br />

5.3.1 Willkommenstext<br />

Mit dem Elementtyp Instructions/ Text kann eine Seite als Willkommensseite genutzt werden (siehe<br />

Abbildung 5.15).<br />

293


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.15: Willkommenstext<br />

5.3.2 Branching/ Skip Logic<br />

Durch einen umfangreichen Logik-Editor mit logischer Verknüpfung von Konditionen können komplexe<br />

Verzweigungen gestaltet werden (siehe Abbildung 5.16).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.16: Logik-Editor bei Verzweigungen<br />

5.3.3 Show/ Hide<br />

Ähnlich der Verzweigungslogik können auch Bedingungen zum Aus- und Einblenden von Fragen<br />

oder Seiten eingesetzt werden (siehe Abbildung 5.17).<br />

294


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.17: Logik-Editor zum Ein-/ Ausblenden von Fragen<br />

5.3.4 Finish Options<br />

Zum Abschluss der Umfrage oder an jedem beliebigen Punkt können an Bedingungen geknüpfte Aktionen<br />

durchgeführt werden. Darunter ist die automatische Weiterleitung auf eine <strong>and</strong>ere URL nach<br />

einer gewünschten Zeit, das Versenden von E-Mails, Anzeigen der Ergebnisse oder Aktivierung individueller<br />

Skripte.<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.3.5 Pagebreak<br />

Die Umfrage basiert auf einzelnen Seiten, entsprechend können weitere Seiten an jeder Stelle eingefügt<br />

und per Drag & Drop verschoben werden (siehe Abbildung 5.18 & Abbildung 5.19).<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.18: Pagebreak<br />

295


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.19: Verschieben von Fragen und Seiten<br />

5.3.6 Einbinden von Bildern als Antwortmöglichkeit<br />

Bilder können sowohl einzeln als auch über mehrfache Auswahl anh<strong>and</strong> eines speziellen Fragentyps<br />

als Antwortmöglichkeiten genutzt werden (siehe Abbildung 5.20).<br />

Abbildung 5.20: Mögliche Fragen mit Bildern (Screenshot aus SurveyGizmo)<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.3.7 Alerting bei Kontaktanfrage<br />

Über die Aktion Send Email kann an jeder beliebigen Stelle eine E-Mail an eine Kontaktadresse, wie<br />

den Kundendienst, inkl. vorh<strong>and</strong>ener Antworten gesendet werden (siehe Abbildung 5.21).<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.21: Aktion Send Email mit Antwort der vorigen Frage verknüpft<br />

Bewertung: 3 (umfassend unterstützt)<br />

296


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

5.4 Organisatorisches<br />

5.4.1 Strukturierte Anzeige von Umfragen<br />

Auf der Startseite kann der Nutzer ein Dashboard aufrufen, welches die zugänglichen Umfragen anzeigt.<br />

Diese können wahlweise nach Status, Typ oder Ordnern gefiltert werden. Durch ein Rollen- und<br />

Berechtigungsystem bekommt der Nutzer nur Zugriff auf die für ihn vorgesehenen Elemente (siehe<br />

Abbildung 5.22).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.22: Umfrageverwaltung<br />

5.4.2 Interne Variablen<br />

5.4.2.1 Vier Frei Nutzbare Variablen<br />

Es können freie Variablen über die URL der Umfrage versendet werden, welche der ausgefüllten Umfrage<br />

zugeordnet werden und beim Export als Teil des Datensatzes erhalten bleiben.<br />

(Anleitung siehe: https://support.surveygizmo.com/entries/21433006-pushing-values-into-the-surveythrough-the-query-string-part-1)<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.4.2.2 Mehr als Vier Frei Nutzbare Variablen<br />

Der Anzahl der nutzbaren Variablen ist theoretisch keine Grenze gesetzt.<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.4.3 DatenExport<br />

Der Datenexport umfasst die Excel-Formate XLS und CSV, den Download eventuell von Nutzern bei<br />

entsprechenden Fragen hochgeladener Dateien sowie die nötigen Dateien zur Nutzung in IBM SPSS.<br />

Die zu exportierenden Daten können zudem angepasst werden, bestimmte Fragen ausgeschlossen oder<br />

297


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

wahlweise der Fragentext oder die Fragennummer in der ersten Zeile ausgewählt werden. Wurden<br />

Fragen mit Piping verwendet, kann zudem der Export dieser Daten genutzt werden, welcher sich zurzeit<br />

im Beta-Status befindet (siehe Abbildung 5.23).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.23: Exportmöglichkeiten<br />

5.4.4 Automatischer DatenExport<br />

SurveyGizmo verfügt zudem über eine umfassend dokumentierte REST API zwecks externem Zugriff,<br />

wodurch Daten in den Formaten XML, JSON, PSON abgerufen werden können.<br />

(vgl. http://developer.surveygizmo.com/).<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.4.5 Automatische Auswertung<br />

Berichte können strukturell gespeichert und auf Knopfdruck mit aktualisierten Daten versehen werden.<br />

Es ist möglich sie stark zu modifizieren und bei Bedarf in Word, Excel oder als PDF zu exportieren.<br />

Ebenfalls kann eine URL generiert werden, um auf den Bericht zuzugreifen und ein automatisierter E-<br />

Mail-Vers<strong>and</strong> ist nach Wunsch zu festgelegten Zeiten (z. B. jeden Montag um 8 Uhr, immer am Ersten<br />

des Monats, täglich um 14 Uhr, etc.) möglich. Zu den Berichtsformen gehören unter <strong>and</strong>erem auch<br />

Fall-Off-Reports, welche darstellen, auf welcher Seite die Umfrage abgebrochen wurde sowie Kreuztabellen<br />

(siehe Abbildung 5.24).<br />

298


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.24: Beispiel für zusammenfassenden Bericht<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.5 Administratives<br />

5.5.1 Status der Umfrage änderbar<br />

Der Status der Umfrage kann jederzeit geändert werden und bietet neben dem Öffnen und Schließen<br />

der Umfrage auch einen Test-Modus, in welchem gegebene Antworten als Test markiert werden.<br />

Dieser Modus kann genutzt werden, um die Funktionalität und das Datenformat der Umfrage vor<br />

Veröffentlichung zu prüfen. Zur Generierung von Testdaten ist ebenfalls eine Funktion enthalten,<br />

welche bis zu 1000 Datensätze pro Durchlauf erstellt (siehe Abbildung 5.25).<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.25: Wahl des Umfragestatus<br />

Bewertung: 3 (umfassend unterstützt)<br />

299


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

5.5.2 Text bei Aufruf einer inaktiven Umfrage anpassbar<br />

Der Text kann individuell angepasst werden (siehe Abbildung 5.26).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.26: Text bei inaktiver Umfrage<br />

5.5.3 Generierung eines links für Newsletter- / Web-Umfragen<br />

Es können sowohl URLs über www.surveygizmo.com oder www.surveygizmo.co.uk, verkürzte URLs<br />

als auch benutzerdefinierte Domains wie umfrage.beispiel.de verwendet werden. Die benutzerdefinierten<br />

Variablen können in einer weiteren Option an dieser Stelle eingebunden werden (siehe Abbildung<br />

5.27).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.27: Generierung von URL<br />

5.5.4 Net Promoter Score Umsetzbar<br />

Die NPS gehört nicht zum Basisumfang, kann jedoch über den Market Place für $3,99 zusätzlich gebucht<br />

werden (siehe Abbildung 5.28).<br />

300<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.28: Fragetyp NPS im Market Place


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.6 Sonstiges<br />

5.6.1 Erweiterbarkeit durch apps<br />

Zahlreiche Produkte von Drittanbietern können mit SurveyGizmo genutzt werden. Dazu zählen Marketing-Tools,<br />

wie ExactTarget und MailChimp, Integration von Umfragen in Twitter und Facebook<br />

sowie Salesforce, FreshBooks, Eventbrite, Ready Talk und Google Docs.<br />

Zudem kann SurveyGizmo durch seine API umfassend erweitert und angepasst werden. So enthält der<br />

Market Place sowohl besondere Fragetypen als auch Funktionen.<br />

Bewertung: 3 (umfassend unterstützt)<br />

5.6.2 Mobiler Zugang<br />

Durch die flexible Anpassung des Layouts können Umfragen einfach für mobile Geräte optimiert werden.<br />

Die Vorschau der Umfrage kann neben Bildschirmen mit voller Größe auch Tablets, Smartphones<br />

und kleine Mobiltelefone simulieren (siehe Abbildung 5.29).<br />

Bewertung: 3 (umfassend unterstützt)<br />

Quelle: Screenshot aus SurveyGizmo<br />

Abbildung 5.29: Vorschau einer Umfrage auf Smartphones<br />

5.6.3 Support<br />

SurveyGizmo ist vollständig in Englisch gehalten, entsprechend ist auch der Support nur in Englisch<br />

verfügbar. Anfragen können über ein Ticket-System oder per Telefon über eine (unklar ob auch aus<br />

Deutschl<strong>and</strong>) kostenlose Rufnummer 12 Stunden Wochentags bearbeitet werden. Die Ostküstenzeit<br />

entspricht 14 bis 2 Uhr deutscher Zeit. Für Notfälle steht ein Techniker über eine separate Rufnummer<br />

auch außerhalb der Geschäftszeiten zur Verfügung.<br />

301


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Bewertung: 2 (teilweise unterstützt)<br />

5.6.4 Dynamische Inhalte/ Möglichkeiten<br />

Zwar können Umfragen durch Variablen personalisiert werden und es können diverse Medien eingebunden<br />

werden, doch besondere Funktionen wie das Abrufen von Gutscheincodes ist nicht vorgesehen.<br />

Jedoch sollten die API sowie Javascript mit gewissem Aufw<strong>and</strong> die Programmierung und Einbindung<br />

zusätzlicher Funktionen zumindest ermöglichen.<br />

Bewertung: 1 (ansatzweise unterstützt)<br />

5.6.5 Dokumentation und <strong>and</strong>ere Hilfsmittel<br />

Der ebenfalls ausschließlich englische Help Desk enthält eine große Anzahl thematisch sortierter Hilfeseiten<br />

und voll bebilderte Tutorials. Zudem werden kostenpflichtige Trainingskurse angeboten, welche<br />

neben dem Umgang mit SurveyGizmo auch Tricks aus der Marketing-Branche enthalten sollen.<br />

(vgl. https://appv3.sgizmo.com/training)<br />

Bewertung: 2 (teilweise unterstützt)<br />

302


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

6. Ergebnis<br />

Es wurde entschieden, dass die Teilgruppe das Projekt mit QuestionPro als Frontend-Tool für die Erstellung<br />

von Umfragen arbeiten wird. Die Vorteile von SurveyGizmo waren nicht ausschlaggebend<br />

genug, um die wenigen Defizite von QuestionPro auszugleichen.<br />

Abbildung 6.1 zeigt eine Gegenüberstellung der zur Auswahl stehenden Tools mit den markantesten<br />

Kriterien für oder gegen das entsprechende Umfragetool. QuestionPro, welches ohnehin bereits im<br />

Einsatz ist, hat den wesentlichen Vorteil, dass es den Funktionsumfang bis auf wenige Ausnahmen<br />

komplett darstellt. Die wenigen Ausnahmen die bestehen, werden mit der neuen Team-Edition von<br />

QuestionPro fast gänzlich beseitigt.<br />

Einziges Problem, welches noch besteht und für die weitere Arbeit geklärt werden muss, ist die Frage<br />

der Schnittstelle zum Datenexport.<br />

Abbildung 6.1: Gegenüberstellung<br />

303


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Machbarkeitsanalyse<br />

Anhang<br />

A. Supportanfrage SurveyMonkey 10.Oktober 2012<br />

Hallo Herr Tomann,<br />

danke für Ihre Anfrage. Zu Ihren Fragen:<br />

1. Ist es möglich die „Umfragevorlagen für Experten“ zu ersetzen um einen eigenen Katalog von Vorlagen zu erstellen?<br />

Ja und nein. Ihre Umfragen können Ihnen als Vorlagen dienen. Sie können ganz leicht eine Kopie jedes Umfragebogens<br />

erstellen und so eine neue Umfrage ohne Antworten generieren. Kopieren Sie eine Umfrage, um eine neue Version zu erstellen.<br />

Antwort-Link: http://hilfe.surveymonkey.com/app/answers/detail/a_id/722<br />

2. Welche Arten von Reporting sind möglich? (Graphen/Diagramme, benutzerdefinierte KPIs, besonders mit Hinsicht<br />

auf die Möglichkeit einer Net Promoter Score)<br />

Wir bieten sechs Exportoptionen zum Senden Ihrer Daten im Rohformat oder im zusammengefassten Format an. Kommentare<br />

mit unbestimmtem Ende sind in den meisten Formaten ebenfalls enthalten.<br />

http://help.surveymonkey.com/app/answers/detail/a_id/1687<br />

Erstellen Sie im Bereich „Analysieren“ benutzerdefinierte Berichte, um die Datenverwaltung und -analyse zu vereinfachen.<br />

http://help.surveymonkey.com/app/answers/detail/a_id/1697<br />

Mithilfe des Diagrammfeatures können Sie benutzerdefinierte Diagramme für Ihre Daten erstellen.<br />

http://help.surveymonkey.com/app/answers/detail/a_id/1772<br />

Exportieren Sie die Daten nach Excel und erstellen Sie benutzerdefinierte Diagramme mit zusätzlichen Erweiterungen.<br />

http://help.surveymonkey.com/app/answers/detail/a_id/1847<br />

3. Können in der Umfrageverwaltung Unterordner angelegt werden?<br />

Ja: http://hilfe.surveymonkey.com/app/answers/detail/a_id/1072/kw/ordner<br />

4. Können Daten automatisiert/per Scheduler exportiert werden? Besser: besteht ein WebService zur direkten Extraktion<br />

in eine lokale fi?<br />

Nein, leider nicht. Dies muss jedes Mal "manuell" geschehen. Für solche Fragen lege ich Ihnen auch unser umfangreiches<br />

Hilfecenter ans Herz. Hier finden Sie häufig gestellte Fragen, eine praktische Suchfunktion und die Antwort auf die meisten<br />

Fragen direkt:<br />

http://hilfe.surveymonkey.com/app/home/<br />

Weiterhin viel Erfolg bei Ihren Umfragen mit SurveyMonkey!<br />

304


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: CEWE<br />

Dokumentation<br />

305


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

306


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Inhaltsverzeichnis CEWE Dokumentation<br />

Abbildungsverzeichnis ........................................................................................................... 308<br />

Abkürzungsverzeichnis .......................................................................................................... 308<br />

1. Einleitung ......................................................................................................................... 309<br />

2. QuestionPro ..................................................................................................................... 310<br />

3. ETL-Anwendung ............................................................................................................. 311<br />

3.1 Automatische Prozesse ............................................................................................... 314<br />

3.2 Manueller Prozess ...................................................................................................... 314<br />

3.3 Parameter anpassen .................................................................................................... 314<br />

3.4 Risiken ........................................................................................................................ 315<br />

4. Datenbankmodell ............................................................................................................. 315<br />

5. Fragenpool ....................................................................................................................... 318<br />

5.1 Benutzerspezifische Beschreibung ............................................................................. 318<br />

5.1.1 Umfrage ID ...................................................................................................... 318<br />

5.1.2 Fragenkategorisierung ..................................................................................... 321<br />

5.1.3 Kategorien erstellen ......................................................................................... 322<br />

5.1.4 Fragenübersicht ............................................................................................... 323<br />

5.1.5 Kategorienübersicht ......................................................................................... 324<br />

5.2 Technische Beschreibung ........................................................................................... 324<br />

5.2.1 Umfrage ID ...................................................................................................... 325<br />

5.2.2 Fragenkategorisierung ..................................................................................... 326<br />

5.2.3 Kategorien erstellen ......................................................................................... 328<br />

5.2.4 Fragenübersicht ............................................................................................... 331<br />

5.2.5 Kategorienübersicht ......................................................................................... 332<br />

6. Fazit ................................................................................................................................. 332<br />

Anhang ................................................................................................................................... 335<br />

A. Protokolle ......................................................................................................................... 335<br />

307


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Abbildungsverzeichnis<br />

Abbildung 1.1: Projektphasenübersicht ................................................................................. 310<br />

Abbildung 1.2: Gesamtüberblick ........................................................................................... 310<br />

Abbildung 3.1: Sequenzdiagramm Ablauf beim automatischen Prozess .............................. 312<br />

Abbildung 3.2: Sequenzdiagramm vereinfachter Ablauf beim Schreiben von Ergebnissen . 313<br />

Abbildung 3.3: Auszug aus der datum.txt-Datei .................................................................... 314<br />

Abbildung 3.4: Auszug aus der connection.txt-Datei ............................................................ 315<br />

Abbildung 4.1: Datenbankmodell .......................................................................................... 318<br />

Abbildung 5.1: QuestionPro MySurvey-Site ......................................................................... 319<br />

Abbildung 5.2: QuestionPro Umfrage ID ermitteln ............................................................... 319<br />

Abbildung 5.3: Umfrage ID ................................................................................................... 320<br />

Abbildung 5.4: Fragenkategorisierung ................................................................................... 321<br />

Abbildung 5.5: Neue Kategorien anlegen .............................................................................. 322<br />

Abbildung 5.6: Fragenübersicht ............................................................................................. 323<br />

Abbildung 5.7: Kategorienübersicht ...................................................................................... 324<br />

Abbildung 5.8: Umfrage ID ................................................................................................... 325<br />

Abbildung 5.9: Fragenkategorisierung ................................................................................... 326<br />

Abbildung 5.10: Kategorien erstellen .................................................................................... 328<br />

Abbildung 5.11: Fragenübersicht ........................................................................................... 331<br />

Abbildung 5.12: Kategorienübersicht .................................................................................... 332<br />

Abbildung 6.1: Pop-Up .......................................................................................................... 334<br />

Abkürzungsverzeichnis<br />

AP Arbeitspaket<br />

API Application Programming Interface<br />

BI <strong>Business</strong> <strong>Intelligence</strong><br />

DB Datenbank<br />

ETL Extract, Transform, Load<br />

OWB Oracle Warehouse Builder<br />

308


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

1. Einleitung<br />

Im Rahmen der <strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong> <strong>Applications</strong> <strong>and</strong> <strong>Evaluation</strong> der Carl von Ossietzky<br />

Universität Oldenburg ist im Sommer 2012 in Zusammenarbeit mit der CEWE COLOR AG &<br />

Co. OHG (CEWE) das Projekt „gestochen scharfe Fragen stellen“ entst<strong>and</strong>en.<br />

Nach einer ersten Interviewphase mit Dr. Joachim Marz von der CEWE haben sich die Studierenden<br />

Björn Kreye, Benjamin Weinert, Fatih Inel, Henning Tomann und Wiebke Meyer für die Bearbeitung<br />

des Projektes „gestochen scharfe Fragen stellen“ entschieden. Nach einer weiteren Interviewphase<br />

mit den Vertretern der involvierten Fachbereiche von CEWE, in welcher die spezifischen Anforderungen<br />

für das Projekt „gestochen scharfe Fragen stellen“ ermittelt wurden, hat die Arbeit im August<br />

2012 begonnen. Weitere Interviews zur Klärung von Vorgehensweisen wurden im Rahmen des Projektes<br />

geführt. Die Protokolle zu den Besprechungen sind im Anhang (siehe Anhang A Protokolle) zu<br />

finden.<br />

Ziel des Projektes gestochen scharfe Fragen stellen ist eine Vereinheitlichung der computergestützten<br />

Prozesse und Systeme zur gezielten Umfrageerstellung. Der derzeitige Ablauf zur Erstellung einer<br />

Umfrage enthält mehrere systemübergreifende, manuelle Arbeitsschritte. Durch Einbeziehung vorh<strong>and</strong>ener<br />

Analyseergebnisse in die Umfrageerstellung soll eine Vereinfachung der Arbeitsabläufe durch<br />

unmittelbare Verfügbarkeit relevanter Daten ohne Medienbrüche ermöglicht werden. Das Projekt<br />

reicht von der Umfrageerstellung über die Fragenkategorisierung, die Ergebnisdatenlagerung bis hin<br />

zu der Auswertung der Ergebnisse.<br />

Nach einer umfangreichen Analysephase, in welcher eine Machbarkeitsanalyse verschiedener Umfragetools<br />

durchgeführt wurde, begann die <strong>Projektgruppe</strong> CEWE Ende Oktober mit der Umsetzung der<br />

ermittelten Anforderungen. Anfang Februar 2013 wurde den Mitwirkenden von CEWE der aktuelle<br />

St<strong>and</strong> des Projektes demonstriert. Bis zu diesem Zeitpunkt wurde der Datentransfer von dem Umfragetool<br />

zu der CEWE eigenen Oracle 11g Datenbank (DB) durch eine Java-Applikation realisiert, sowie<br />

erste Reports in IBM Cognos erstellt. Analysen in IBM SPSS wurden zu diesem Zeitpunkt noch nicht<br />

gestartet, da bei der ersten Absprache zwischen der <strong>Projektgruppe</strong> und dem Fachbereich ein Problem<br />

aufgetreten ist. Die Fragen verschiedener Umfragen konnten nicht umfrageübergreifend analysiert<br />

werden, wodurch ein Mehrwert durch Analyse der Daten mittels IBM SPSS für CEWE nicht gegeben<br />

war. Es wurde daher bei der Präsentation des aktuellen St<strong>and</strong>es mit den Entscheidungsträgern von<br />

CEWE entschieden, den bereits während der Anforderungen um im Fachkonzept erläuterten Fragenpool<br />

zur Kategorisierung von Fragen zu realisieren, damit für CEWE eine Umfragen übergreifende<br />

Analyse möglich ist. Aufgabe der <strong>Projektgruppe</strong> war es nun, eine Basis für weitere Reports und Analysen<br />

durch den Fachbereich zu schaffen und nicht selbstständig Reports und Analysen zu erstellen.<br />

Der Fragenpool zur Kategorisierung von Fragen verschiedener Umfragen durch den Fachbereich wur-<br />

309


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

de bis Mitte März 2013 erstellt. Am 19. März 2013 wurde die Arbeit der <strong>Projektgruppe</strong> den auf CEWE<br />

Seite verantwortlichen Personen übergeben.<br />

Abbildung 1.1: Projektphasenübersicht<br />

Das folgende Dokument geht detailliert auf den im Rahmen des Projektes „gestochen scharfe Fragen<br />

stellen“ installierten Prozess sowie die für dessen Ablauf relevanten Anwendungen ein. Der realisierte<br />

Prozess zur Kategorisierung von Fragen und Lagerung von Fragen und Antworten zu verschiedenen<br />

Umfragen verwendet:<br />

- QuestionPro zur Erstellung von Umfragen.<br />

- Eine auf Java basierende ETL-Anwendung zum Abrufen der Daten aus der QuestionPro Datenbank<br />

und Ablage in der betriebsinternen Datenbank.<br />

- Oracle Database 11g zur Lagerung der abgefragten Daten aus QuestionPro und zur Speicherung<br />

der durch den Benutzer angegebenen Kategorien.<br />

- Eine Benutzeranwendung zur Kategorisierung von Fragen in einem Pool mit zusätzlicher<br />

Funktion zur Erfassung der in QuestionPro vorh<strong>and</strong>enen Umfragen.<br />

Abbildung 1.2: Gesamtüberblick<br />

2. QuestionPro<br />

Im Rahmen der Projektarbeit wurde durch eine vorangegangene Analyse, in Abstimmung mit dem<br />

Verantwortlichen des Fachbereichs, QuestionPro für die geplante Umsetzung ausgewählt (siehe Kriterienkatalog<br />

bzw. Machbarkeitsanalyse im Datenverarbeitungskonzept). QuestionPro ist ein Produkt<br />

des gleichnamigen, amerikanischen Unternehmens QuestionPro. Es dient der Umfrageerstellung und<br />

wurde bereits vor Start des Projektes von CEWE mit einer Einzellizenz eingesetzt. Für die Ausweitung<br />

der Nutzung war das Upgrade auf die Team Edition von QuestionPro erforderlich, welche die Voraussetzung<br />

für die Nutzung der Schnittstelle zum Datenabruf ist.<br />

310


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

3. ETL-Anwendung<br />

Die auf Java basierende ETL-Anwendung wird als solche bezeichnet, weil sie mit Hilfe des Question-<br />

Pro Application Programming Interface (API) aus QuestionPro, einige Transformationen vornimmt<br />

und die Umfragedaten in die modellierte Oracle Datenbank schreibt.<br />

Zum Starten des Schreibvorganges der QuestionPro-Daten in die Oracle Datenbank wird die Umfrage<br />

ID, die von QuestionPro vergeben wird, über die Benutzeranwendung in die Tabelle SR_Umfrage der<br />

Datenbank geschrieben. Das entwickelte Java-Programm ruft in einem festgelegten zeitlichen Intervall<br />

automatisch die Daten aller erfassten Umfragen mit der Methode „schreibe Ereignisse“ ab. Ist der<br />

Ladeprozess für eine Umfrage abgeschlossen, wird in der Tabelle SR_Umfrage für die ETL_Load_ID<br />

eine 1 gesetzt und anschließend in die Tabelle SR_ETL_LOG übertragen. Sind alle ETL_Load_IDs<br />

der gesamten Tabelle SR_ETL_LOG auf 1 gesetzt, wird das Programm beendet. Dies impliziert, dass<br />

der ETL-Vorgang vollständig abgeschlossen wurde.<br />

Die Anwendung schreibt bei jedem Durchlauf stets die Ergebnisse des Vortags in die Datenbank.<br />

(Beispiel: Heute ist der 13.03., dann holt das Programm die Ergebnisse vom 12.03.) und schreibt diese<br />

in die Datenbank.<br />

Die in dem Java-Programm verwendeten Methoden sind wie folgt aufgebaut:<br />

- selektiereTabelle(String table)<br />

Diese Methode führt einen SELECT-Befehl auf die Datenbank aus, dazu wird der<br />

Tabellenname als String übergeben.<br />

- aktualisiereTabelle(String table, String column, String value, String column2, String value2)<br />

Mit Hilfe dieser Methode ist es möglich, Werte einer Tabelle zu aktualisieren. Dafür müssen<br />

der Tabellenname, die Spalte und der anzupassende Wert übergeben werden. Die Variablen<br />

column2 und value2 sind für den WHERE-Teil notwendig.<br />

- pruefeWert(String table, String column, String value)<br />

Eine Boolean-Funktion, die überprüft, ob der jeweilige Wert in der Tabelle vorh<strong>and</strong>en ist oder<br />

nicht.<br />

Die der Methoden schreibeInUmfrage, schreibeInFrage, schreibeInAntwortStammdaten, schreibeInAntwort,<br />

schreibeInCvar und schreibeInUmfrageFrage übergebenen Parameter werden in die<br />

dafür vorgesehenen Tabellen der Oracle-Datenbank geschrieben, sie setzen den INSERT INTO SQL-<br />

Befehl um.<br />

Der Ablauf des Programms ist in den folgenden Diagrammen dargestellt.<br />

311


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Abbildung 3.1: Sequenzdiagramm Ablauf beim automatischen Prozess<br />

312


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Abbildung 3.2: Sequenzdiagramm vereinfachter Ablauf beim Schreiben von Ergebnissen<br />

313


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

3.1 Automatische Prozesse<br />

Die ETL-Anwendung startet automatisch und führt den gesamten Extraktions-, Lade- und Transformationsprozess<br />

aus den Datenbanken von QuestionPro bis in die Datenbanken bei CEWE durch. Der<br />

Prozess startet jeden Morgen vor der Arbeitszeit.<br />

Nach dem herkömmlichen Laden der Daten vom Vortag führt die ETL-Anwendung selbstständig einen<br />

Korrekturprozess aus. Fehlerhafte Ladevorgänge (ETL_LOAD_ID = 0 in SR_ETL_LOG) werden<br />

identifiziert und für den Zeitraum erneut ausgeführt. Somit wird ein hohes Maß an Sicherheit gewährleistet,<br />

da selbst bei temporärem Ausfall der QuestionPro API oder <strong>and</strong>erer Verbindungen der Korrekturprozess<br />

täglich nach dem automatischen Prozess durchgeführt wird und eine Bereinigung vornimmt.<br />

3.2 Manueller Prozess<br />

Sollte es aus unbekannten Gründen doch zu fehlenden Daten kommen, besteht die Möglichkeit einen<br />

manuellen Prozess mit modifizierbarem Zeitraum unabhängig vom automatischen Prozess und dem<br />

Korrekturprozess zu starten.<br />

Dazu liegt eine Datei datum.txt der Manuell_QP.jar bei. In dieser Text-Datei kann ein beliebiges<br />

Start- und Enddatum eingegeben werden. Einzige Restriktion ist die Reihenfolge des Datums (Erst das<br />

Startdatum, dann das Enddatum) und das Format (MM/DD/YYYY). Ist beides angepasst, kann die<br />

Datei Manuell_QP.jar gestartet werden, die für den eingegebenen Zeitraum einen erneuten Datenextrakt<br />

durchführt.<br />

Abbildung 3.3: Auszug aus der datum.txt-Datei<br />

3.3 Parameter anpassen<br />

Sollte die Notwendigkeit bestehen die Verbindungsparameter für die Datenbank anzupassen (möglicherweise<br />

bei einem Datenbankumzug), kann dies mit Hilfe der beiliegenden connection.txt-Datei vorgenommen<br />

werden.<br />

In die connection.txt-Datei werden die Parameter für die Verbindung wie unter <strong>and</strong>erem Server-<br />

Adresse, Port, Service-Name oder die Benutzerdaten eingegeben werden. Die Reihenfolge kann der<br />

Datei entnommen werden.<br />

314


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Abbildung 3.4: Auszug aus der connection.txt-Datei<br />

3.4 Risiken<br />

Das bislang einzige identifizierte Risiko stellt eine fehlerhafte Umfrage ID innerhalb der<br />

SR_UMFRAGE-Tabelle dar. Sobald die Umfrage ID nicht korrekt eingegeben und bis zum automatischen<br />

Start der ETL-Anwendung nicht entfernt wurde, werden der automatische Datenextrakt und der<br />

Korrekturprozess nicht vollständig ausgeführt.<br />

Daher gilt es, dass fehlerhafte Umfrage IDs möglichst sofort und notwendigerweise vor dem Start der<br />

ETL-Anwendung erkannt und über die Benutzeranwendung zur Verwaltung des Fragenpools aus der<br />

Datenbank entfernt werden müssen (siehe Abschnitt 5.1.1).<br />

Ist dies nicht der Fall und die ETL-Anwendung startet mit einer fehlerhaften Umfrage ID, so wird der<br />

laufende Prozess abgebrochen, da bei Anfrage der Daten von QuestionPro ein Fehler entsteht. Die<br />

einzige mögliche Lösung ist das Löschen der fehlerhaften Umfrage ID aus der SR_UMFRAGE-<br />

Tabelle und der SR_ETL_LOG-Tabelle. Ersterer Löschvorgang ist notwendig, damit der automatische<br />

Prozess wieder reibungslos funktioniert. Der zweite Löschvorgang lässt auch den Korrekturprozess<br />

wieder vollständig ablaufen.<br />

4. Datenbankmodell<br />

Das Datenbankmodell wurde im CEWE-Schema (olrac.cewe.lan) angelegt. Die einzelnen Relationen<br />

beginnen immer mit dem Kürzel SR für Survey um die Zuordnung zu erleichtern. Das Modell beinhaltet<br />

insgesamt elf Relationen, von der zwei als Hilfs- oder Zwischenrelation (bzw. Hilfs- oder Zwischentabelle)<br />

verwendet werden. Die Relationen und wozu diese verwendet werden, wird im Folgenden<br />

beschrieben.<br />

- SR_ETL_Log<br />

Die ETL-Logs werden in der Relation SR_ETL_Log beh<strong>and</strong>elt. Die Log-Tabelle dient dazu,<br />

Fehler beim Schreiben der QuestionPro-Daten in die Datenbank zu erkennen bzw. zu erkennen,<br />

wann der Ladeprozess abgeschlossen oder wo dieser evtl. unterbrochen wurde. War der<br />

Ladeprozess erfolgreich, wird die Load_ID auf 1 gesetzt, falls nicht bleibt die Load_ID auf 0<br />

stehen. Die Load_ID ist in allen Relationen, die Daten von QuestionPro beziehen mit Ausnahme<br />

der Kategorientabellen, enthalten und zeigt an, ob ein Datensatz erfolgreich (1) oder<br />

nicht erfolgreich (0) geladen wurde. Ein ETL-Log gehört zu genau einer Umfrage. Des Weite-<br />

315


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

ren kann dieser Tabelle entnommen werden, wie viele Ergebnisse von QuestionPro abgerufen<br />

wurden, zu welcher Zeit der Abruf stattf<strong>and</strong> und wie lange der Vorgang angedauert hat.<br />

- SR_Umfragetyp<br />

Die Relation speichert den Umfragetypen einer Umfrage, etwa ob es sich bei der Umfrage um<br />

eine NPS-Umfrage, eine Key-Account-Umfrage, eine Mitarbeiterumfrage oder eine Kundenzufriedenheitsumfrage<br />

h<strong>and</strong>elt. Die Relation ist mit SR_Umfrage verbunden. Ein Umfragetyp<br />

kann zu einer oder mehreren Umfragen gehören.<br />

- SR_Umfrage<br />

SR_Umfrage beinhaltet alle Umfragen mit ihrer von QuestionPro vergebenen Umfrage_ID.<br />

Die Umfragen sind mit dem Ergebnissatz, der ETL_Log Tabelle und mit der Frage über die<br />

Hilfstabelle SR_Umfrage_Frage verbunden. Eine Umfrage ist immer genau einem Umfragetyp<br />

sowie einem oder mehreren Ergebnissätzen, ETL-Logs und Fragen zuzuordnen.<br />

- SR_Umfrage_Frage<br />

Die Hilfstabelle SR_Umfrage_Frage löst die n-m-Beziehung zwischen SR_Umfrage und<br />

SR_Frage auf. Die Tabelle beinhaltet lediglich die Primärschlüssel der beiden Tabellen<br />

SR_Umfrage und SR_Frage.<br />

- SR_Frage<br />

Die Relation SR_Frage enthält alle Fragen der verschiedenen Umfragen. Zu jeder Frage können<br />

mehrere Antworten, sowie Oberkategorien, Unterkategorien01 und Unterkategorien02<br />

gespeichert werden. Die Verbindung zu den Kategorien erfolgt über die Hilfstabelle<br />

SR_Frage_Kategorie.<br />

- SR_Antwort<br />

SR_Antwort ist eine Relation in der alle Antworten gespeichert werden. Jede Antwort gehört<br />

dabei zu genau einer Frage und zu genau einem Ergebnissatz.<br />

- SR_Ergebnissatz<br />

Die Relation zu den Ergebnissätzen beinhaltet die Eckdaten zu einer Umfrage, etwa aus welchem<br />

L<strong>and</strong> die Antworten zu einer Umfrage kommen, welche Zeit für das Ausfüllen der Umfrage<br />

benötigt oder wann die Umfrage bearbeitet wurde. Neben diesen Daten speichert die Tabelle<br />

fünf Custom_Variablen. Ein Ergebnissatz gehört zu einer oder mehreren Antworten und<br />

genau einer Umfrage.<br />

- SR_Frage_Kategorie<br />

Die Hilfstabelle SR_Frage_Kategorie löst die n-m-Beziehung zwischen SR_Frage und den<br />

Tabellen SR_Oberkategorie, SR_Unterkategorie01 und SR_Unterkategorie02 auf. Die Tabelle<br />

beinhaltet die Primärschlüssel der genannten Tabellen, sowie einen eigenen Primärschlüssel.<br />

- SR_Oberkategorie<br />

Die Oberkategorien werden in der Relation SR_Oberkategorie gespeichert. Jede Oberkategorie<br />

kann einer oder mehreren Fragen zugeordnet sein und kann mehrere Unterkategorien der<br />

ersten Ebene (Unterkategorie01) besitzen.<br />

316


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

- SR_Unterkategorie01<br />

Eine Unterkategorie der ersten Ebene wird in der Relation SR_Unterkategorie01 (in der physikalischen<br />

Datenbank SR_Unterkategorie genannt) beschrieben. Jede Unterkategorie01 kann<br />

einer oder mehreren Fragen zugeordnet sein und kann mehrere Unterkategorien der zweiten<br />

Ebene (Unterkategorie02) enthalten.<br />

- SR_Unterkategorie02<br />

Die Unterkategorie der zweiten Ebene wird in der Relation SR_Unterkategorie02 (in der physikalischen<br />

Datenbank SR_Gruppe genannt) abgelegt. Jede Unterkategorie02 kann einer oder<br />

mehreren Fragen zugeordnet sein.<br />

Besonderheiten an dem Datenbankmodell sind die Mehrfach-Beziehungen im Bereich der Kategorien.<br />

Diese Beziehungen sind notwendig, weil einer Frage sowohl eine Oberkategorie, wie auch eine Unterkategorie01<br />

und auch eine Unterkategorie02 zugeordnet werden kann und diese Kategorien hierarchisiert<br />

sind (Oberkategorie Unterkategorie01 Unterkategorie02). Während die Tabelle<br />

SR_Frage_Kategorie somit die Zuordnung von Fragen und Kategorien darstellt, stellen die einzelnen<br />

Tabellen und deren Verknüpfung unterein<strong>and</strong>er die Hierarchien der Kategorien dar.<br />

Die folgende Abbildung zeigt das Datenbankmodell, die für die Kategorisierung relevanten (rot markierten)<br />

Relationen, wie diese zuein<strong>and</strong>er in Beziehung stehen und wie diese in das Datenbankmodell<br />

integriert sind.<br />

Für den Fragenpool sind die Umfrage_ID aus der Tabelle SR_Umfrage, die Frage_ID und der Fragetext<br />

aus der Tabelle SR_Fragen, sowie die Daten aus den Tabellen SR_Oberkategorie,<br />

SR_Unterkategorie01 und SR_Unterkategorie02 wesentlich.<br />

317


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Abbildung 4.1: Datenbankmodell<br />

5. Fragenpool<br />

Der erstellte Fragenpool sorgt dafür, dass Daten mit Hilfe des erstellten Java-Programms in die Datenbank<br />

geschrieben werden und dass Fragen einer Umfrage durch die Benutzer kategorisiert werden. In<br />

diesem Kapitel wird der Fragenpool aus benutzerspezifischer und technischer Sicht beschrieben.<br />

5.1 Benutzerspezifische Beschreibung<br />

In diesem Kapitel wird auf die benutzerspezifische Sicht des Fragenpools eingegangen. Es wird erläutert,<br />

wie der Fragenpool durch die Benutzer anzuwenden ist.<br />

5.1.1 Umfrage ID<br />

In der Registerkarte „Umfrage ID“ wird die Umfrage ID von in QuestionPro neu erstellten Umfragen<br />

eingetragen. Mit dem Eintragen der Umfrage ID wird die jeweilige Umfrage von der ETL-Anwendung<br />

erkannt in dem Prozess des Programmes bearbeitet und die Daten beim nächsten Schreibvorgang in<br />

die Datenbank übertragen. Am folgenden Tag sind die Daten in der Datenbank verfügbar. Die Umfra-<br />

318


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

ge ID wird von QuestionPro vergeben und muss aus der Webanwendung entnommen werden, z. B.<br />

Umfrage_ID (z. B. 3391589).<br />

Um die gewünschte Umfrage ID zu finden ist eine Anmeldung bei QuestionPro mit einem gültigen<br />

Account auf der QuestionPro Webseite (http://www.questionpro.com/) nötig. Anschließend muss die<br />

entsprechende Umfrage unter Surveys My Surveys per Klick auf ihren Namen ausgewählt werden.<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 5.1: QuestionPro MySurvey-Site<br />

Die Umfrage ID befindet sich in der Adresszeile des Browsers. Es h<strong>and</strong>elt sich um eine siebenstellige<br />

Nummer am Ende der Webddresse hinter surveyID=. Beispielsweise lautet bei der Adresse<br />

www.questionpro.com/a/editSurvey.do?surveyID=3391589 die Umfrage ID 3391589.<br />

Quelle: Screenshot aus QuestionPro<br />

Abbildung 5.2: QuestionPro Umfrage ID ermitteln<br />

319


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Ist die siebenstellige Umfrage ID ermittelt worden, muss das CEWE Intranet aufgerufen werden. Die<br />

Seite, auf der die Benutzeranwendung dem Fachbereich zur Verfügung gestellt wird, wird durch den<br />

IT-Bereich der CEWE bekannt gegeben.<br />

Wird die entsprechende Seite des CEWE Intranets aufgerufen, öffnet sich die Benutzeranwendung zur<br />

Verwaltung der Umfragedaten. In der Registerkarte „Umfrage ID“ wird im gleichnamigen Textfeld<br />

die ermittelte Umfrage ID eingetragen und mit dem Button Umfrage erfassen bestätigt. Die Umfrage<br />

ist vom System erfasst und wird bei dem nächsten Datenabruf geladen.<br />

Quelle: Screenshot aus Benutzeranwendung<br />

Abbildung 5.3: Umfrage ID<br />

Es wird dringend geraten, die Umfrage ID per Kopierfunktion (Strg-C) aus der Adresse der Umfrage<br />

zu übernehmen und in das Eingabefeld einzufügen (Strg-V). Das Eingabefeld akzeptiert ausschließlich<br />

exakt siebenstellige Zahlen, um dem Erfassen von falschen Umfrage IDs vorzubeugen. Kommt es<br />

jedoch zu einem Zahlendreher bei manueller Eingabe, verursacht der Versuch, die falsche Umfrage<br />

abzurufen, zwangsläufig Konflikte. Durch das Kopieren und Einfügen der ID kann diesem Problem<br />

entgegen gewirkt werden.<br />

Sollte es dennoch zu einer Falscheingabe gekommen sein, so kann in der Übersichtstabelle „Vorh<strong>and</strong>ene<br />

Umfragen“ der Eintrag wieder gelöscht werden. Dies sollte unverzüglich passieren um den ein-<br />

320


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

w<strong>and</strong>freien Ablauf des Datenabrufs zu sichern. Weitere Informationen hierzu sind in Kapitel 5.2.1<br />

gegeben.<br />

5.1.2 Fragenkategorisierung<br />

Quelle: Screenshot aus Benutzeranwendung<br />

Abbildung 5.4: Fragenkategorisierung<br />

In der Rubrik „Fragenkategorisierung“ können Fragen von Umfragen kategorisieren werden. Hierzu<br />

wird im Fragenpool in die Fragenkategorisierung navigiert. Zunächst wird die Umfrage ausgewählt in<br />

der die Frage, welche bearbeitet werden soll, enthalten ist. Anschließend wird in der Zeile Frage die<br />

gewünschte Frage ausgewählt und zu dieser eine Oberkategorie, Unterkategorie 1 und Unterkategorie<br />

2 in den entsprechenden Drop-Down-Feldern angegeben. Falls keine genauere Kategorisierung über<br />

Unterkategorien gewünscht ist, kann die Kategorie „(leer)“ verwendet werden. Sobald die gewünschten<br />

Kategorien ausgewählt wurden, muss die Eingabe mit dem Button „Kategorien zuweisen“ bestätiget<br />

werden. Einer Frage können grundsätzlich mehrere Kategorien zugwiesen werden, wenn sie sich<br />

auf mehrere Sachverhalte bezieht, die nicht von einer einzelnen Kategorie abzudecken sind.<br />

321


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

5.1.3 Kategorien erstellen<br />

Quelle: Screenshot aus Benutzeranwendung<br />

Abbildung 5.5: Neue Kategorien anlegen<br />

Kann eine Frage nicht durch die bestehenden Kategorien beschrieben werden, können neue Kategorien<br />

angelegt werden. Um eine neue Kategorie hinzuzufügen, ist die Registerkarte „Neue Kategorien anlegen“<br />

zu wählen. In der Registerkarte können neue Oberkategorien, neue Unterkategorien der ersten<br />

Ebene (Unterkategorie 1) und neue Unterkategorien der zweiten Ebene (Unterkategorie 2) erstellt<br />

werden.<br />

Im Falle einer neuen Oberkategorie muss lediglich den Name der neuen Oberkategorie in das Textfeld<br />

„Neue Oberkategorie“ eingegeben und mit dem Button „Oberkategorie einfügen“ bestätigt werden.<br />

Zum Erstellen einer neuen Unterkategorie der ersten Ebene muss zunächst die Oberkategorie gewählt<br />

werden, zu welcher die Unterkategorie der ersten Ebene angelegt werden soll. Hierzu wird im Drop-<br />

Down-Feld „Oberkategorie auswählen“ die Oberkategorie ausgewählt und anschließend im Textfeld<br />

„Neue Unterkategorie 1“ der gewünschte Name der neuen Unterkategorie eingegeben. Die Eingabe<br />

muss mit dem Button „Unterkategorie 1 einfügen“ bestätigt werden.<br />

Das Anlegen einer neuen Unterkategorie der zweiten Ebene verläuft ähnlich. Hierfür werden die gewünschte<br />

Oberkategorie und die Unterkategorie 1 aus den entsprechenden Drop-Down-Feldern ausgewählt<br />

und anschließend die Unterkategorie der zweiten Ebene in das Textfeld „Neue Unterkategorie<br />

2“ eingegeben. Die Eingabe wird gespeichert, indem der Button „Unterkategorie 2 einfügen“ geklickt<br />

wird.<br />

Bei der Anlage von neuen Kategorien ist zu beachten, dass diese nicht gelöscht werden können.<br />

322


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

5.1.4 Fragenübersicht<br />

Quelle: Screenshot aus Benutzeranwendung<br />

Abbildung 5.6: Fragenübersicht<br />

Eine Übersicht über alle Fragen und die zu diesen zugewiesenen Kategorien sowie eine Option zum<br />

Löschen einer Zuordnung von Kategorien zu einer Frage ist unter der Rubrik „Fragenübersicht“ zu<br />

finden. In dieser Übersicht können die Spalten Fragentext, Oberkategorie, Unterkategorie01 und Unterkategorie02<br />

mit einem Klick auf den Spaltennamen der Tabelle sortiert werden. Der erste Klick<br />

sortiert die Tabelle von A-Z, bei einem weiteren Klick von Z-A. Ein Eintrag aus dieser Tabelle bzw.<br />

eine Zuordnung von Kategorien zu einer Frage kann mit einem Klick auf den Button<br />

in der entsprechenden<br />

Zeile gelöscht werden.<br />

323


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

5.1.5 Kategorienübersicht<br />

Quelle: Screenshot aus Benutzeranwendung<br />

Abbildung 5.7: Kategorienübersicht<br />

Die Registerkarte „Kategorienübersicht“ enthält eine Übersicht über die bisher vorh<strong>and</strong>enen Kategorien<br />

und deren Hierarchie. Die Übersicht dient lediglich der Information und enthält somit keine Funktionen.<br />

Die Kategorien können durch einen Klick auf die jeweiligen Spaltennamen von A-Z, durch<br />

einen zweiten Klick von Z-A sortiert werden.<br />

5.2 Technische Beschreibung<br />

In diesem Kapitel wird auf die technische Sicht der Benutzeranwendung eingegangen. Es wird erläutert,<br />

wie durch Benutzereingaben die Daten in die vorgesehenen Tabellen der Datenbank des Fragenpools<br />

geschrieben werden. Da sich SQL-Befehle und Trigger häufig sehr ähnlich sind, werden sie<br />

nicht bei jedem Vorkommen im Detail aufgeführt sondern entsprechend verwiesen. Es wird außerdem<br />

beschrieben, wo und wie die ETL-Anwendung (siehe Kapitel 3) angestoßen wird.<br />

324


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

5.2.1 Umfrage ID<br />

Abbildung 5.8: Umfrage ID<br />

In der Registerkarte „Umfrage ID“ werden in QuestionPro neu angelegte Umfragen dem System hinzugefügt.<br />

In das Textfeld wird die von QuestionPro vergebene Umfrage_ID (z. B. 3351683) eingegeben.<br />

Die Eingabe wird durch den Button „Umfrage erfassen“ bestätigt, welcher die Umfrage_ID mit<br />

folgendem Insert-Befehl in die Datenbanktabelle SR_Umfrage schreibt:<br />

INSERT INTO<br />

VALUES<br />

SR_UMFRAGE (UMFRAGE_ID)<br />

(:UMFRAGE_ID_TEXTBOX)<br />

Die Tabelle SR_Umfrage wird von der erstellten ETL-Anwendung verwendet, um die Daten der jeweiligen<br />

Umfragen abzurufen. Beim nächsten Durchlauf des Datenabrufs werden die Daten der zur<br />

neu hinzugefügten Umfrage_ID zugehörigen Fragen, Antworten und Eckdaten aus QuestionPro abgerufen<br />

und somit die Datenbank gefüllt.<br />

Bei dem Schreibvorgang in die Datenbank wird auf die folgenden Tabellen zugegriffen:<br />

- SR_Umfragetyp<br />

- SR_Umfrage<br />

- SR_Umfrage_Frage<br />

- SR_Frage<br />

- SR_Antwort<br />

- SR_Ergebnissatz<br />

- SR_ETL_Log<br />

In der Registerkarte ist weiterhin eine Übersicht enthalten, welche das Löschen von Umfrage_ID zulässt.<br />

Diese Funktion ist notwendig, damit der Mitarbeiter, welche die Umfrage_ID eingibt, bei einer<br />

Fehleingabe die entsprechende Umfrage_ID wieder löschen kann. Die Übersicht wird gefüllt durch<br />

folgendes SQL-Statement:<br />

325


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

SELECT<br />

FROM<br />

UMFRAGE_ID, BEZEICHNUNG<br />

SR_UMFRAGE<br />

Zum Löschen wird dieses Statement verwendet:<br />

DELETE FROM<br />

WHERE<br />

SR_UMFRAGE<br />

(UMFRAGE_ID = :UMFRAGE_ID)<br />

ACHTUNG: Bei empfohlener Bedienung ist es nahezu ausgeschlossen eine fehlerhafte Umfrage ID<br />

einzutragen. Für den Fall dass dies dennoch passiert, kann sie manuell gelöscht werden. Wird jedoch<br />

eine fehlerhafte Umfrage_ID nicht gelöscht, bricht der nächste Durchlauf der ETL-Anwendung ab und<br />

schreibt keine Daten mehr aus QuestionPro in die CEWE Datenbank.<br />

5.2.2 Fragenkategorisierung<br />

Abbildung 5.9: Fragenkategorisierung<br />

In der Registerkarte „Fragenkategorisierung“ werden Attribute an eine Frage angehängt und die Frage<br />

somit kategorisiert. Die zu vergebenden Attribute sind hierarchisch aufgebaut. Es gibt eine Oberkategorie,<br />

eine Unterkategorie01 und eine Unterkategorie02 (in der realisierten Datenbank „Gruppe“ genannt).<br />

In der Maske wird zunächst in einem Drop-Down-Menü der Name einer zuvor erfassten Umfrage<br />

aus der Tabelle SR_Umfrage ausgewählt. Der Inhalt des Drop-Down-Menüs ist definiert durch:<br />

SELECT<br />

FROM<br />

BEZEICHNUNG, UMFRAGE_ID<br />

SR_UMFRAGE<br />

Im nächsten Menü können die zur gewählten Umfrage gehörenden Fragen ausgewählt werden. Die<br />

passenden Fragen werden durch folgendes Statement selektiert:<br />

326


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

SELECT<br />

FROM<br />

JOIN<br />

ON<br />

WHERE<br />

SR_UMFRAGE_FRAGE.UMFRAGE_ID, SR_FRAGE.FRAGE_ID,<br />

SR_FRAGE.TEXT<br />

SR_FRAGE<br />

SR_UMFRAGE_FRAGE<br />

SR_UMFRAGE_FRAGE.FRAGE_ID = SR_FRAGE.FRAGE_ID<br />

UMFRAGE_ID = :UMFRAGE_ID_DDL<br />

In den drei folgenden Menüs werden nun nach Bedarf Oberkategorie mit oder ohne Unterkategorien<br />

ausgewählt. Das Statement zum Füllen der Drop-Down-Menüs erfolgt durch diese Statements:<br />

- Drop-Down-Menü der Oberkategorie<br />

SELECT<br />

FROM<br />

ORDER BY<br />

OBERKATEGORIE_ID, BEZEICHNUNG<br />

SR_OBERKATEGORIE<br />

BEZEICHNUNG<br />

- Drop-Down-Menü der Unterkategorie01<br />

SELECT<br />

FROM<br />

JOIN<br />

SR_OBERKATEGORIE.OBERKATEGORIE_ID,<br />

SR_UNTERKATEGORIE.UNTERKATEGORIE_ID,<br />

SR_UNTERKATEGORIE.BEZEICHNUNG<br />

SR_OBERKATEGORIE<br />

SR_UNTERKATEGORIE<br />

ON SR_OBERKATEGORIE.OBERKATEGORIE_ID =<br />

SR_UNTERKATEGORIE.OBERKATEGORIE_ID<br />

WHERE SR_OBERKATEGORIE.OBERKATEGORIE_ID =<br />

:OBERKATEGORIE_DDL<br />

ORDER BY<br />

BEZEICHNUNG<br />

- Drop-Down-Menü der Unterkategorie02<br />

SELECT<br />

FROM<br />

JOIN<br />

SR_UNTERKATEGORIE.UNTERKATEGORIE_ID,<br />

SR_GRUPPE.GRUPPE_ID, SR_GRUPPE.BEZEICHNUNG<br />

SR_UNTERKATEGORIE<br />

SR_GRUPPE<br />

ON SR_UNTERKATEGORIE.UNTERKATEGORIE_ID =<br />

SR_GRUPPE.UNTERKATEGORIE_ID<br />

JOIN<br />

SR_OBERKATEGORIE<br />

327


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

ON SR_OBERKATEGORIE.OBERKATEGORIE_ID =<br />

SR_UNTERKATEGORIE.OBERKATEGORIE_ID<br />

WHERE SR_UNTERKATEGORIE.UNTERKATEGORIE_ID =<br />

:UNTERKATEGORIE_DDL<br />

AND SR_OBERKATEGORIE.OBERKATEGORIE_ID =<br />

:OBERKATEGORIE_DDL<br />

ORDER BY<br />

BEZEICHNUNG<br />

Die ausgewählten Kategorien werden über den Button „Kategorien zuweisen“ bestätigt. Dies löst einen<br />

aus den Drop-Down-Menüs zusammengesetzten Insert-Befehl aus, welcher in der Tabelle<br />

SR_Frage_Kategorie einen Datensatz anlegt, der der jeweiligen Frage_ID eine Oberkategorie, Unterkategorie01<br />

und Unterkategorie02 zuweist. Der Schreibvorgang erfolgt durch dieses Statement:<br />

INSERT INTO SR_FRAGE_KATEGORIE (FRAGE_ID, OBERKATEGORIE_ID, UN-<br />

TERKATEGORIE_ID, GRUPPE_ID)<br />

VALUES<br />

(:FRAGE_ID_DDL, :OBERKATEGORIE_ID_DDL,<br />

:UNTERKATEGORIE_ID_DDL, :GRUPPE_ID_DDL)<br />

5.2.3 Kategorien erstellen<br />

Abbildung 5.10: Kategorien erstellen<br />

Um eine neue Kategorie hinzuzufügen ist die Registerkarte „Kategorie erstellen“ vorgesehen. Hier<br />

können neue Oberkategorien, neue Unterkategorien der ersten Ebene (Unterkategorie01) und neue<br />

Unterkategorien der zweiten Ebene (Unterkategorie02) angelegt werden.<br />

Soll eine neue Oberkategorie angelegt werden, muss lediglich der gewünschte Name eingegeben und<br />

bestätigt werden. Die neue Oberkategorie wird mittels Insert-Befehl in die Tabelle SR_Oberkategorie<br />

geschrieben. Der Befehl lautet:<br />

INSERT INTO<br />

328<br />

SR_OBERKATEGORIE (BEZEICHNUNG)


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

VALUES<br />

(:OBERKATEGORIE_ID)<br />

Dabei bekommt sie über den Trigger TR_SR_Oberkategorie und die Sequenz SQ_SR_Oberkategorie<br />

eine fortlaufende ID, analog zur Frage_Kategorie_ID im vorigen Abschnitt, zugewiesen. Zusätzlich<br />

wird über den Trigger TR_SR_Oberkategorie_Leer in der Tabelle SR_Unterkategorie eine zu der neuen<br />

Oberkategorie gehörige Unterkategorie namens „ (leer)“ angelegt, welche genutzt werden kann um<br />

einer Frage nur eine Oberkategorie ohne weitere Detaillierung zuzuweisen. Zu beachten ist hier die<br />

Leerstelle, welche genutzt wird um die alphabetische Sortierung in den Drop-Down-Menüs zu erleichtern.<br />

Der verwendete Trigger ist definiert durch:<br />

CREATE OR REPLACE<br />

TRIGGER<br />

TR_SR_OBERKATEGORIE_LEER<br />

AFTER INSERT<br />

ON<br />

SR_OBERKATEGORIE<br />

BEGIN<br />

INSERT INTO<br />

VALUES<br />

SR_UNTERKATEGORIE (OBERKATEGORIE_ID, BEZEICHNUNG)<br />

(SQ_SR_OBERKATEGORIE.currval, ' (leer)');<br />

END;<br />

Eine Unterkategorie der ersten Ebene zu erstellen erfolgt wird im zweiten Abschnitt des Tabs. Zunächst<br />

wird in einem Drop-Down-Menü die Oberkategorie ausgewählt, zu der die neue Unterkategorie01<br />

gehören soll. Das Drop-Down-Menü wird dabei per folgenden Select-Befehl gefüllt:<br />

SELECT<br />

FROM<br />

ORDER BY<br />

OBERKATEGORIE_ID, BEZEICHNUNG<br />

SR_OBERKATEGORIE<br />

BEZEICHNUNG<br />

Anschließend wird der Name der neuen Unterkategorie01 eingegeben und gespeichert. Die neue Unterkategorie01<br />

wird mit einem entsprechenden Verweis auf die Oberkategorie in die Tabelle<br />

SR_Unterkategorie geschrieben. Das Insert-Statement lautet:<br />

INSERT INTO<br />

VALUES<br />

SR_UNTERKATEGORIE (OBERKATEGORIE_ID, BEZEICHNUNG)<br />

(:OBERKATEGORIE_ID, :BEZEICHNUNG)<br />

Dabei wird wiederum über den Trigger TR_SR_Unterkategorie mit der verbundenen Sequenz<br />

SQ_SR_Unterkategorie ein fortlaufender Primärschlüssel erstellt. Analog zum Anlegen einer Oberka-<br />

329


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

tegorie wird auch in diesem Fall in der nächst tieferen Ebene ein Datensatz mit der Bezeichnung „<br />

(leer)“ angelegt. Zuständig ist in diesem Fall der Trigger TR_SR_Unterkategorie_Leer, welcher analog<br />

zu TR_SR_Oberkategorie_Leer funktioniert. Da diese Kategorie immer dann angelegt wird, wenn<br />

eine neue Unterkategorie erstellt wurde, kommt es beim Anlegen einer Oberkategorie zu einer Verkettung<br />

der Trigger. Beim Anlegen der Oberkategorie wird also die Unterkategorie01 „ (leer)“ erstellt,<br />

was wiederrum das Anlegen der Unterkategorie02 „ (leer)“ auslöst. So wird sichergestellt, dass in<br />

jeder hierarchischen Stufe die leere Kategorie zur Verfügung steht.<br />

Eine Unterkategorie der zweiten Ebene wird schließlich im dritten Abschnitt des Tabs angelegt. Hier<br />

wird zunächst die zugehörige Oberkategorie ausgewählt. Diese gibt durch einen entsprechenden Select-Befehl<br />

die möglichen Unterkategorie01 im nächsten Drop-Down-Menü vor. Es wird der folgende<br />

Befehl genutzt:<br />

SELECT<br />

FROM<br />

SR_OBERKATEGORIE.OBERKATEGORIE_ID, UNTERKATEGORIE_ID<br />

SR_UNTERKATEGORIE.BEZEICHNUNG<br />

SR_UNTERKATEGORIE<br />

JOIN SR_OBERKATEGORIE ON SR_UNTERKATEGORIE.OBERKATEGORIE_ID =<br />

SR_OBERKATEGORIE.OBERKATEGORIE_ID<br />

WHERE<br />

ORDER BY<br />

SR_OBERKATEGORIE.OBERKATEGORIE_ID = :SELECTED_OK<br />

BEZEICHNUNG<br />

Als nächstes wird eine Unterkategorie01 ausgewählt, ein Name für die Unterkategorie02 angegeben<br />

und bestätigt. Mit der Speicherung wird der Name der neuen Unterkategorie02 mit dem entsprechenden<br />

Verweis auf die Oberkategorie und Unterkategorie01 in die Tabelle SR_Gruppe geschrieben und<br />

bekommt über den Trigger TR_SR_Gruppe und die Sequenz SQ_SR_Gruppe einen fortlaufenden<br />

Primärschlüssel zugewiesen. Das Insert-Statement zum Schreiben der Unterkategorie lautet:<br />

INSERT INTO<br />

VALUES<br />

SR_GRUPPE UNTERKATEGORIE_ID, BEZEICHNUNG<br />

(:UNTERKATEGORIE_ID, :BEZEICHNUNG)<br />

330


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

5.2.4 Fragenübersicht<br />

Abbildung 5.11: Fragenübersicht<br />

In der Registerkarte „Fragenübersicht“ ist ein Überblick über alle Fragen aus allen Umfragen und ihrer<br />

zugewiesenen Kategorien gegeben, welche per folgendem Join aus der Datenbank abgerufen werden:<br />

SELECT<br />

FROM<br />

JOIN<br />

ON<br />

JOIN<br />

SR_FRAGE_KATEGORIE:FRAGE_KATEGORIE_ID, SR_FRAGE.TEXT,<br />

SR_OBERKATEGORIE.BEZEICHNUNG, SR_GRUPPE.BEZEICHUNG,<br />

SR_UNTERKATEGORIE.BEZEICHNUNG<br />

SR_FRAGE_KATEGORIE<br />

SR_FRAGE<br />

SR_FRAGE.FRAGE_ID = SR_FRAGE_KATEGORIE.FRAGE_ID<br />

SR_OBERKATEGORIE<br />

ON SR_OBERKATEGORIE.OBERKATEGORIE_ID =<br />

SR_FRAGE_KATEGORIE.OBERKATEGORIE_ID<br />

LEFT JOIN SR_UNTERKATEGORIE<br />

ON SR_UNTERKATEGORIE.UNTERKATEGORIE_ID =<br />

SR_FRAGE_KATEGORIE.UNTERKATEGORIE_ID<br />

LEFT JOIN SR_GRUPPE<br />

ON<br />

ORDER BY<br />

SR_GRUPPE.GRUPPE_ID = SR_FRAGE_KATEGORIE.GRUPPE_ID<br />

SR_GRUPPE.BEZEICHNUNG,SR_UNTERKATEGORIE.BEZEICHNUNG,<br />

SR_OBERKATEGORIE.BEZEICHNUNG, TEXT<br />

Zugewiesene Kategorien können aus der Tabelle SR_Frage_Kategorie gelöscht werden. Hierzu ist in<br />

jeder Zeile ein entsprechender Button vorh<strong>and</strong>en, welcher folgenden Delete-Befehl ausführt:<br />

DELETE FROM<br />

WHERE<br />

SR_FRAGE_KATEGORIE<br />

FRAGE_KATEGORIE_ID = :FRAGE_KATEGORIE_ID<br />

331


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

5.2.5 Kategorienübersicht<br />

Abbildung 5.12: Kategorienübersicht<br />

Ähnlich wie die vorherige Registerkarte dient die Registerkarte „Kategorienübersicht“ dazu einen<br />

Überblick zu geben, in diesem Fall über die vorh<strong>and</strong>enen Kategorien. Die Übersicht wird aus einem<br />

Join der Ober- und Unterkategorien gefüllt. Da diese Kategorien bereits Fragen zugeordnet sein können,<br />

ist es nicht möglich sie nachträglich wieder zu löschen. Die Tabelle wird mit folgendem Select-<br />

Befehl gefüllt:<br />

SELECT *<br />

FROM<br />

SR_OBERKATEGORIE<br />

LEFT JOIN SR_UNTERKATEGORIE<br />

ON SR_OBERKATEGORIE.OBERKATEGORIE_ID =<br />

SR_UNTERKATEGORIE.OBERKATEGORIE_ID<br />

LEFT JOIN SR_GRUPPE<br />

ON SR_UNTERKATEGORIE.UNTERKATEGORIE_ID =<br />

SR_GRUPPE.UNTERKATEGORIE_ID<br />

ORDER BY<br />

SR_OBERKATEGORIE.BEZEICHNUNG,<br />

SR_UNTERKATEGORIE.BEZEICHNUNG, SR_GRUPPE.BEZEICHNUNG<br />

6. Fazit<br />

Nach Abschluss des Projektes hat CEWE von der <strong>Projektgruppe</strong> einen automatisierten, softwaregestützten<br />

Prozess zur Kategorisierung und Lagerung von Fragen und deren Ergebnissen von Umfragen<br />

erhalten. Nach dem Beschluss, die Benutzeranwendung zur Verwaltung des Fragenpools zu realisieren,<br />

sind die analytischen Aufgaben von <strong>Business</strong> <strong>Intelligence</strong> (BI) Projekten entfallen. An deren Stelle<br />

wurde der gesamte funktionale BI Anteil umgesetzt bzw. die Basis für den analytischen BI Anteil<br />

geschaffen.<br />

332


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Herausforderungen des Projektes „gestochen scharfe Fragen stellen“ gab es für die <strong>Projektgruppe</strong><br />

insbesondere bei der Schnittstelle bzw. dem Erstellen eines Programms, welches die Fragen und Ergebnisse<br />

zu einer Umfrage aus QuestionPro exportiert und in das DataWarehouse von CEWE importiert.<br />

Die im DV-Konzept angestrebte Variante (siehe Soll-Zust<strong>and</strong>) des Datentransports mittels REST<br />

und Oracle Warehouse Builder (OWB) konnte nicht realisiert werden, da festgestellt wurde, dass<br />

REST und OWB nicht kompatibel sind. OWB und SOAP, das von QuestionPro bis Ende 2012 eingesetzte<br />

API hätten nach Informationen der <strong>Projektgruppe</strong> gut mitein<strong>and</strong>er kommuniziert, aber die Umstellung<br />

von QuestionPro auf REST hat die ursprünglichen Pläne der <strong>Projektgruppe</strong> verworfen. Das<br />

Erkennen dieser Problematik hat aufgrund der Informationspolitik des Anbieters der <strong>Projektgruppe</strong><br />

viel Zeit geraubt, ebenso wie die Suche nach einer alternativen Lösung. Es wurde nach einiger Zeit<br />

entschieden, die Programmierung einer eigenen auf Java basierenden ETL-Anwendung zum Datentransport<br />

vorzunehmen, da eine Umsetzung mit SOAP nicht zukunftsorientiert schien. Für den Datenexport<br />

mittels REST war eine ständige Kommunikation mit den QuestionPro Entwicklern notwendig,<br />

da sich die REST API von QuestionPro noch im Beta- bzw. Entwicklungsstadium bef<strong>and</strong>. Ende Dezember<br />

2012 hatte die ETL-Anwendung einen Entwicklungsst<strong>and</strong> erreicht, der es ermöglichte, erste<br />

Daten in die von der <strong>Projektgruppe</strong> angelegte Datenbank im CEWE Schema zu schreiben. Erste provisorische<br />

Reports waren im Januar möglich. Anfang Februar wurde dann mit CEWE die Entscheidung<br />

getroffen, eine Benutzeranwendung zur Kategorisierung von Fragen zu erstellen. Der Fragenpool inklusive<br />

Benutzeranwendung war laut Fachkonzept als gewünschtes AddOn zu dem Projekt bzw. als<br />

optional gekennzeichnet worden. Die Feststellung, dass ein Fragenpool für umfrageübergreifende<br />

Analysen unumgänglich ist, hat das Projekt umgestoßen und erforderte eine Neustrukturierung. Die<br />

transportierten Daten mit IBM Cognos und IBM SPSS genauer zu betrachten ist für die <strong>Projektgruppe</strong><br />

in den Hintergrund gerückt, denn das Bestreben eine für CEWE weiterverwendbare Basis bereitzustellen<br />

bzw. etwas zu schaffen, was CEWE verwenden kann, hatte nun höchste Priorität. Bis Mitte März<br />

hat die <strong>Projektgruppe</strong> den Fragenpool inklusive der Benutzeranwendung erstellt und den automatisierten<br />

und softwaregestützten Prozess mehrfach getestet.<br />

Die auf den von CEWE fundierten Anforderungen entst<strong>and</strong>ene Basis ist eine funktionierende Grundlage,<br />

mit der CEWE arbeiten kann, jedoch noch ausbaufähig ist. Welche Funktionen die Benutzeranwendung<br />

zur Verwaltung der Umfragen und deren Fragen hat und wie sich die Datenströme zwischen<br />

den verschiedenen Elementen verhalten (siehe insbesondere Kapitel 5.1 und 5.2), wurde in den Kapiteln<br />

dieser Dokumentation bereits ausführlich beschrieben.<br />

Im Folgenden werden einige Vorschläge gemacht, welche die <strong>Projektgruppe</strong> noch eingebaut hätte,<br />

wäre am Ende die Zeit noch gewesen.<br />

Vorschläge für die Benutzeranwendung:<br />

333


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

- Aktuell erhält der Anwender keine Informationen darüber, ob eine Eingabe erfolgreich in der<br />

Datenbank gespeichert bzw. gelöscht wurde. Ein Pop-Up wäre hier aus Anwendersicht hilfreich.<br />

Abbildung 6.1: Pop-Up<br />

- In dem Bereich der Umfrage ID wird das Löschen von Umfrage_IDs in der Datenbank zugelassen.<br />

An dieser Stelle sollen nur Umfrage_IDs gelöscht werden können, welche fehlerhaft<br />

sind. Der Löschvorgang ist notwendig, damit das Java Programm nicht durch eine nicht existierende<br />

Umfrage_ID gestoppt wird. Eine Prüfung wäre hier hilfreich oder eine einfache Abfrage,<br />

ob diese Umfrage_ID aus der Datenbank entfernt werden soll.<br />

Ein der <strong>Projektgruppe</strong> bekanntes Risiko soll an dieser Stelle ebenfalls erwähnt werden. Das Java Programm<br />

holt aktuell die Daten zu Umfragen in die CEWE Datenbank, welche innerhalb der letzten 24h<br />

auf QuestionPro eingegangen sind. Bei einem Ausfall z. B. von den QuestionPro Servern, der mehr als<br />

24h anhält, könnten hierbei für CEWE kostbare Daten verloren gehen. Das Risiko ist aktuell vorh<strong>and</strong>en<br />

und sollte CEWE bewusst sein. QuestionPro garantiert nach eigener Aussage eine Ausfallsicherheit<br />

von 100%, sodass ein Systemausfall unwahrscheinlich ist, jedoch nicht ausgeschlossen werden<br />

kann.<br />

Insgesamt ist somit durch das Projekt „gestochen scharfe Fragen stellen“ eine Basis für weiterführende<br />

Analysen und Reports entst<strong>and</strong>en. Das zunächst definierte Projektziel die Arbeitspakete (AP) 1-4<br />

(Umfrageerstellung (AP1), Ergebnisdatenlagerung (AP2), Berichtswesen (AP3), Prognose (AP4)) zu<br />

realisieren wurde nicht in Gänze erreicht. Jedoch wurde mit der Realisierung des AP5 (Fragenpool)<br />

ein zu Beginn nicht geplanter Bereich des gesamten Projektes „gestochen scharfe Fragen stellen“<br />

abgedeckt, wodurch eine bessere Ausgangslage und Datenbasis für die weiteren Arbeitspakete entst<strong>and</strong>en<br />

ist.<br />

Mit dem abgelieferten Ergebnis ist die <strong>Projektgruppe</strong> CEWE zufrieden.<br />

334


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

Anhang<br />

A. Protokolle<br />

335


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

336


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

337


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

338


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

339


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

340


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

341


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

342


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

343


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

344


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

345


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

346


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

347


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

348


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

349


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

350


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

351


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

352


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

353


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

354


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

355


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

356


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

357


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

358


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

359


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

360


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

361


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

362


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

363


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

364


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

366


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

367


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

368


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

369


Projektbericht Cuberunner<br />

CEWE „gestochen scharfe Fragen stellen“ – Dokumentation<br />

370


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: Smart Wind Farm Control<br />

Fachkonzept<br />

371


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

372


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Inhaltsverzeichnis Fachkonzept Smart Wind Farm Control<br />

Tabellenverzeichnis ................................................................................................................ 374<br />

Abkürzungsverzeichnis .......................................................................................................... 375<br />

1. Ziele und Visionen .......................................................................................................... 376<br />

2. Rahmenbedingungen ....................................................................................................... 376<br />

2.1 Vorgabe aus der <strong>Business</strong> <strong>Intelligence</strong>-Strategie ....................................................... 377<br />

2.2 Projektspezifische technische und organisatorische Bedingungen ............................ 377<br />

2.2.1 Team ................................................................................................................ 377<br />

2.2.2 Kommunikation ............................................................................................... 378<br />

2.2.3 Technologien ................................................................................................... 378<br />

2.2.4 Stakeholder-Definition .................................................................................... 379<br />

3. Fragestellungen und unternehmerischer Nutzen ............................................................. 379<br />

4. Analytische Anforderungen ............................................................................................ 380<br />

4.1 Arbeitspaket 1: Windenergieanlagen und SAP Hana Know-how Aufbau ................. 380<br />

4.2 Arbeitspaket 2: Analyse und Übernahme der Windpark-Datenstruktur .................... 381<br />

4.3 Arbeitspaket 3: Simulation eines Windparks ............................................................. 382<br />

4.4 Arbeitspaket 4: Analyse und Reporting ..................................................................... 382<br />

4.5 Arbeitspaket 5: Technologievergleich ........................................................................ 383<br />

5. Kennzahlen ..................................................................................................................... 383<br />

6. Semantische Modellierung .............................................................................................. 386<br />

7. Nichtanalytische Anforderungen .................................................................................... 386<br />

8. Literaturverzeichnis ........................................................................................................ 387<br />

Anhang. .................................................................................................................................. 388<br />

A. Kennzahlen ..................................................................................................................... 388<br />

373


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Tabellenverzeichnis<br />

Tabelle 5.1: Kennzahlen-Steckbrief ....................................................................................... 384<br />

Tabelle A.1: Kennzahl Anzahl WEA ..................................................................................... 388<br />

Tabelle A.2: Kennzahl Größe des Windparks ........................................................................ 388<br />

Tabelle A.3: Kennzahl St<strong>and</strong>ort des Windparks .................................................................... 389<br />

Tabelle A.4: Kennzahl Längengrad des Windparks ............................................................... 389<br />

Tabelle A.5: Kennzahl Breitengrad des Windparks ............................................................... 390<br />

Tabelle A.6: Kennzahl Soll-Leistung des Windparks ............................................................ 390<br />

Tabelle A.7: Kennzahl Wassertiefe des Windparks ............................................................... 391<br />

Tabelle A.8: Kennzahl Vorhersage Windgeschwindigkeit .................................................... 392<br />

Tabelle A.9: Kennzahl Vorhersage Luftfeuchtigkeit ............................................................. 392<br />

Tabelle A.10: Kennzahl Vorhersage Wellenhöhe .................................................................. 393<br />

Tabelle A.11: Kennzahl Vorhersage Temperatur .................................................................. 394<br />

Tabelle A.12: Kennzahl Vorhersage Luftdruck ..................................................................... 394<br />

Tabelle A.13: Kennzahl Vorhersage Niederschlag ................................................................ 395<br />

Tabelle A.14: Kennzahl Vorhersage Windrichtung ............................................................... 395<br />

Tabelle A.15: Kennzahl Vorhersage Wahrscheinlichkeit ...................................................... 395<br />

Tabelle A.16: Kennzahl Hersteller ......................................................................................... 396<br />

Tabelle A.17: Kennzahl Nabenhöhe ...................................................................................... 396<br />

Tabelle A.18: Kennzahl Rotorblattlänge ................................................................................ 397<br />

Tabelle A.19: Kennzahl Anzahl Rotorblätter ......................................................................... 397<br />

Tabelle A.20: Kennzahl Einschaltgeschwindigkeit ............................................................... 398<br />

Tabelle A.21: Kennzahl Abschaltgeschwindigkeit ................................................................ 399<br />

Tabelle A.22: Kennzahl Leistung ........................................................................................... 399<br />

Tabelle A.23: Kennzahl Windgeschwindigkeit ..................................................................... 400<br />

Tabelle A.24: Kennzahl Betriebsstatus .................................................................................. 400<br />

Tabelle A.25: Kennzahl Leistungsabgabe .............................................................................. 401<br />

Tabelle A.26: Kennzahl Windrichtung .................................................................................. 401<br />

Tabelle A.27: Kennzahl Blatteinstellwinkel .......................................................................... 402<br />

Tabelle A.28: Kennzahl Außentemperatur ............................................................................. 402<br />

Tabelle A.29: Kennzahl Luftdichte ........................................................................................ 403<br />

Tabelle A.30: Kennzahl Luftfeuchtigkeit ............................................................................... 403<br />

Tabelle A.31: Kennzahl Ölst<strong>and</strong>-Turbine .............................................................................. 404<br />

Tabelle A.32: Kennzahl Öldruck-Turbine ............................................................................. 404<br />

Tabelle A.33: Kennzahl Öltemperatur-Turbine ..................................................................... 405<br />

Tabelle A.34: Kennzahl Spannung-Turbine ........................................................................... 405<br />

Tabelle A.35: Kennzahl Stromstärke-Turbine ....................................................................... 406<br />

Tabelle A.36: Kennzahl Frequenz-Turbine ............................................................................ 406<br />

Tabelle A.37: Kennzahl Ölst<strong>and</strong>-Generator ........................................................................... 407<br />

Tabelle A.38: Kennzahl Öldruck-Generator .......................................................................... 407<br />

Tabelle A.39: Kennzahl Öltemperatur-Generator .................................................................. 408<br />

Tabelle A.40: Kennzahl Drehzahl-Generator ......................................................................... 408<br />

Tabelle A.41: Kennzahl Ölst<strong>and</strong>-Getriebe ............................................................................. 409<br />

Tabelle A.42: Kennzahl Öldruck-Getriebe ............................................................................ 409<br />

Tabelle A.43: Kennzahl Öltemperatur-Getriebe .................................................................... 410<br />

374


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Abkürzungsverzeichnis<br />

BI<br />

BO<br />

DV<br />

ETL<br />

HANA<br />

SPSS<br />

SQL<br />

SWF<br />

VLBA<br />

WEA<br />

<strong>Business</strong> <strong>Intelligence</strong><br />

<strong>Business</strong> Objects<br />

Datenverarbeitung<br />

Extract, Transform, Load<br />

High Performance Analytic Appliance<br />

Statistical Package for the Social Sciances<br />

Structured Query Language<br />

Smart Wind Farm Control<br />

Very Large <strong>Business</strong> <strong>Applications</strong><br />

Windenergieanlage<br />

375


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

1. Ziele und Visionen<br />

Seit den siebziger Jahren hat das Thema „Nachhaltigkeit und erneuerbare Energien“ weltweit an Bedeutung<br />

zugenommen. Von den verschiedenen erneuerbaren Energiequellen wie Wind, Sonne, Wasser<br />

usw. ist die Windenergie derzeit die günstigste und effektivste Lösung. Die Anzahl der aufgebauten<br />

Windenergieanlagen (WEA) ist daher in den letzten Jahren stark angestiegen. Die Fläche für WEA ist<br />

jedoch begrenzt, weswegen es zunehmend weniger Möglichkeiten gibt, neue Windparks Onshore, d.<br />

h. auf dem L<strong>and</strong>, aufzubauen (bezogen auf Deutschl<strong>and</strong>). Aus diesem Grund werden Windparks verstärkt<br />

Offshore, d. h. auf dem offenen Meer, errichtet. Um dennoch mehr Energie aus der bestehenden<br />

Fläche zu erwirtschaften, investieren viele Betreiber in die Optimierung der Prozessabläufe, des Managements<br />

und der Software-Lösungen. Aufgrund der erhöhten Betriebskosten bei einem Offshore-<br />

Windpark, die vor allem durch Wartung entstehen, sind auch Offshore-Windparkbetreiber an diesem<br />

Thema interessiert. Ziel der Windparkbetreiber ist insbesondere die Reduzierung der Kosten durch<br />

eine optimierte Betriebsführung.<br />

Die Vision der <strong>Projektgruppe</strong> ist die Entwicklung und Implementierung einer Lösung für ein besseres<br />

Windpark-Management. Der Fokus des Projekts liegt auf der Wartung von WEA. Für die Umsetzung<br />

der Vision werden die Ziele in Arbeitspakete aufgeteilt. Im ersten Arbeitspaket soll grundlegendes<br />

Wissen über die Windenergie im Allgemeinen und dem vom Auftraggeber gewünschten In-Memory<br />

Datenbanksystem SAP HANA (High Performance Analytic Appliance) erworben werden. Anschließend<br />

soll im zweiten Arbeitspaket eine Strukturanalyse der zur Verfügung gestellten WEA-Daten<br />

durchgeführt werden. Dabei sollen die wesentlichen Zusammenhänge aufgeführt sowie die relevanten<br />

Kennzahlen herausgearbeitet werden. Anschließend gilt es die Daten in SAP HANA zu importieren.<br />

Im dritten Arbeitspaket soll ein virtueller Windpark implementiert werden. Dieser kann genutzt werden,<br />

um einen Datenstrom zu erzeugen, der das Verhalten eines Windparks simuliert. In diesem virtuellen<br />

Windpark werden jedoch nicht alle Funktionen, Sensoren, etc. implementiert, sondern nur die für<br />

die <strong>Projektgruppe</strong> relevanten Parameter. Im Anschluss sollen <strong>Business</strong> <strong>Intelligence</strong> (BI) Tools eingesetzt<br />

werden, um diverse Analysen, Reports sowie Monitoring zu realisieren. Für die Durchführung<br />

der Vision wird die <strong>Projektgruppe</strong> mit ForWind und Prof. Peinke kooperieren.<br />

2. Rahmenbedingungen<br />

Im Folgenden werden die Rahmenbedingungen für das Projekt erläutert. Hierbei werden insbesondere<br />

die projektspezifischen Bedingungen berücksichtigt, welche sich auf das gesamte Projekt und das<br />

Thema BI im Umfeld der <strong>Projektgruppe</strong> beziehen.<br />

376


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

2.1 Vorgabe aus der <strong>Business</strong> <strong>Intelligence</strong>-Strategie<br />

Die <strong>Projektgruppe</strong> Cuberunner der Carl von Ossietzky Universität Oldenburg beschäftigt sich mit der<br />

Entwicklung von Anwendungen im Umfeld der BI. Vorab wurden dabei drei zu bearbeitende Anwendungsfälle<br />

definiert: Analytisches Customer Relationship Management (in Kooperation mit der CEWE<br />

Color), Sustainability Customer Relationship Management für nachhaltige Mobilität (Jinengo) und<br />

Smart Wind Farm Control (SWF) (in Kooperation mit ForWind). Abseits eines projektgruppeninternen<br />

Aufbaus und Transfers von Know-how (u.a. durch die Seminararbeiten) erfolgt die Bearbeitung<br />

der einzelnen Anwendungsfälle in personell getrennten Teilgruppen. Die Absprache der einzelnen<br />

Teilgruppen erfolgt durch regelmäßige Treffen. Folgende Rahmenbedingungen wurden auf Ebene der<br />

übergeordneten <strong>Projektgruppe</strong> vereinbart und sind daher auch für die Teilgruppe SWF von Bedeutung.<br />

Die übergeordnete <strong>Projektgruppe</strong> hat sich auf ein sequenzielles Vorgehensmodell für die Softwareentwicklung<br />

geeinigt, das in allen Teilgruppen verwendet werden soll. Als zentrale Artefakte werden<br />

ein Fachkonzept und ein Datenverarbeitungs (DV)-Konzept erstellt. Inhalte und Gliederungen der<br />

Konzepte wurden innerhalb der übergeordneten <strong>Projektgruppe</strong> abgestimmt. Die Realisierung erfolgt<br />

dabei angelehnt an agile Modelle. Zu Beginn wird daher ein vorläufiges Fachkonzept verfasst und<br />

formal abgenommen. Im Laufe des Projekts wird dieses Fachkonzept weiter ausgearbeitet und dient so<br />

anschließend auch dokumentarischen Zwecken. Die Fertigstellung des DV-Konzepts erfolgt gegen<br />

Mitte der Realisierungsphase.<br />

Über alle Anwendungsfälle hinweg wird ein Vergleich der verschiedenen eingesetzten BI Technologien<br />

angestrebt. Dazu wird begleitend zur Realisierung ein Kriterienkatalog für diesen Technologievergleich<br />

entwickelt. Der tatsächliche Vergleich der verschiedenen Technologien auf Grundlage des<br />

Katalogs erfolgt gegen Projektende.<br />

2.2 Projektspezifische technische und organisatorische<br />

Bedingungen<br />

In den folgenden Abschnitten werden die technischen und organisatorischen Rahmenbedingungen für<br />

die Teilgruppe SWF beschrieben. Dazu zählen die Vorstellung des Teams, die verfügbaren Technologien,<br />

das gegebene Arbeitsumfeld und die Kommunikation innerhalb der Teilgruppe SWF und den<br />

Ansprechpartnern.<br />

2.2.1<br />

Team<br />

Das Projektteam besteht aus vier Studierenden der Carl von Ossietzky Universität Oldenburg und ist<br />

eine Teilgruppe der <strong>Projektgruppe</strong> Cuberunner, welche im Sommersemester 2012 gegründet wurde.<br />

Die <strong>Projektgruppe</strong> besteht in der Zeit vom 1. April 2012 bis zum 31. März 2013.<br />

377


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Zum Projektteam gehören folgende Mitglieder:<br />

• Patrick Böwe<br />

• Ronja Queck<br />

• Michael Schumann (Teilgruppenleiter)<br />

• Deyan Stoyanov<br />

Der themenspezifische Hauptansprechpartner ist Prof. Peinke von ForWind, dem Zentrum für Windenergieforschung<br />

der Universitäten Oldenburg, Hannover und Bremen.<br />

2.2.2<br />

Kommunikation<br />

Die interne Kommunikation findet primär über technische Hilfsmittel wie SharePoint, Skype oder E-<br />

Mail und in Form von gemeinsamen Treffen statt. Diese gemeinsamen Treffen finden während der<br />

Projektzeit in regelmäßigen Abständen mindestens einmal wöchentlich im gesamten Team statt. Zusätzlich<br />

werden wöchentliche Treffen mit der gesamten <strong>Projektgruppe</strong> und den zuständigen Betreuern<br />

seitens der Carl von Ossietzky Universität Oldenburg abgehalten. Ergänzend werden nach Absprache<br />

zusätzliche Treffen mit Herrn Prof. Peinke stattfinden.<br />

2.2.3<br />

Technologien<br />

Eine detailliertere Beschreibung der Technologien für die Umsetzung des Projekts wird im DV-<br />

Konzept beschrieben. Vorweggreifen werden bereits folgende Technologien in den Fokus gesetzt:<br />

• SAP HANA (In-Memory Technologie)<br />

• SAP BO (<strong>Business</strong>Objects)<br />

• Microsoft Excel mit PowerPivot<br />

Das übergreifende Ziel der gesamten <strong>Projektgruppe</strong> ist ein Technologievergleich. Im Rahmen der<br />

Teilgruppe soll daher, falls realisierbar, in Arbeitspaket 5 die In-Memory Technologien SAP HANA<br />

und Microsoft SQL Server Tabular Mode sowie Analysen mit Data Mining verglichen werden. Neben<br />

den genannten Systemen werden gegebenenfalls weitere BI-Tools eingesetzt.<br />

378


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

2.2.4<br />

Stakeholder-Definition<br />

In diesem Abschnitt werden die verschiedenen Stakeholder aus unterschiedlichen Bereichen beschrieben.<br />

Die primären Stakeholder des Teilprojektes sind die Carl von Ossietzky Universität Oldenburg<br />

und ForWind (vertreten durch Prof. Peinke).<br />

Seitens der Carl von Ossietzky Universität Oldenburg wird die <strong>Projektgruppe</strong> Cuberunner und der<br />

Bereich Very Large <strong>Business</strong> <strong>Applications</strong> (VLBA) als Stakeholder betrachtet. Die Ergebnisse aus der<br />

Zusammenarbeit fließen in das Gesamtprojekt ein und können weiterhin in zukünftigen wissenschaftlichen<br />

Arbeiten verwendet werden.<br />

3. Fragestellungen und unternehmerischer Nutzen<br />

Die Hauptaufgabe der Gruppe SWF besteht darin, Daten von verschiedenen Sensoren mehrerer WEA<br />

in eine In-Memory Datenbank zu übertragen und die Daten anschließend zu analysieren. Die Analysen<br />

werden zum Teil von ForWind zur Verfügung gestellt, wodurch eine Vergleichbarkeit zu dem aktuell,<br />

nicht auf In-Memory Technologie basierenden Datenbanksystem gewährleistet wird.<br />

Durch die Verwendung von In-Memory Technologien entsteht für Unternehmen ein potenzieller<br />

Mehrwert: Auf diese Weise können komplexere Analysen auf einem größeren Datenbasis durchgeführt<br />

werden. Aktuell basieren die Analysen auf 10-Minuten-Mittelwerten. In-Memory Technologien<br />

ermöglichen eine Steigerung der Granularität, z. B. könnten die Analysen auf Sekunden-Basis durchgeführt<br />

oder über einen längeren Zeitraum betrachtet werden.<br />

Der Fokus der Teilgruppe SWF liegt im Wesentlichen auf dem Bereich der Wartung, da ca. 20 bis 30<br />

Prozent der Kosten für Windenergie durch Wartung entstehen. Ein mögliches Anwendungsszenario ist<br />

die Ermittlung der Lebensdauer einer Komponente der WEA. Falls rechtzeitig vor dem Ausfall einer<br />

Komponente ermittelt werden könnte, dass diese demnächst ausfallen würde, könnte diese bereits bei<br />

einer Routinewartung getauscht werden. Hierdurch sollen zusätzliche Wartungsarbeiten vermieden<br />

bzw. reduziert werden, die besonders bei Offshore-Anlagen durch die Wartung per Schiff oder Hubschrauber<br />

entstehen und hohe Kosten verursachen.<br />

Ein weiteres Anwendungsszenario stellt das Alerting dar, dies ist ebenfalls in den Bereich der Wartung<br />

von WEA einzugliedern. Ein Alerting soll in dringenden Fällen ausgelöst werden, beispielsweise<br />

wenn eine existentielle Komponente ausfällt oder Feuermelder ausgelöst werden. Datenfehler undausfälle<br />

müssen hierbei berücksichtigt werden. Weiterhin sollen nur dann Alerts ausgelöst werden,<br />

wenn es sich mit einer hohen Wahrscheinlichkeit um einen schwerwiegenden Fall h<strong>and</strong>elt.<br />

379


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

4. Analytische Anforderungen<br />

Im folgenden Abschnitt werden die Anforderungen an das Projektteam in Arbeitspaketen dargestellt.<br />

Diese sind vonein<strong>and</strong>er abhängig und sollen sequentiell bearbeitet werden.<br />

Zunächst muss eine theoretische Grundlage geschaffen werden, indem sich die Teilgruppe SWF in die<br />

Themen WEA sowie SAP HANA einarbeitet. Das zweite Arbeitspaket sowie primäre Ziel für die<br />

Teilgruppe wird es sein, die Rohdaten (auf Sekundenbasis) in das HANA-System zu übertragen. Hierzu<br />

ist die Implementierung eines ETL-Prozesses (Extract, Transform, Load) angedacht. Anschließend<br />

sollen die Besonderheiten von Windparks herausgearbeitet und ein Windpark simuliert werden. Mit<br />

Hilfe des simulierten Windparks soll es möglich sein, verschiedene Analysen auf Basis der Sensordaten<br />

zu entwerfen und auszuführen. Falls zeitlich möglich, soll im Anschluss ein Technologievergleich<br />

für die Gesamt-<strong>Projektgruppe</strong> stattfinden.<br />

4.1 Arbeitspaket 1: Windenergieanlagen und SAP Hana Know-how<br />

Aufbau<br />

Im ersten Arbeitspaket machen sich die Mitglieder der Teilgruppe SWF mit den Themenbereichen<br />

WEA und der Technologie SAP HANA vertraut. Dieses Arbeitspaket schafft die Basis für die nachfolgenden<br />

Arbeitspakete. Alle Ergebnisse dieses Arbeitspakets bilden eine Entscheidungsgrundlage<br />

und Voraussetzung, um einen Windpark zu simulieren und dessen Daten auszuwerten.<br />

Für das Thema Windenergie sollen die im SharePoint vorliegenden Dateien sowie die von Prof. Peinke<br />

zur Verfügung gestellten Präsentationen und Informationen analysiert und zusammengefasst werden.<br />

Zudem sollen weitere Informationen einfließen (Offshore und Onshore), um ein Grundverständnis<br />

für das Themengebiet der WEA aufzubauen.<br />

Ergänzend sollen sich die Mitglieder der Teilgruppe SWF in das vorgegebene In-Memory Datenbanksystem<br />

SAP HANA und die grundlegenden Funktionen dieses SAP Produktes einarbeiten. HANA<br />

steht für High Performance Analytic Appliance und ist eine 2010 von SAP vorgestellte Datenbanktechnologie.<br />

Die Besonderheit von SAP HANA liegt in der Verwendung von In-Memory-<br />

Technologien für den Datenzugriff, welche die Daten im Arbeitsspeicher statt auf der Festplatte vorhalten.<br />

Die Technologie ermöglicht eine wesentliche Performancesteigerung.<br />

Ziel ist es neben den allgemeinen Bedienung zu ermitteln, wie das Datenh<strong>and</strong>ling in SAP HANA erfolgt,<br />

welche Schnittstellen zu <strong>and</strong>eren Systemen verfügbar sind und welche neuen Funktionen und<br />

Möglichkeiten angeboten werden. Für das gesamt Thema SWF sollen ins Besondere alle relevanten<br />

Funktionen und Beschreibungen aus den SAP Dokumenten extrahiert und in der Projektdokumentation<br />

aufgeführt sowie gekennzeichnet werden. Dabei dient das bereits aufgebaute Wissen über WEA als<br />

380


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Grundlage. Durch die Betrachtung des Themas Windenergie aus dem Blickwinkel von SAP HANA<br />

könnten unter<strong>and</strong>erem weitere Wissenslücken ersichtlich werden. Dieses Wissen soll anschließend<br />

aufgebaut werden und zurück in die Untersuchung von SAP HANA einfließen.<br />

4.2 Arbeitspaket 2: Analyse und Übernahme der Windpark-<br />

Datenstruktur<br />

In diesem Arbeitspaket sollen die vorgegebenen Windpark-Daten analysiert und anschließend in komprimierter<br />

Form in SAP HANA übernommen werden. Grundlage hierfür ist das in Arbeitspaket 1 aufgebaute<br />

Grundlagenverständnis.<br />

Prof. Peinke wird der Teilgruppe Daten zur Verfügung stellen. Es ist offen, ob es sich hierbei um Realdaten<br />

eines Unternehmens oder um simulierte Daten h<strong>and</strong>elt. Das erste Ziel dieses Arbeitspakets ist<br />

es, auf Basis der zur Verfügung gestellten Daten eine Datenstrukturanalyse durchzuführen, sowie eine<br />

grundlegende dokumentierte Datenstruktur zu erarbeiten. Hierbei gilt es, alle Daten klar zu definieren,<br />

die Datenintegrität zu überprüfen und mögliche Unklarheiten oder Redundanzen im Vorfeld zu identifizieren.<br />

Weiterhin sollen die Zusammenhänge zwischen den Daten dargestellt werden.<br />

Basierend auf der erarbeiteten Übersicht sollen alle relevanten Kennzahlen für die SWF Management<br />

Lösung herausgearbeitet werden. Die Relevanz der Kennzahlen kann im Hinblick auf die zu entwickelnden<br />

Anwendungsfälle, Reports und Analysen bestimmt werden. Hierfür werden auch externe<br />

Informationsquellen verwendet, z. B. die Masterarbeit von Oliver Norkus über Windpark Kennzahlen<br />

und Kennsysteme. Zudem muss beachtet werden, dass der Fokus der Teilgruppe auf dem Thema Wartung<br />

liegt und nur diese Kennzahlen betrachtet werden sollen. Durch die Bestimmung von Kennzahlen<br />

kann der Umfang der Daten, die in SAP HANA übernommen werden, wesentlich reduziert werden.<br />

Im Anschluss gilt es, das zweite Ziel dieses Arbeitspakets zu erreichen, die Migration der ermittelten<br />

Datenstruktur und der vorh<strong>and</strong>enen Daten in das SAP HANA System. Basierend auf den durch Prof.<br />

Peinke zur Verfügung gestellten Daten und den ausgewählten Kennzahlen soll eine neue Datenstruktur<br />

in SAP HANA erstellt werden, die diese optimal abbildet. Anschließend sollen die vorgegebenen Daten<br />

in diese Datenstruktur in SAP HANA übernommen werden. Im Gegensatz zu Arbeitspaket 3, in<br />

dem die Daten wie im realen Leben als Sensordaten zeitlich versetzt in HANA eintreffen (Datenstrom),<br />

sollen in diesem Arbeitspaket die Daten auf einmal, d. h. als Bulk Load geladen werden.<br />

Nach Fertigstellung dieses Arbeitspakets sollen die dokumentierte Datenstruktur sowie importierte<br />

Daten in SAP HANA vorliegen.<br />

381


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

4.3 Arbeitspaket 3: Simulation eines Windparks<br />

Im dritten Arbeitspaket erfolgt die Entwicklung einer Simulation für einen Windparkdatenstrom. Im<br />

Gegensatz zu Arbeitspaket 2, bei dem die Daten auf einmal in SAP HANA geladen werden, soll dieses<br />

Arbeitspaket realitätsnäher sein, indem die Daten als Sensordaten kontinuierlich im System eintreffen.<br />

Auf Grundlage der in Arbeitspaket 2 erzeugten Datenstrukturanalyse und Zufallsalgorithmen kann<br />

eine Simulation dieser Daten erfolgen. Diese agiert somit als virtueller Windpark und simuliert im<br />

Sekundentakt zufällige Messdaten der Sensoren. Die Zufallswerte werden dabei durch die jeweiligen<br />

ermittelten Grenzwerte der von Prof. Peinke bereitgestellten Testdaten eingegrenzt und orientieren<br />

sich an der bisherigen Datenverteilung. Eventuell können hierfür durch Prof. Peinke zur Verfügung<br />

gestellte Algorithmen eingesetzt werden.<br />

Die zu entwickelnde Simulationsanwendung fungiert als St<strong>and</strong>alone Lösung, um neben SAP HANA<br />

auch mit <strong>and</strong>eren möglichen Datenbanken kommunizieren zu können. Weiterhin stellt die Konfigurierbarkeit<br />

der Datenströme hinsichtlich des Umfangs und zeitlicher Faktoren eine zentrale Anforderung<br />

dar.<br />

Das Ziel dieses Arbeitspakets ist einerseits das Testen der Belastbarkeit von SAP HANA sowie <strong>and</strong>ererseits<br />

die Schaffung einer Basis für Ad hoc-Analysen und -reports (siehe Arbeitspaket 4).<br />

4.4 Arbeitspaket 4: Analyse und Reporting<br />

Das Ziel des vierten Arbeitspakets ist die Analyse und visuelle Ausgabe der in SAP HANA gespeicherten<br />

Daten. Übergreifend ergibt sich somit eine klare Trennung zwischen Dateninput (Bulk Load<br />

oder Datenstrom), Datenspeicherung (SAP HANA) und Datenoutput (Analyse und Reporting). Alle<br />

drei Teilbereiche sind auf Grund der vollständigen Abgrenzung dieser jederzeit austauschbar bzw.<br />

individualisierbar.<br />

Im Rahmen des Reportings steht die schnelle und umfangreiche Visualisierung von Daten im Vordergrund.<br />

Hierfür sollen beispielsweise Excel PowerPivot oder SAP BO genutzt werden. Der Fokus des<br />

Reportings liegt auf der Nutzung des Geschwindigkeitsvorteils, der durch SAP HANA erzeugt wird.<br />

Daher sollen die Daten und Analysen Ad hoc verändert werden können. Ein möglicher Report könnte<br />

z. B. eine Übersicht über die Restlaufzeiten aller WEA eines Windparks sein, die durch Umwelteinflüsse<br />

wie etwa Stürme beeinflusst werden.<br />

Für die vorausschauende Wartung soll Data Mining eingesetzt werden. Hierbei können durch Anwendung<br />

von Methoden auf vorh<strong>and</strong>ene Daten (Fehlermeldungen, Erfahrungswerte, historische Analysen)<br />

neue Muster erkannt werden. Beispielsweise kann die aus den alten Daten ermittelte Klassifikation<br />

„Wenn Sensor A einen Wert höher 15, Sensor B einen Wert kleiner 0 und Sensor C den Wert TRUE<br />

382


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

melden dann fällt Windradbauteil X innerhalb von 2 Monaten aus“ auf neue Daten für Prognosen angewendet<br />

werden. Diese Analysen können durchgeführt werden, wenn es sich bei den von Prof. Peinke<br />

zur Verfügung gestellten Daten um Echtdaten h<strong>and</strong>elt.<br />

Für komplexere Analysen, die Erstellung von Dashboards, das Berichtswesen, usw. werden im Rahmen<br />

der Teilgruppe SWF BI Tools eingesetzt. Der Fokus liegt auf Microsoft und SAP Anwendungen,<br />

nach Bedarf werden auch Tools von <strong>and</strong>eren Anbietern verwendet. Eine genaue Beschreibung der<br />

Tools findet erst im DV-Konzept statt.<br />

4.5 Arbeitspaket 5: Technologievergleich<br />

Das fünfte und letzte Arbeitspaket ist ein Technologievergleich. Dieses optionale Arbeitspaket betrifft<br />

primär die Ziele der gesamten <strong>Projektgruppe</strong> Cuberunner, in der die Teilgruppe SWF eingegliedert ist.<br />

Beim Technologievergleich kann beispielsweise der ETL-Prozess von Sensordaten auf verschiedenen<br />

In-Memory Datenbanken mitein<strong>and</strong>er verglichen werden. Für die Datenspeicherung können beispielsweise<br />

Excel mit PowerPivot und SAP BO genutzt werden. Zudem können die Analysen und<br />

Reports vergleichen werden, wie beispielsweise Data Mining mit IBM SPSS oder Microsoft SQL<br />

Server.<br />

5. Kennzahlen<br />

Eine Kennzahl ist eine Maßzahl, die „quantitativ messbare Sachverhalte in aussagekräftiger, komprimierter<br />

Form wiedergibt“ (Wöhe 2005, S. 239). Kennzahlen sind von großer Bedeutung für das Projekt<br />

SWF. Ein wesentliches Ziel des Projekts ist es, Kennzahlen für die Wartung von WEA zu bestimmen.<br />

Basis für die Auswahl der betrachteten Kennzahlen ist Norkus (2012). Diese Kennzahlen<br />

sollen im Zuge der Praxisgespräche und nach dem Erhalt von Realdaten erweitert werden. Die Kennzahlen<br />

sind Basis für die zu entwickelnde Datenstruktur.<br />

Die in Kapitel 3.2 beschriebenen Kennzahlen sollen im Folgenden für das Projekt SWF festgelegt und<br />

erläutert werden. Die Kennzahlen basieren, soweit nicht <strong>and</strong>ers gekennzeichnet, auf Norkus (2012).<br />

Zudem wurden weitere Kennzahlen aus der Zusammenarbeit mit den Projektpartnern abgeleitet, beispielsweise<br />

Wassertiefe und Rotorblattlänge. Für eine bessere Übersichtlichkeit werden die einzelnen<br />

Kennzahlen anh<strong>and</strong> eines Kennzahlen-Steckbriefs dargestellt, dessen Struktur in Tabelle 5.1 definiert<br />

wird.<br />

383


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: {ID}<br />

Bezeichnung: {Bezeichnung}<br />

Bedeutung Kennzahlensystem: {Zuordnung zum entsprechenden Kennzahlen-system}<br />

Beschreibung:<br />

Dimensionen:<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen:<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards:<br />

Self-Service-BI:<br />

Data Mining:<br />

{Ausführlicherer Beschreibungstext}<br />

{Auflistung der Dimensionen mit Angabe ihrer Granularität}<br />

{Beispiele für mögliche Analysefragen}<br />

{Messgrößen bzw. untergeordnete Kenn-zahlen}<br />

{Formel}<br />

{Angabe, wie oft eine Neuberechnung erfolgt}<br />

{Umgang mit Sollabweichungen, etc.}<br />

{Verweis auf abhängige Reports & Dash-boards}<br />

{Beschreibung, ob, wem & wie die Kennzahl für Self-<br />

Service-BI zur Verfügung steht}<br />

{Bedeutung der Kennzahl für das Data Mining}<br />

Sonstiges Verantwortlichkeiten: {Ansprechpartner für weitere Rückfragen}<br />

Verschiedenes:<br />

{Weitere Besonderheiten}<br />

Quelle: Norkus 2012, S. 21<br />

Tabelle 5.1: Kennzahlen-Steckbrief<br />

Die Kennzahlen können für leichtere H<strong>and</strong>habbarkeit in vier Gruppen eingeteilt werden: Windpark-,<br />

Wetter, Anlagen- sowie Sensordaten. Die einzelnen Kennzahlen-Steckbriefe befinden sich im Anhang<br />

A.<br />

Windparkdaten:<br />

• Anzahl WEA<br />

• Größe des Windparks<br />

• St<strong>and</strong>ort des Windparks<br />

• Längengrad des Windparks<br />

• Breitengrad des Windparks<br />

• Soll-Leistung des Windparks<br />

• Wassertiefe des Windparks<br />

Wetterdaten:<br />

• Vorhersage Windgeschwindigkeit<br />

• Vorhersage Luftfeuchtigkeit<br />

• Vorhersage Wellenhöhe<br />

• Vorhersage Temperatur<br />

• Vorhersage Luftdruck<br />

384


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

• Vorhersage Niederschlag<br />

• Vorhersage Windrichtung<br />

• Vorhersage Wahrscheinlichkeit<br />

Anlagendaten:<br />

• Hersteller<br />

• Nabenhöhe<br />

• Rotorblattlänge<br />

• Anzahl Rotorblätter<br />

• Einschaltgeschwindigkeit<br />

• Abschaltgeschwindigkeit<br />

• Leistung<br />

Sensordaten:<br />

• Timestamp<br />

• Windgeschwindigkeit<br />

• Betriebsstatus<br />

• Leistungsabgabe<br />

• Windrichtung<br />

• Blatteinstellwinkel<br />

• Außentemperatur<br />

• Luftdichte<br />

• Luftfeuchtigkeit<br />

• Ölst<strong>and</strong>-Turbine<br />

• Öldruck-Turbine<br />

• Öltemperatur-Turbine<br />

• Spannung-Turbine<br />

• Stromstärke-Turbine<br />

• Frequenz-Turbine<br />

• Ölst<strong>and</strong>-Generator<br />

• Öldruck-Generator<br />

• Öltemperatur-Generator<br />

• Drehzahl-Generator<br />

• Ölst<strong>and</strong>-Getriebe<br />

• Öldruck-Getriebe<br />

• Öltemperatur-Getriebe<br />

385


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

6. Semantische Modellierung<br />

Eine semantische Modellierung ist derzeitig nicht vorstellbar, da für diese die Vorarbeit der ersten<br />

zwei Arbeitspakete geleistet werden muss und insbesondere WEA Daten vorliegen müssen. Die semantische<br />

Modellierung wird daher erst im DV-Konzept vorgenommen<br />

7. Nichtanalytische Anforderungen<br />

Die wesentlichen nichtanalytischen (oder auch nichtfunktionalen) Anforderungen des Projekts SWF<br />

sind Leistung und Effizienz sowie Änderbarkeit. Es muss beachtet werden, dass diese Anforderungen<br />

an die eingesetzte Software gebunden sind und je nach Anwendungsfall durch die Teilgruppe nur in<br />

begrenztem Rahmen modifizierbar sind. Diese werden im Folgenden näher erläutert.<br />

Leistung und Effizienz<br />

Die Anforderungen an die Leistung und Effizienz sind in erster Linie kurze Antwortzeiten und ein<br />

optimaler Einsatz von Ressourcen. Während der konzeptuellen Einarbeitung in die einzusetzende<br />

Software sollen daher Faktoren ermittelt und festgelegt werden, wie diese Anforderungen bestmöglich<br />

realisiert werden können.<br />

Änderbarkeit<br />

Da in dem Projekt SWF verschiedene Software Tools eingesetzt werden und die genaue Aufgabenstellung<br />

von den Praxispartnern und den von ihnen übermittelten Daten abhängen und somit flexibel angepasst<br />

werden müssen, ist die Änderungsmöglichkeit der Software sehr wichtig. Zudem muss sichergestellt<br />

sein, dass das System stabil ist und damit Änderungen nicht zu unerwünschten Nebeneffekten<br />

führen.<br />

386


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

8. Literaturverzeichnis<br />

Norkus, O. (2012): Entwicklung eines Kennzahlensystems zur Windparksteuerung, Masterarbeit, Universität<br />

Oldenburg.<br />

Wöhe, G. (2005): Einführung in die allgemeine Betriebswirtschaftslehre, 22. Auflage, Vahlen Verlag.<br />

387


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Anhang<br />

A. Kennzahlen<br />

Gruppe – Windpark (A)<br />

ID: A001<br />

388<br />

Bezeichnung: Anzahl WEA<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen:<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

ID: A002<br />

Verschiedenes:<br />

Anzahl der installierten Windanlagen<br />

Wie viele Anlagen sind in dem Windpark installiert?<br />

Errichtungskonzept<br />

In Stück (St)<br />

Darstellung als Wert<br />

Tabelle A.1: Kennzahl Anzahl WEA<br />

Bezeichnung: Größe des Windparks<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Größe des Windparks<br />

Berechnung Datenquellen: Errichtungskonzept<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes:<br />

Wie viel Quadratmeter werden für den Windpark<br />

benötigt?<br />

In qm (Quadratmeter)<br />

Darstellung als Wert<br />

Tabelle A.2: Kennzahl Größe des Windparks


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: A003<br />

Bezeichnung: St<strong>and</strong>ort des Windparks<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen:<br />

Berechnung: -<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes: -<br />

Koordinaten des Errichtungsortes des Windparks<br />

Wie lauten die Koordinaten des Errichtungs-ortes<br />

eines Windparks?<br />

Errichtungskonzept<br />

Tabelle A.3: Kennzahl St<strong>and</strong>ort des Windparks<br />

ID: A004<br />

Bezeichnung: Längengrad des Windparks<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen:<br />

Längengrad des Errichtungsortes des Windparks<br />

Wie lautet der Längengrad des Errichtungs-ortes eines<br />

Windparks?<br />

Errichtungskonzept<br />

Berechnung: In Grad (°)<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes: -<br />

Tabelle A.4: Kennzahl Längengrad des Windparks<br />

389


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: A005<br />

Bezeichnung: Breitengrad des Windparks<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen: Errichtungskonzept<br />

Berechnung: In Grad (°)<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes: -<br />

Tabelle A.5: Kennzahl Breitengrad des Windparks<br />

Breitengrad des Errichtungsortes des Windparks<br />

Wie lautet der Breitengrad des Errichtungsortes<br />

eines Windparks?<br />

ID: A006<br />

Bezeichnung: Soll-Leistung des Windparks<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen:<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes:<br />

Maximale Leistung, die vom Windpark in Volllast<br />

produziert werden kann<br />

Wie viel ist die Gesamtleistung eines Windparks?<br />

Hersteller<br />

In MW (Megawatt)<br />

Betriebsführer<br />

Darstellung als Wert<br />

Tabelle A.6: Kennzahl Soll-Leistung des Windparks<br />

390


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: A006<br />

Bezeichnung: Wassertiefe des Windparks<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen:<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes:<br />

Durchschnittliche Wassertiefe des gesamten Windparks<br />

Wie lautet die durchschnittliche Wassertiefe eines<br />

Windparks?<br />

Errichtungskonzept<br />

In Meter (M)<br />

Darstellung als Wert<br />

Tabelle A.7: Kennzahl Wassertiefe des Windparks<br />

391


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Gruppe – Wetterdaten (B)<br />

ID: B001<br />

392<br />

Bezeichnung: Vorhersage Windgeschwindigkeit<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen:<br />

Berechnung Datenquellen:<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Die Windgeschwindigkeit und die Luftdichte beeinflussen<br />

die Rotordrehzahl.<br />

-<br />

Meteorologie<br />

Meteorologisches Mess- und Prognoseverfahren. Geschwindigkeit<br />

[m/s]<br />

Frühzeitiges Hochfahren oder Abschalten der Anlage<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

ID: B002<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 170<br />

Tabelle A.8: Kennzahl Vorhersage Windgeschwindigkeit<br />

Bezeichnung: Vorhersage Luftfeuchtigkeit<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Meteorologie<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Hohe Luftfeuchtigkeit und negative Außentemperatur<br />

sind Indizien für die Möglichkeit des<br />

Einfrierens der Rotorblätter.<br />

Meteorologisches Mess- und Prognoseverfahren.<br />

Prozent [%]<br />

Bei eingefrorenen Rotorblättern muss die Anlage<br />

herunter gefahren werden.<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 169<br />

Tabelle A.9: Kennzahl Vorhersage Luftfeuchtigkeit


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: B003<br />

Bezeichnung: Vorhersage Wellenhöhe<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Meteorologie<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Hohe Wellenhöhe kann destruktiv für die Anlagen<br />

sein. Die Wellenhöhe ist der Faktor, ob eine<br />

Anlage per Hubschrauber, Schiff, oder überhaupt<br />

erreicht werden kann. Schlechte Wetterbedingungen<br />

beeinflussen stark die Wartungsarbeit.<br />

In Meter (M)<br />

Bei hohen Wellenhöhe muss die Anlage herunter<br />

gefahren werden.<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

Verschiedenes: -<br />

Tabelle A.10: Kennzahl Vorhersage Wellenhöhe<br />

ID: B004<br />

Bezeichnung: Vorhersage Temperatur<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Meteorologie<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Hohe Luftfeuchtigkeit und negative Außentemperatur<br />

sind Indizien für die Möglichkeit<br />

des Einfrierens der Rotorblätter<br />

Meteorologisches Mess- und Prognoseverfahren.<br />

Temperatur [C°]<br />

Bei eingefrorenen Rotorblättern muss die Anlage<br />

herunter gefahren werden.<br />

Betriebsführer<br />

393


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 167<br />

Tabelle A.11: Kennzahl Vorhersage Temperatur<br />

ID: B005<br />

Bezeichnung: Vorhersage Luftdruck<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Meteorologie<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Ein hoher Luftdruck ist ein Indiz für ein guten<br />

Leistungsertrag<br />

Meteorologisches Mess- und Prognoseverfahren.<br />

Luftdruck [Bar]<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

Verschiedenes: -<br />

Tabelle A.12: Kennzahl Vorhersage Luftdruck<br />

ID: B006<br />

Bezeichnung: Vorhersage Niederschlag<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Vorhersage Niederschlag<br />

Berechnung Datenquellen: Meteorologie<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Meteorologisches Mess- und Prognoseverfahren.<br />

Niederschlag<br />

Betriebsführer<br />

394


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

ID: B007<br />

Verschiedenes: -<br />

Tabelle A.13: Kennzahl Vorhersage Niederschlag<br />

Bezeichnung: Vorhersage Windrichtung<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Vorhersage Windrichtung<br />

Berechnung Datenquellen: Meteorologie<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Meteorologisches Mess- und Prognoseverfahren.<br />

Richtung [N, O, S, W]<br />

Frühzeitiges in den Wind drehen<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

ID: B008<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 171<br />

Tabelle A.14: Kennzahl Vorhersage Windrichtung<br />

Bezeichnung: Vorhersage Wahrscheinlichkeit<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Meteorologie<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Vorhersage Wahrscheinlichkeit<br />

Meteorologisches Mess- und Prognoseverfahren.<br />

Prozent [%]<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer, Meteorologie<br />

Verschiedenes: -<br />

Tabelle A.15: Kennzahl Vorhersage Wahrscheinlichkeit<br />

395


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Gruppe – Anlagendaten (C)<br />

ID: C001 Bezeichnung: Hersteller<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Name des Herstellers<br />

Dimensionen: -<br />

Exemplarische Analysefragen: Wer ist der Hersteller?<br />

Berechnung Datenquellen: Hersteller<br />

Berechnung: -<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: Hersteller<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 94<br />

Tabelle A.16: Kennzahl Hersteller<br />

ID: C002<br />

Bezeichnung: Nabenhöhe<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Hersteller<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes:<br />

Höhe der Nabe und somit auch Höhe der gesamten<br />

Anlage<br />

in Meter<br />

Quelle: Norkus 2012, S. 98<br />

Darstellung als Wert<br />

Tabelle A.17: Kennzahl Nabenhöhe<br />

396


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: C003 Bezeichnung: Rotorblattlänge<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Länge der Rotorblätter<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Hersteller<br />

Berechnung:<br />

in Meter<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes:<br />

Darstellung als Wert<br />

Tabelle A.18: Kennzahl Rotorblattlänge<br />

ID: C004<br />

Bezeichnung: Anzahl Rotorblätter<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Hersteller<br />

Berechnung: -<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 101<br />

Anzahl der Rotorblätter<br />

Tabelle A.19: Kennzahl Anzahl Rotorblätter<br />

Darstellung als Wert, graphische Visualisierung<br />

der Anlage<br />

397


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: C005<br />

Bezeichnung: Einschaltgeschwindigkeit<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Zu geringe Windgeschwindigkeiten reichen<br />

nicht aus, um die Rotorblätter zu drehen. Die<br />

Einschaltgeschwindigkeit stellt die Windgeschwindigkeit<br />

dar, ab dieser eine WEA gestartet<br />

werden kann. Dieser Wert ist vom Anlagentyp<br />

abhängig.<br />

Berechnung Datenquellen: Vorgabe vom Hersteller, Parametrisierung<br />

durch Betriebsführer<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

In M/S (Meter per Sekunde)<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 107<br />

Tabelle A.20: Kennzahl Einschaltgeschwindigkeit<br />

Je nach Anlagentyp zwischen 2 und 8 m/s<br />

ID: C006<br />

Bezeichnung: Abschaltgeschwindigkeit<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Bei sehr großen Windgeschwindigkeiten<br />

muss die WEA zur Schadenvermeidung<br />

abgeschaltet werden. Die Abschaltwindgeschwindigkeit<br />

stellt die Windgeschwindigkeit<br />

dar, ab dieser eine WEA heruntergefahren<br />

werden muss. Dieser Wert ist vom Anlagentyp<br />

abhängig.<br />

Berechnung Datenquellen: Vorgabe vom Hersteller, Parametrisierung<br />

durch Betriebsführer<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

In m/s (Meter per Sekunde)<br />

398


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Betriebsführer<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Je nach Anlagentyp zwischen 25 und 35 m/s<br />

Quelle: Norkus 2012, S. 106<br />

Tabelle A.21: Kennzahl Abschaltgeschwindigkeit<br />

ID: C007<br />

Bezeichnung: Leistung<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Hersteller<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: -<br />

Verschiedenes:<br />

Maximale Leistung, die von der Anlage in<br />

Volllast produziert werden kann<br />

In MW (Megawatt)<br />

Betriebsführer<br />

Quelle: Norkus 2012, S. 103<br />

Darstellung als Wert<br />

Tabelle A.22: Kennzahl Leistung<br />

399


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

Gruppe – Sensordaten (D)<br />

ID: D001<br />

Bezeichnung: Windgeschwindigkeit<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

An der WEA vorherrschende Windgeschwindigkeit.<br />

Bei Überschreiten der Einschaltwindgeschwindigkeit<br />

startet die WEA. Bei Überschreiten<br />

der Abschaltwindgeschwindigkeit<br />

wird die WEA heruntergefahren.<br />

Berechnung Datenquellen: Betriebswindmesssystem an der Gondel<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Windgeschwindigkeitsmessung (m/s)<br />

10-min, Stunde, Tag<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 139<br />

Tabelle A.23: Kennzahl Windgeschwindigkeit<br />

ID: D002 Bezeichnung: Betriebsstatus<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Betriebsstatus einer Windanlage<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Betriebssystem<br />

Berechnung:<br />

Nummerische Zahl<br />

Aktualität: -<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI: -<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Darstellung als Wert<br />

Tabelle A.24: Kennzahl Betriebsstatus<br />

400


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D003 Bezeichnung: Leistungsabgabe<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Leistung des erzeugten Stroms<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Strommessung an der Turbine<br />

Berechnung:<br />

Messung der Stromspannung (W)<br />

Aktualität:<br />

10-min, Stunde, Tag<br />

Eskalationsregeln:<br />

Inspektion und Wartung<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Betriebsführer<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Maximaler Wert des Anlagentyps<br />

Quelle: Norkus 2012, S. 157<br />

Tabelle A.25: Kennzahl Leistungsabgabe<br />

ID: D004<br />

Bezeichnung: Windrichtung<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Richtung, aus der der Wind weht. Im Betrieb<br />

wird die WEA dem Wind hinterher gedreht. Je<br />

höher die Windgeschwindigkeit, desto höher<br />

die Drehgeschwindigkeit.<br />

Berechnung Datenquellen: Betriebswindmesssystem an der Gondel<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Windrichtungsmessung<br />

10-min, Stunde, Tag<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 140<br />

Beeinflusst den Gierwinkel<br />

Tabelle A.26: Kennzahl Windrichtung<br />

401


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D005<br />

Bezeichnung: Blatteinstellwinkel<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Messung<br />

Berechnung:<br />

Aktualität: -<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Blatteinstellwinkel für jedes Rotorblatt<br />

Messung des Blatteinstellwinkels an der Blattaufhängung<br />

in der Nabe<br />

Inspektion und Wartung Blattverstellmechanismus<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 110<br />

Tabelle A.27: Kennzahl Blatteinstellwinkel<br />

ID: D006 Bezeichnung: Außentemperatur<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Temperatur an der WEA<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Messung<br />

Berechnung:<br />

Temperaturmessung (C°)<br />

Aktualität:<br />

10-min, Stunde, Tag<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Betriebsführer<br />

Data Mining: -<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Indiz für das Einfrieren der Rotorblätter<br />

Quelle: Norkus 2012, S. 136<br />

Tabelle A.28: Kennzahl Außentemperatur<br />

402


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D007<br />

Bezeichnung: Luftdichte<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Messung<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Eine hohe Luftdichte ist ein Indiz für ein guten<br />

Leistungsertrag<br />

Luftmessung (kg/m³)<br />

10-min, Stunde, Tag<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 137<br />

Tabelle A.29: Kennzahl Luftdichte<br />

ID: D008<br />

Bezeichnung: Luftfeuchtigkeit<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Hohe Luftfeuchtigkeit und negative Außentemperatur<br />

sind Indizen für die Möglichkeit<br />

des Einfrierens der Rotorblätter.<br />

Berechnung Datenquellen: Betriebswindmesssystem an der Gondel<br />

Berechnung: Luftmessung (%)<br />

Aktualität:<br />

Eskalationsregeln: -<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

10-min, Stunde, Tag<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes: -<br />

Quelle: Norkus 2012, S. 138<br />

Tabelle A.30: Kennzahl Luftfeuchtigkeit<br />

403


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D009<br />

Bezeichnung: Ölst<strong>and</strong>-Turbine<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

St<strong>and</strong> des Schmiermittels in der Turbine<br />

Berechnung Datenquellen: Messsystem an der Turbine<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Ölst<strong>and</strong>messung (Liter)<br />

10-min-Durchschnitt, Stunde, Tag<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 118<br />

Tabelle A.31: Kennzahl Ölst<strong>and</strong>-Turbine<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

ID: D010<br />

404<br />

Bezeichnung: Öldruck-Turbine<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Druck des Schmieröls in der Turbine<br />

Berechnung Datenquellen: Messsystem an der Turbine<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Druckmessung (bar / kPa)<br />

10-min-Durchschnitt<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 115<br />

Tabelle A.32: Kennzahl Öldruck-Turbine<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D011<br />

Bezeichnung: Öltemperatur-Turbine<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Temperatur des Schmiermittels in der Turbine<br />

Berechnung Datenquellen: Messsystem an der Turbine<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Temperaturmessung (C°)<br />

10-min-Durchschnitt, Stunde, Tag<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 119<br />

Tabelle A.33: Kennzahl Öltemperatur-Turbine<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

ID: D012<br />

Bezeichnung: Spannung-Turbine<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Stromspannung des erzeugten Stroms<br />

Berechnung Datenquellen: Strommessung an der Turbine<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Messung der Stromspannung (V)<br />

10-min, Stunde, Tag<br />

Inspektion und Wartung<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 121<br />

Tabelle A.34: Kennzahl Spannung-Turbine<br />

Toleranz-Werte: Maximaler Wert des Anlagentyps<br />

405


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D013<br />

Bezeichnung: Stromstärke-Turbine<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Stromstärke des erzeugten Stroms<br />

Berechnung Datenquellen: Strommessung an der Turbine<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Messung der Stromstärke (A)<br />

10-min, Stunde, Tag<br />

Inspektion und Wartung<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 122<br />

Tabelle A.35: Kennzahl Stromstärke-Turbine<br />

Toleranz-Werte: Maximaler Wert des Anlagentyps<br />

ID: D014<br />

406<br />

Bezeichnung: Frequenz-Turbine<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Frequenz des erzeugten Stroms an der Turbine<br />

in der WEA<br />

Berechnung Datenquellen: Strommessung an der Turbine<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Messung der Frequenz (Hz)<br />

10-min, Stunde, Tag<br />

Inspektion und Wartung<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 124<br />

Tabelle A.36: Kennzahl Frequenz-Turbine<br />

Ziel-, Soll-Werte: Netzvorgabeparameter Frequenz


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D015<br />

Bezeichnung: Ölst<strong>and</strong>-Generator<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

St<strong>and</strong> des Schmiermittels im Generator<br />

Berechnung Datenquellen: Messsystem am Generator<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Ölst<strong>and</strong>messung (Liter)<br />

10-min-Durchschnitt, Stunde, Tag<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 130<br />

Tabelle A.37: Kennzahl Ölst<strong>and</strong>-Generator<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

ID: D016<br />

Bezeichnung: Öldruck-Generator<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Druck des Schmieröls im Generator<br />

Berechnung Datenquellen: Messsystem am Generator<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Druckmessung (bar / kPa)<br />

10-min-Durchschnitt<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 125<br />

Tabelle A.38: Kennzahl Öldruck-Generator<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

407


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D017<br />

Bezeichnung: Öltemperatur-Generator<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Temperatur des Schmiermittels im Generator<br />

Berechnung Datenquellen: Messsystem am Generator<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Temperaturmessung (C°)<br />

10-min-Durchschnitt, Stunde, Tag<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 127<br />

Tabelle A.39: Kennzahl Öltemperatur-Generator<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

ID: D018<br />

408<br />

Bezeichnung: Drehzahl-Generator<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Berechnung Datenquellen: Messung<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Drehzahl des Generators<br />

Messung der Drehbewegung der Generatorachse<br />

(rpm/h)<br />

10-min, Stunde, Tag<br />

Wartungs- bzw. Inst<strong>and</strong>setzungsmaßnahme<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 133<br />

Tabelle A.40: Kennzahl Drehzahl-Generator<br />

Ziel-, Soll- und Toleranz-Werte: Je nach<br />

Anlagentyp


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D019<br />

Bezeichnung: Ölst<strong>and</strong>-Getriebe<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

St<strong>and</strong> des Schmiermittels im Getriebe<br />

Berechnung Datenquellen: Messsystem am Getriebe<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Ölst<strong>and</strong>messung (Liter)<br />

10-min-Durchschnitt, Stunde, Tag<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 130<br />

Tabelle A.41: Kennzahl Ölst<strong>and</strong>-Getriebe<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

ID: D020<br />

Bezeichnung: Öldruck-Getriebe<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Druck des Schmieröls im Getriebe<br />

Berechnung Datenquellen: Messsystem am Getriebe<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Druckmessung (bar / kPa)<br />

10-min-Durchschnitt<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 129<br />

Tabelle A.42: Kennzahl Öldruck-Getriebe<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

409


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Fachkonzept<br />

ID: D021<br />

Bezeichnung: Öltemperatur-Getriebe<br />

Bedeutung Kennzahlensystem: -<br />

Beschreibung:<br />

Dimensionen: -<br />

Exemplarische Analysefragen: -<br />

Temperatur des Schmiermittels im Getriebe<br />

Berechnung Datenquellen: Messsystem am Generator<br />

Berechnung:<br />

Aktualität:<br />

Eskalationsregeln:<br />

Anwendung Reports & Dashboards: -<br />

Self-Service-BI:<br />

Data Mining: -<br />

Temperaturmessung (C°)<br />

10-min-Durchschnitt, Stunde, Tag<br />

Ölwechsel<br />

Betriebsführer<br />

Sonstiges Verantwortlichkeiten: Betriebsführer<br />

Verschiedenes:<br />

Quelle: Norkus 2012, S. 131<br />

Tabelle A.43: Kennzahl Öltemperatur-Getriebe<br />

Ziel-, Soll- und Toleranz-Werte: Je nach Anlagentyp<br />

410


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: Smart Wind Farm Control<br />

DV-Konzept<br />

411


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

412


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Inhaltsverzeichnis DV-Konzept Smart Wind Farm Control<br />

Abbildungsverzeichnis ........................................................................................................... 414<br />

Tabellenverzeichnis ................................................................................................................ 414<br />

Abkürzungsverzeichnis .......................................................................................................... 415<br />

Versionshistorie ...................................................................................................................... 416<br />

1 Gesamtüberblick ............................................................................................................. 417<br />

2 Ist-Zust<strong>and</strong> ...................................................................................................................... 419<br />

2.1 Datenmanagement ...................................................................................................... 419<br />

2.2 Software ...................................................................................................................... 420<br />

2.3 Architektur .................................................................................................................. 420<br />

3 Soll-Zust<strong>and</strong> .................................................................................................................... 422<br />

3.1 Software ...................................................................................................................... 422<br />

3.1.1 SAP HANA ..................................................................................................... 422<br />

3.1.2 Pentaho Data Integration ................................................................................. 423<br />

3.1.3 R....................................................................................................................... 424<br />

3.1.4 Microsoft Excel ............................................................................................... 424<br />

3.1.5 SAP <strong>Business</strong>Objects ...................................................................................... 425<br />

3.1.6 Smart Wind Farm Control Toolbox................................................................. 425<br />

3.2 Datenmodell ............................................................................................................... 426<br />

3.3 Architektur .................................................................................................................. 426<br />

3.4 Technische Voraussetzungen ..................................................................................... 428<br />

3.4.1 Software und Hardware ................................................................................... 428<br />

3.4.2 Daten ................................................................................................................ 428<br />

4 Realisierung .................................................................................................................... 430<br />

4.1 Analyse und Übernahme des Windpark-Datenmodells ............................................. 430<br />

4.1.1 Datenmodell..................................................................................................... 430<br />

4.1.2 ETL-Prozess .................................................................................................... 432<br />

4.2 Simulation eines Windparks ....................................................................................... 435<br />

4.3 Analyse und Reporting ............................................................................................... 439<br />

4.3.1 Data Mining mit R ........................................................................................... 439<br />

4.3.2 Analysen und Reporting – Microsoft Excel .................................................... 442<br />

4.3.3 Analysen und Reporting – SAP UI5................................................................ 443<br />

5 Ansprechpartner .............................................................................................................. 446<br />

5.1 Fachliche Ansprechpartner ......................................................................................... 446<br />

5.2 Technische Ansprechpartner ...................................................................................... 447<br />

6 Literaturverzeichnis ........................................................................................................ 448<br />

Anhang ................................................................................................................................... 450<br />

A. Datenmodell .................................................................................................................... 450<br />

413


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Abbildungsverzeichnis<br />

Abbildung 2.1: Datenfluss im Windparkmanagement ........................................................... 421<br />

Abbildung 3.1: Geplante Architektur des Smart Wind Farm Control Projekts ..................... 427<br />

Abbildung 4.1: Logisches Datenmodell ................................................................................. 431<br />

Abbildung 4.2: Phasen des ETL-Prozesses in Pentaho Data Integration CE ......................... 433<br />

Abbildung 4.3: SWF Toolbox Klassenübersicht .................................................................... 436<br />

Abbildung 4.4: SWF Toolbox Übersicht ............................................................................... 437<br />

Abbildung 4.5: SWF Toolbox Generator ............................................................................... 438<br />

Abbildung 4.6: SWF Toolbox Streamer ................................................................................ 438<br />

Abbildung 4.7: Zwei Ansätze für die Integration von R und HANA .................................... 439<br />

Abbildung 4.8: Hauptkomponenten des Inside Out Ansatzes ................................................ 441<br />

Abbildung 4.9: Mockup SAP UI5 - Startseite ........................................................................ 443<br />

Abbildung 4.10: Mockup SAP UI5 - Monitor ....................................................................... 444<br />

Abbildung 4.11: Mockup SAP UI5 - Log .............................................................................. 444<br />

Abbildung 4.12: Mockup SAP UI5 - Reporting .................................................................... 445<br />

Abbildung A.1: Datenmodell ................................................................................................. 450<br />

Tabellenverzeichnis<br />

Tabelle 4.1: Pentaho Data Integration CE Funktionen .......................................................... 434<br />

Tabelle 5.1: Fachliche Ansprechpartner ................................................................................. 446<br />

Tabelle 5.2: Technische Ansprechpartner .............................................................................. 447<br />

414


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Abkürzungsverzeichnis<br />

AG<br />

BI<br />

BO<br />

CE<br />

CPU<br />

CSV<br />

DLR<br />

DNS<br />

EE<br />

ETL<br />

GB<br />

GmbH<br />

GPL<br />

HANA<br />

HPI<br />

HTML<br />

IP<br />

JDBC<br />

JSON<br />

KW<br />

MS<br />

ODBC<br />

OLAP<br />

RAM<br />

SQL<br />

SWF<br />

SWT<br />

TCP<br />

UI<br />

UMTS<br />

VLBA<br />

VPN<br />

WEA<br />

WEC<br />

WIS<br />

XML<br />

Aktiengesellschaft<br />

<strong>Business</strong> <strong>Intelligence</strong><br />

<strong>Business</strong>Objects<br />

Community Edition<br />

Central Processing Unit<br />

Comma-separated values<br />

Deutsche Luft- und Raumfahrt<br />

Domain Name System<br />

Enterprise Edition<br />

Extract, Transform, Load<br />

Gigabyte<br />

Gesellschaft mit beschränkter Haftung<br />

General Public License<br />

High Performance Analytic Appliance<br />

Hasso-Plattner-Institut<br />

Hypertext Markup Language<br />

Internetprotokoll<br />

Java Database Connector<br />

JavaScript Object Notation<br />

Kilowatt<br />

Microsoft<br />

Open Database Connectivity<br />

Online Analytical Processing<br />

R<strong>and</strong>om-Access Memory<br />

Structured Query Language<br />

Smart Wind Farm Control<br />

St<strong>and</strong>ard Widget Toolkit<br />

Transmission Control Protocol<br />

User Interface<br />

Universal Mobile Telecommunications System<br />

Very Large <strong>Business</strong> <strong>Applications</strong><br />

Virtual Private Network<br />

Windenergieanlage<br />

Wind Energy Conversion<br />

Windenergie-Informations-System<br />

Extensible Markup Language<br />

415


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Versionshistorie<br />

Datum Änderungsgrund Geänderte Kapitel<br />

15.12.2012 Das neue Strategiepaper wurde integriert, Ziel ist ab sofort<br />

eine Plattform.<br />

28.01.2013 Nach Gesprächen mit SAP und HPI wurde das Wissen über<br />

Datendefekte mit aufgenommen.<br />

04.02.2013 Nach Gesprächen mit der Availon GmbH wurde der Fokus<br />

von den Sekundendaten auf das Data Mining verschoben.<br />

Zudem wurden neue technische Lösungen eingefügt. Insbesondere<br />

wurde SAP HANA SPS 05 veröffentlicht und<br />

damit die Nutzung der SAP UI5 Funktionalität ermöglicht.<br />

1, 3.1<br />

5.1<br />

2.1, 2.2, 2.3, 3.1.1, 3.3,<br />

3.4.2, 4.1.1, 4.3, 4.3.3,<br />

5.1<br />

Da sich das Projektziel der Teilgruppe Smart Wind Farm Control zwei Mal wesentlich geändert hat<br />

(siehe Dokumentation, Kapitel 1.1), wurden diese Änderungen nachträglich in das Datenverarbeitungskonzept<br />

aufgenommen. Hierbei wurde das bestehende Konzept ergänzt bzw. geändert, es wurden<br />

keine vorh<strong>and</strong>enen Kapitel entfernt. Die Änderungen werden an den entsprechenden Stellen im Text<br />

kenntlich gemacht.<br />

416


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

1 Gesamtüberblick<br />

Die Vorkommen an fossilen Energieträgern sind begrenzt und die Gewinnung der verbleibenden Rohstoffe<br />

wird immer teurer. Um den Energiebedarf auch langfristig decken zu können, wird Energie aus<br />

regenerativen Quellen benötigt. In Deutschl<strong>and</strong> nimmt die Windenergie hierfür eine zentrale Rolle ein.<br />

Diese Energie wird mit Hilfe von Windenergieanlagen (WEA) gewonnen, welche in der Regel in<br />

Windparks von mindestens drei Anlagen positioniert sind. Hierbei wird zwischen Windparks, welche<br />

auf dem Binnenl<strong>and</strong> (Onshore) stehen und Windparks, welche auf der offenen See (Offshore) platziert<br />

sind, unterschieden. Insbesondere Offshore Windparks besitzen ein hohes Zukunftspotenzial, aufgrund<br />

der großen verfügbaren Fläche und dem erhöhten Windvorkommen auf See. Die Entwicklung und<br />

Forschung in diesem Bereich befindet sich noch in der Anfangsphase und wird stetig vorangetrieben.<br />

Ein zentraler Forschungsschwerpunkt liegt in der Reduzierung der Wartungskosten für Offshore<br />

Windparks. Im Vergleich zu Onshore Windparks sind diese signifikant höher, was unter <strong>and</strong>erem auf<br />

logistische Herausforderungen, erhöhte technische Belastungen und Abhängigkeiten vom Wetter zurück<br />

zu führen ist.<br />

Änderung 15.12.12: Im Rahmen des Projekts Smart Wind Farm Control (SWF) wird die Problematik<br />

des erhöhten Wartungsaufw<strong>and</strong>es im Offshore-Bereich als Rahmenbedingung für die Entwicklung<br />

einer Windpark-Maintenance-Plattform herangezogen. Als zentraler Ausgangspunkt dient das vom<br />

Hasso-Plattner-Institut (HPI) bereitgestellte In-Memory Datenbanksystem SAP HANA (High Performance<br />

Analytic Appliance), an welchem sich alle weiteren Schritte orientieren. In-Memory Datenbanksysteme<br />

nutzen im Gegensatz zu traditionellen Datenbanksystemen den Arbeitsspeicher als Datenspeicher,<br />

was zu einem erheblichen Performancegewinn führt. Diese Technologie eröffnet somit<br />

neue Lösungswege bzw. Ansätze, die es zu ermitteln gilt. Weiterhin sollen neue wissenschaftliche<br />

Erkenntnisse aus verschiedenen Bereichen der Windenergie in die Entwicklung einfließen. Die daraus<br />

resultierenden Lösungswege sollen aufgezeigt und abgewägt werden. Übergreifend soll somit eine<br />

grundlegende Plattform geschaffen werden, um den benötigten Funktionsumfang in verschiedenen<br />

Szenarien bestmöglich abzubilden. Die Aufgabenbereiche erstrecken sich dabei über die folgenden<br />

drei Felder: Proaktive Maintenance-Plattform, Exakte Vorhersagen für Wartungsfenster im Offshore<br />

Betrieb sowie Schnelle Datenauswertung für wissenschaftliche Analysen.<br />

Proaktive Maintenance-Plattform<br />

Die Proaktive Maintenance-Plattform dient zur Erfassung aller relevanten physikalischen Daten des<br />

Offshore Windparks. Zusätzlich soll das System eine automatische Fehlererkennung<br />

und -klassifizierung der Daten bereitstellen. Darauf aufbauend sollen mit Hilfe von Data Mining Methoden,<br />

wie beispielsweise Regressionsanalysen, Muster in den Daten erkannt werden, welche für<br />

verschiedene Anwendungsszenarien genutzt werden können.<br />

417


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Exakte Vorhersagen für Wartungsfenster im Offshore Betrieb<br />

Im Rahmen der Inst<strong>and</strong>haltung bzw. Wartung von Offshore WEA gilt es, auf Basis der gesammelten<br />

Echtzeitdaten Prognosen über die Lebenserwartungen und evtl. Anlagenausfälle automatisch zu generieren.<br />

Diese Prognosen sind Ergebnisse aus verschiedensten Algorithmen, welche sowohl auf wissenschaftlichen<br />

Erkenntnissen als auch Data Mining Methoden basieren. Zusätzlich werden Sekundärdaten<br />

hinzugezogen, um die Genauigkeit dieser Prognosen zu erhöhen und mögliche Warnungen frühzeitig<br />

auszulösen. Zu den Sekundärdaten zählen unter <strong>and</strong>erem Wetterdaten, Ressourcendaten, Betriebsdaten<br />

sowie Wartungshistorien.<br />

Schnelle Datenauswertung für wissenschaftliche Analysen<br />

Im Zuge von neuen Datenbanktechnologien (In-Memory Datenbanken) können komplexere Datenanalysen<br />

auf einem größeren Datenbest<strong>and</strong> ausgeführt werden. Die Datenerfassung erfolgt als Datenstrom<br />

und soll alle Parameter pro Sekunde und Anlage erfassen. Den Einsatz von möglichen Mittelwerten<br />

gilt es zu vermeiden. Insbesondere die Möglichkeit, Analysen auf diesen nicht aggregierten Daten<br />

durchzuführen, stellt einen großen Vorteil gegenüber bisherigen Lösungen dar. Des Weiteren verkürzen<br />

sich die Antwort- bzw. Berechnungszeiten signifikant. Übergreifend führt dies zu einer Verbesserung<br />

und Beschleunigung der Arbeitsabläufe im Forschungsumfeld und ermöglicht neue Lösungswege<br />

speziell bei der Entwicklung von komplexen Algorithmen und Diagrammen. Als Voraussetzung dient<br />

die Bereitstellung von Datenschnittstellen für verschiedenste Programme im Forschungsumfeld seitens<br />

der Proaktiven Maintenance-Plattform.<br />

418


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

2 Ist-Zust<strong>and</strong><br />

In diesem Kapitel werden die technischen Gegebenheiten des Projekts SWF aufgeführt. Nachdem<br />

bereits in Kapitel 1 ein theoretischer Überblick über die Problematik des erhöhten Wartungsaufw<strong>and</strong>es<br />

im Offshore-Bereich erfolgte, gilt es nun, dessen technische Rahmenbedingungen zu erläutern. Im<br />

Fokus liegen insbesondere das Datenmanagement, die eingesetzte Software sowie die technischen<br />

Eigenheiten bzw. Einschränkungen der einzelnen Typen von WEA.<br />

Das Projekt konnte auf keine vorh<strong>and</strong>enen Forschungsergebnisse oder Strukturen seitens der Very<br />

Large <strong>Business</strong> <strong>Applications</strong> (VLBA) zugreifen, da diese Thematik dort erstmalig beh<strong>and</strong>elt wird.<br />

Daher wurden zunächst im Zuge zahlreicher Gespräche mit Projektpartnern Vorwissen aufzubauen<br />

und die unterschiedlichen Ansätze zu einer gemeinsamen Ausgangsbasis zu vereinen.<br />

2.1 Datenmanagement<br />

Das Datenmanagement von WEA besitzt branchenbezogene Eigenheiten, die es von einem normalen<br />

<strong>Business</strong> <strong>Intelligence</strong> (BI) Projekt unterscheidet. Diese sollen im Folgenden näher erläutert werden.<br />

Neben der generellen Datenverfügbarkeit und -beschaffenheit soll die momentan erfolgende Datenübertragung<br />

bzw. Datenerfassung seitens der Windparkbetreiber und Forschungseinrichtungen beschrieben<br />

werden.<br />

In Gesprächen mit ForWind, dem gemeinsamen Zentrum für Windenergieforschung der Universitäten<br />

Oldenburg, Hannover und Bremen, wurden insbesondere die Bereiche Datenverfügbarkeit und<br />

-beschaffenheit erörtert (siehe Dokumentation, Kapitel 1.1). WEA sind in der Lage, im Sekundenrhythmus<br />

Werte zu erfassen und auf diese zu reagieren. Jedes Windrad besitzt bis zu 200 Sensoren,<br />

welche kontinuierlich Messdaten erfassen. Diese Daten liegen ForWind aus Gründen der Datenhaltung<br />

in einem aggregierten Umfang in Form von 10-Minuten-Mittelwerten vor. Ferner ist die Beschaffung<br />

und Weitergabe dieser firmeninternen Daten problematisch, da eine Partnerschaft bzw. Agreement mit<br />

einem Anlagenbetreiber benötigt wird. Andererseits haben die Anlagenbetreiber aus Imagegründen<br />

generell keinerlei Interesse, Daten für Forschungszwecke bereitzustellen. Dies ist darin begründet,<br />

dass hierbei Schwachstellen in den Anlagen aufgedeckt werden könnten und dies die Kunden negativ<br />

beeinflussen könnte. Insbesondere die Verfügbarkeit von Daten im Offshore Bereich ist aktuell nicht<br />

gegeben. Es besteht jedoch die Möglichkeit, dass ForWind aus einem Forschungsprojekt mit der Deutschewindtechnik<br />

AG Bremen der Teilgruppe Testdaten in Form von Sekundendaten für einen Onshore<br />

Windpark zur Verfügung zu stellen.<br />

Änderung 04.02.2013: Bei Gesprächen mit der Availon GmbH, einem Serviceanbieter für WEA,<br />

konnten neben den bisherigen Erkenntnissen neue Einsichten im Bereich der Datenübertragung<br />

und -erfassung erlangt werden (siehe Dokumentation Kapitel 1.1). Dabei hat sich herausgestellt, dass<br />

419


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

die Art der Datenübertragung von einer WEA zum Anlagenbetreiber bzw. Wartungsdienstleister stark<br />

vom Alter der Anlagen abhängt.<br />

Während die älteren Modelle über eine Modem-Verbindung verfügen, welche einen geringfügig umfangreichen<br />

Datenausgleich ermöglicht, sind die neuen Anlagen mit einer Breitb<strong>and</strong>- oder UMTS-<br />

Anbindung somit einer schnelleren Datenübertragung ausgestattet. Obwohl viele neue Anlagen mit der<br />

schnelleren Datenanbindung ausgestattet sind, werden bei allen Verbindungsarten die Daten auf Seite<br />

der WEA zu 10 Minuten Mittelwerten aggregiert und anschließend versendet. Die Daten werden somit<br />

bereits bei der Datenquelle aggregiert und nicht, wie sonst üblich, innerhalb des Data Warehouse. Zu<br />

Testzwecken können laut Availon GmbH auch Sekundendaten abgerufen werden, in diesem Fall muss<br />

ein Laptop und ggf. eine neue Steuereinheit direkt an das WEA angeschlossen werden. Aufgrund von<br />

Repowering kann davon ausgegangen werden, dass in Zukunft schnellere Datenverbindungen zur<br />

Verfügung stehen werden und somit Sekundendaten statt aggregierten Werten übertragen werden<br />

können. Vor allem im Offshore Bereich wäre dies bereits jetzt möglich.<br />

2.2 Software<br />

Nachfolgend soll die eingesetzte Software für die Datenhaltung und -analyse im Bereich Windenergie<br />

aufgeführt werden. Wie bei der Datenbeschaffung ist es sehr schwierig, Informationen über die eingesetzte<br />

Software der Windparkdienstleister, -betreiber und -hersteller zu erhalten. Im Folgenden werden<br />

die aus den Gesprächen hervorgegangen Softwarelösungen aufgeführt.<br />

Bei ForWind erfolgt die Datenhaltung in Dateiform, es wird keine Datenbank verwendet. Hinsichtlich<br />

der Datenanalyse wird R als Statistik-Tool verwendet, um die Daten zu beschreiben, auszuwerten und<br />

zu visualisieren. Ergänzend werden selbstentwickelte Algorithmen für die Datenanalyse eingesetzt.<br />

Änderung 04.02.2013: Die Availon GmbH nutzt die Software Windenergie-Informations-System<br />

(WIS) von softEnergy. Diese umfasst die Kommunikation bzw. Datenbeschaffung, Auswertung,<br />

Überwachung und Verwaltung der WEA Daten. In Bezug auf die Datenanalyse konnte am Beispiel<br />

der Availon GmbH festgestellt werden, dass insbesondere einfache, statische Analysen durchgeführt<br />

werden. Weiterführende Analysen und insbesondere Data Mining erfolgen bisher nicht, könnten laut<br />

Herrn Kleesch von der Availon GmbH aber zu wesentlichen Vorteilen führen. Der Teilgruppe liegen<br />

keine Informationen über die Analysetiefe seitens der Windparkhersteller vor.<br />

2.3 Architektur<br />

Die grundlegende Architektur des Datenflusses im Rahmen des Windparkmanagements inklusive aller<br />

beteiligten Komponenten wird in Abbildung 2.1 dargestellt. Diese orientiert sich an den in Kapitel 2.1<br />

und 2.2 beschriebenen Erkenntnissen und dient als abschließende Gesamtübersicht.<br />

420


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Abbildung 2.1: Datenfluss im Windparkmanagement<br />

Wie in Abbildung 2.1 dargestellt, enthalten die WEA je nach Anlagentyp bis zu 200 Sensoren, im<br />

Falle von Forschungs-WEA sogar bis zu 400 Sensoren. Innerhalb der WEA werden die Sensoren sekündlich<br />

erfasst und ausgewertet. Auf diese Weise kann die WEA direkt auf Umwelteinflüsse, wie<br />

beispielsweise Windböen, reagieren.<br />

Änderung 04.02.2013: Die Sekundendaten werden auf Seiten der WEA zu 10 Minuten Mittelwerten<br />

aggregiert und versendet. Die Geschwindigkeit der Datenübertragung hängt wesentlich vom Alter der<br />

WEA und somit der eingebauten Übertragungsart ab. Anschließend werden die Daten lokal in der<br />

Wartungsfirma bereinigt, gespeichert und ausgewertet.<br />

421


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

3 Soll-Zust<strong>and</strong><br />

In diesem Kapitel sollen die Zielzustände des Projekts SWF beschrieben werden. Neben den Voraussetzungen<br />

des Projekts soll die einzusetzende Software, das Datenmodell und die Architektur beschrieben<br />

werden. Die genaue Umsetzung dieser Zielzustände folgt in Kapitel 4.<br />

3.1 Software<br />

Änderung 15.12.2012: Für die Umsetzung einer Plattform werden verschiedene Programme für die<br />

einzelnen Bauteile der Plattform benötigt. Im Folgenden soll die eingesetzte Software kurz erörtert<br />

werden. Zudem soll angegeben werden, für welchen Bereich der Plattform die Software eingesetzt<br />

wird und warum sie für diesen Zweck ausgewählt wurde.<br />

3.1.1 SAP HANA<br />

Für die Durchführung des Projekts wurde der Teilgruppe durch das HPI das In-Memory Datenbanksystem<br />

SAP HANA der SAP AG zur Verfügung gestellt. Ein Überblick über die Best<strong>and</strong>teile und<br />

Funktionen des HANA Systems lässt sich durch die Aufschlüsselung des Namens erreichen. So wird<br />

die High Performance (hohe Leistung) durch die Verwendung von vielen CPUs und dem Arbeitsspeicher<br />

als hauptsächlichem Speicherort für die Daten erreicht. Hierfür werden verschiedene Verfahren<br />

wie beispielsweise spaltenorientierte Datenhaltung, Partitionierung und verschiedene Kompressionsverfahren<br />

verwendet. SAP HANA wird von SAP als linear skalierende Datenbank beworben. Dies<br />

bedeutet, dass durch den Verbund mehrerer physikalischer Server zu einer logischen Datenbank eine<br />

lineare Steigerung der Leistungsfähigkeit pro hinzugefügten physikalischen Server erreicht werden<br />

soll.<br />

Analytic (analytisch) deutet bereits die Fokussierung auf den BI Bereich an. Das System ermöglicht<br />

die Ausführung komplexer Anfragen mit besonders kurzen Antwortzeiten. Diese komplexen Anfragen<br />

müssen weder auf aggregierten bzw. summierten Daten ausgeführt werden, noch müssen vordefinierte<br />

Abfragen ausgeführt werden. Stattdessen können freie Abfragen auf den ursprünglichen Daten durchgeführt<br />

werden. Um Prozeduren auszuführen, verwendet HANA die Sprache SQLScript. Dabei h<strong>and</strong>elt<br />

es sich um eine Abw<strong>and</strong>lung der SQL Stored Procedures, die um einige Funktionen erweitert<br />

wurden, damit sie leistungsfähiger und flexibler sind (Word 2012, S. 17,45).<br />

Appliance bezieht sich auf die Partnerschaft, die SAP im Jahre 2011 mit einigen Hardware-<br />

Lieferanten, unter <strong>and</strong>erem HP, Dell, IBM und Fujitsu eingegangen ist. Zurzeit sind sieben Hardwarelieferanten<br />

in dieser Partnerschaft mit SAP. Indem die Software des SAP HANA Systems nur auf festgelegter<br />

Hardware ausgewählter Anbieter ausgeführt wird, soll ein besonders stabil funktionierendes<br />

System erreicht werden (Word 2012, S. 97-103).<br />

422


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Da bei der proaktiven Inst<strong>and</strong>haltung die verbleibende Lebensdauer der verschiedenen Komponenten<br />

von essentieller Bedeutung ist, muss diese bestimmt werden. Die Analysen hierzu werden derzeit auf<br />

aggregierten Daten ausgeführt, wodurch eine genaue Bestimmung des Verschleißes nicht möglich ist.<br />

Bei der Verwendung von Sekundendaten anstelle der 10 Minuten Mittelwerte muss das 600-fache<br />

Datenvolumen gespeichert werden. Um diese Datenmenge in einer akzeptablen Zeit berechnen zu<br />

können, wird eine In-Memory Datenbank wie SAP HANA benötigt. Neben der wesentlich höheren<br />

Geschwindigkeit ist die Simplizität ein weiterer Vorteil von SAP HANA, denn hierbei kann auf das<br />

Erstellen von Online Analytical Processing (OLAP)-Würfeln verzichtet werden und somit die Komplexität<br />

für den Entwickler reduziert werden. Zudem können die Fachanwender ihre Analysen direkt<br />

ausführen und die Ergebnisse auswerten ohne die erwähnten OLAP-Würfel erstellen bzw. anpassen zu<br />

müssen.<br />

Zur Administration von SAP HANA und Entwicklung von SAP HANA Anwendungen, wird die<br />

Software SAP HANA Studio verwendet. Die Software basiert auf der Eclipse-Umgebung, ist durch<br />

Plug-Ins erweiterbar und bietet drei verschiedene Sichten. Dazu zählt eine Administrations-Konsole,<br />

mit der die Funktionen der Datenbank überwacht bzw. kontrolliert und konfiguriert werden können.<br />

Zudem können hiermit Backups erstellt bzw. wiederhergestellt werden. Die zweite Sicht ist der information<br />

modeler. Dieser wird benötigt, um Datenmodelle und Views zu erstellen bzw. bestehende zu<br />

verändern. Die dritte Sicht das lifecycle management mittels welcher eine aktualisieren der Software<br />

möglich ist (Word 2012, S. 48).<br />

Änderung 04.02.13: Seit einem Update des SAP HANA Systems auf Version SPS05 besteht die Möglichkeit,<br />

das User Interface Development Toolkit für HTML (Hypertext Markup Language) 5 (SAP<br />

UI5) innerhalb des SAP HANA Studio zu nutzen. SAP UI5 ist eine Client-seitige HTML5-Rendering-<br />

Bibliothek welche die Entwicklung von JavaScript-basierten Weboberflächen in Verbindung mit SAP<br />

HANA ermöglicht. Dabei werden unter<strong>and</strong>erem Technologien bzw. St<strong>and</strong>ards wie jQuery, OpenAjax,<br />

XML und Cascading Style Sheets 3 unterstützt (SAP AG – HANA 2012).<br />

3.1.2 Pentaho Data Integration<br />

Pentaho Data Integration, auch bekannt unter dem Namen Kettle, ist eine grafische Anwendung zur<br />

Unterstützung des ETL (Extract, Transform, Load)-Prozesses von Daten. Pentaho Data Integration ist<br />

sowohl als kostenfreie Community Edition (CE) als auch als kostenpflichte Enterprise Edition (EE)<br />

verfügbar, welche zusätzlich technischen Support, verwaltete Aktualisierungen und Enterprise Funktionen<br />

bereitstellt. Die Anwendung basiert auf Java, ist modular aufgebaut und kann bei Bedarf leicht<br />

erweitert werden. Grundlegend erfolgt die Erstellung der Prozesskette über eine Art Baukastenprinzip,<br />

indem der Anwender auf eine bestehende ETL Modulbibliothek zurückgreifen kann und anschließend<br />

diese Module auf einer grafischen Arbeitsfläche per Drag & Drop frei ablegen, konfigurieren und<br />

verknüpfen kann. Das Tool ermöglicht somit einen hohen Grad an individuellen Modellierungsmög-<br />

423


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

lichkeiten des Datenstroms, welche zusätzlich per Jobs automatisiert werden können. Weiterhin stehen<br />

zahlreiche Monitoring und Logging Funktionalitäten für die Identifizierung von Fehler bereit (Pentaho<br />

Corporation 2012).<br />

Im Zuge des Projektes SWF wird die Open Source CE Version zum Einsatz kommen, welche kostenlos<br />

durch die Pentaho Community bereitgestellt wird. Diese wird benötigt, um bestehende Windparkdaten<br />

zu erfassen, zu bereinigen, ggf. zu ergänzen und an das neue Datenmodell anzupassen bzw. zu<br />

transformieren. Dabei waren einerseits die freie Verfügbarkeit, die Verbreitung im universitären Bereich<br />

und <strong>and</strong>erseits die umfangreiche Dokumentation und der große Funktionsumfang ausschlaggebend<br />

für die Entscheidung für Pentaho.<br />

3.1.3 R<br />

R ist eine Open Source Programmiersprache und Softwareumgebung für statistisches Rechnen und<br />

Grafiken. Die Softwareumgebung ist Teil des GNU’s Not Unix (GNU) Projekts und auf vielen Plattformen<br />

(UNIX, Windows, MacOS) verfügbar (Wirtschaftsuniversität Wien 2012). Der Funktionsumfang<br />

von R kann durch eine Vielzahl von Paketen erweitert und an spezifische statistische Problemstellungen<br />

angepasst werden. Viele Pakete können direkt aus einer über die R-Console abrufbaren<br />

Liste ausgewählt und automatisch installiert werden. Zentrales Archiv für diese Pakete ist das Comprehensive<br />

R Archive Network. Neben rein statistischen Algorithmen bietet R eine Vielzahl an Data<br />

Mining Algorithmen (Pyrke 2007).<br />

Die Teilgruppe SWF hat sich für die Datenanalyse mit Data Mining für R entscheiden. Begründet ist<br />

diese Entscheidung einerseits darin, dass SAP aktiv die Nutzung von R für diese Zwecke empfiehlt.<br />

Andererseits setzen die Physiker von ForWind bereits R für Datenanalysezwecke ein, bereits existierende<br />

Algorithmen können somit problemlos übernommen werden.<br />

3.1.4 Microsoft Excel<br />

Bei Microsoft Excel h<strong>and</strong>elt es sich um eine Software für die Erstellung von Tabellen sowie die Berechnung<br />

und Analyse von Daten. Für die Analyse können neben Tabellen in klar strukturierten Layouts<br />

einfache Diagramme erstellt werden (Microsoft 2013).<br />

Im Projekt SWF wird Excel als Front-End Tool für die Datenanalyse und das Reporting eingesetzt.<br />

Dies ist vor allem durch die gute Integration in SAP HANA und die schnelle und einfache Datenübertragung<br />

begründet. Weiterhin ist Excel ein sehr verbreitetes Reporting-Werkzeug und dem St<strong>and</strong>ardbenutzer<br />

im BI Umfeld bekannt. Zudem erlaubt Excel mit PowerView ein interaktives Reporting sowie<br />

Datenvisualisierung. Mit dem Einsatz von Excel steht somit eine bekannte und vertraute Anwendungsumgebung<br />

für das Reporting zur Verfügung.<br />

424


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

3.1.5 SAP <strong>Business</strong>Objects<br />

Die SAP-<strong>Business</strong>Objects-Lösungen (SAP BO) werden zum Aufrufen, Auswerten und Analysieren<br />

von Daten verwendet. Für die unterschiedlichen Ansprüche der verschiedenen Benutzergruppen an die<br />

SAP BO-Lösung bietet SAP verschiedene Werkzeuge. Im Bereich Berichtswesen und Analyse stellt<br />

SAP Crystal Reports und Web <strong>Intelligence</strong> zur Verfügung. Die SAP Crystal Reports ermöglichen die<br />

Herstellung von Verbindungen zu verschiedenen Datenquellen, die Erstellung von interaktiven Berichten<br />

und die interne bzw. externe Verbreitung der Berichte. Mit SAP BO Web <strong>Intelligence</strong> kann der<br />

Benutzer Ad-hoc-Abfragen und intuitive Analysen über heterogene Datenquellen hinweg online oder<br />

offline ausführen.<br />

SAP BO bietet zudem mit SAP BO Dashboards die Möglichkeit zur Erstellung von interaktiven Dashboards,<br />

um komplexe Daten schnell zu visualisieren. Für den ETL-Prozess kann SAP BO Integration<br />

zur Anbindung externer und interner Datenquellen eingesetzt werden.<br />

Im Rahmen des Projektes SWF sollen als Front-End Lösung SAP BO Crystal Reports, Web <strong>Intelligence</strong><br />

und Dashboards eingesetzt werden. Für die Datenbeschaffung wird SAP BO Integration eingesetzt.<br />

Um den Zugriff auf SAP HANA zu ermöglichen, steht eine spezielle HANA-Schnittstelle zur<br />

Verfügung, die für die Realisierung verwendet wird.<br />

Die Teilgruppe SWF entschied sich für den Einsatz von SAP BO mit dem Hauptgrund, komplexe und<br />

spezialisierte Reports mit Crystal Reports und Web <strong>Intelligence</strong> zu erstellen. Diese können beispielsweise<br />

in Microsoft Word, Excel, per Email oder im Internet publiziert werden und sind somit für alle<br />

Anwendergruppen geeignet. Dabei sollen SAP BO Dashboards eingesetzt werden, da es eine große<br />

Menge an Komponenten für das Design von Dashboards bietet. Falls benötigt, können mehrere erstellte<br />

Berichte in einem Dashboard kombiniert werden (SAP AG – <strong>Business</strong>Objects 2013).<br />

3.1.6 Smart Wind Farm Control Toolbox<br />

Die Smart Wind Farm Control Toolbox (SWF Toolbox) ist eine von der Teilgruppe selbst zu entwickelnde<br />

Software auf Basis der Programmiersprache Java. Diese soll sowohl WEA Daten generieren<br />

können, als auch einen kontinuierlichen Datenstrom dieser in das SAP HANA System simulieren. Ziel<br />

ist es, neben der generellen Möglichkeit WEA Daten zu generieren, die Belastbarkeit sowie die funktionalen<br />

Gegebenheiten des SAP HANA System hinsichtlich eines kontinuierlichen Datenstroms eines<br />

produktiven Windparks zu testen.<br />

Für das Generieren von WEA Daten werden im Vorfeld Wetterdaten benötigt, welche mindestens eine<br />

zeitliche Dimension und die vorherrschende Windgeschwindigkeit beinhalten. Darauf aufbauend werden<br />

die ermittelten Grenzwerte und Datenverteilungen der von den Projektpartnern zur Verfügung<br />

425


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

gestellten WEA Daten herangezogen. Diese dienen als Rahmen bzw. Konfiguration für die zu generierenden<br />

Daten unter Verwendung der Wetterdaten.<br />

Nach erfolgter Generierung der Daten soll seitens der SWF Toolbox die Möglichkeit bestehen, diese<br />

direkt in das SAP HANA System zu übertragen. Dafür gilt es zunächst, eine Möglichkeit zu schaffen,<br />

um eine Virtual Private Network (VPN) Verbindung zum SAP HANA System aufzubauen sowie unter<br />

Verwendung einer SAP Java Bibliothek eine Schnittstelle zur SWF Toolbox zu implementieren. Anschließend<br />

kann durch die Eingabe der gewünschten WEA die Datenübertragung erfolgen.<br />

Während der weiteren Projektphasen sollen weiterführend neue Erkenntnisse in die Entwicklung der<br />

SWF-Toolbox einfließen und ggf. den Funktionsumfang erweitern. Übergreifend steht dabei die Funktionalität<br />

des Programmes im Fokus. Andere Aspekte wie beispielsweise Endbenutzer-Tauglichkeit<br />

und Szenarien zur Fehlervermeidung, Fehleingaben oder fehlerhafter Anwendung durch den Benutzer,<br />

sind sekundär einzuordnen.<br />

3.2 Datenmodell<br />

Die Windpark-Maintenance-Plattform benötigt ein Datenmodell, in der alle benötigten Attribute gespeichert<br />

werden können. Dieses Modell muss beliebig erweiterbar sein, damit zusätzliche Attribute<br />

z. B. aus den Forschungsanlagen mit in die Datenbank aufgenommen werden können. Um Inkonsistenzen<br />

zu vermeiden sollte das Datenmodell nach der dritten Normalform aufgebaut werden.<br />

Für die Erstellung eines solchen allgemein gültigen Datenmodells, in dem mehrere Anlagen unterschiedlicher<br />

Typen inklusive ihrer Wartungsprotokolle gespeichert werden können, müssen mehrere<br />

Tabellen angelegt werden. Die dabei betrachteten Entitäten sind Windparks, Anlagen, Anlagetypen,<br />

Sensordaten sowie Wartung. Zusätzlich werden weitere Tabellen für externe Datenquellen, wie beispielsweise<br />

Wetterdienste, benötigt.<br />

3.3 Architektur<br />

Für die Windpark-Maintenance-Plattform werden die in dem vorherigen Kapitel beschriebenen verschiedenen<br />

Softwarelösungen in Form einer zusammenhängenden Architektur umgesetzt. Diese Architektur<br />

ist in die drei Ebenen ETL, Datenhaltung und Data Mining sowie Reporting unterteilt (siehe<br />

Abbildung 3.1).<br />

426


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Abbildung 3.1: Geplante Architektur des Smart Wind Farm Control Projekts<br />

Die ETL-Ebene dient übergreifend der Datenerfassung, -bereinigung und -transformation. Die Daten<br />

liegen vorwiegend in Form von historischen und generierten WEA Daten vor. Zusätzlich können ergänzende<br />

Daten wie z. B. Wetterdaten oder Wartungsdaten erfasst werden. Für den möglichen produktiven<br />

Einsatz ist zusätzlich die Erfassung eines kontinuierlichen Datenstroms von verschiedenen WEA<br />

aufgeführt. Als native ETL-Software kommt Pentaho Data Integration CE (Kettle) zum Einsatz, um<br />

die historischen und ergänzenden Daten zu bereinigen und auf das richtige Datenmodell zu transformieren.<br />

Von dieser getrennt agiert die SWF Toolbox, welche sowohl WEA Daten generiert als auch<br />

einen möglichen Datenstrom simuliert.<br />

Die Datenhaltung und Data Mining Ebene ist unterteilt in die Best<strong>and</strong>teile SAP HANA und R. Innerhalb<br />

von SAP HANA operiert der Data Entry Layer als Schnittstelle zwischen den verschiedenen<br />

Datenquellen und der HANA-Datenbank. Mittels verschiedener Views können die Auswertungstools<br />

auf die, ggf. durch SQL Scripts angepassten, Daten zugreifen und diese ausgeben. Nebenstehend wird<br />

R, welches auf einem separaten Suse Linux Server ausgeführt wird, an das SAP HANA System angebunden,<br />

um Data Mining auf Basis der Daten in SAP HANA zu ermöglichen.<br />

Änderung 04.02.2013: Abschließend können die Daten aus SAP HANA in der Reporting Ebene unter<br />

Verwendung von SAP BO, SAP UI5 und Microsoft Excel 2010 für den Endbenutzer anschaulich publiziert<br />

werden.<br />

427


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

3.4 Technische Voraussetzungen<br />

Für das Projekt SWF gibt es einige zwingende technische Voraussetzungen, um die Realisierung der<br />

Architektur aus Kapitel 3.3 zu gewährleisten. Diese sollen in den folgenden Kapiteln definiert und<br />

beschrieben werden.<br />

3.4.1 Software und Hardware<br />

Für den Einsatz von SAP HANA werden neben dem eigentlichen System mehrere Benutzerzugänge<br />

sowie eine entsprechende Verbindungsmöglichkeit zum System in Form einer VPN Verbindung benötigt.<br />

Es muss sichergestellt sein, dass ausreichende Ressourcen für die Teilgruppe SWF im SAP HA-<br />

NA System reserviert sind, um eine unterbrechungsfreie Arbeit zu ermöglichen. Für die initiale Projektphase<br />

werden voraussichtlich mindestens 50 GB an Datenbankspeicher benötigt. Weiterhin muss<br />

die von SAP bereitgestellte Software für SAP HANA, dazu zählen das SAP HANA Studio, die Microsoft<br />

Open Database Connectivity (ODBC) Plug-Ins und die Java Database Connector (JDBC) Bibliothek,<br />

einen fehlerfreien Einsatz gewährleisten.<br />

Seitens des Suse Linux Servers für R wird ein eigenständiger oder virtueller Server, auf dem Open<br />

Suse 12.x installiert ist, benötigt. Die Teilgruppe muss über Root-Rechte verfügen oder einen Root-<br />

Zugang erhalten. Zudem soll die öffentliche Erreichbarkeit mittels einer statischen Internetprotokoll<br />

(IP)-Adresse oder einem Domain Name Service (DNS)-Eintrag sichergestellt sein.<br />

Abschließend werden für die Realisierung des Reporting eine lizensierte Version von Microsoft Excel<br />

und eine lizensierte SAP BO Umgebung mit einer permanenten Verbindung zum SAP HANA System<br />

benötigt.<br />

3.4.2 Daten<br />

Die Beschaffung von Daten ist die größte Herausforderung für die Teilgruppe SWF. Damit ein sinnvolles<br />

Data Mining durchgeführt werden kann, werden Echtdaten von WEA benötigt. Mit verrauschten<br />

Daten können probeweise Reportings und auch Data Mining durchgeführt werden, jedoch besitzen<br />

diese nur geringe Aussagekraft und dienen lediglich als Grundlage für zukünftige Projekte.<br />

Durchschnittliche WEA besitzen ca. 150 Sensoren pro Maschine. Bei angenommenen 10 Byte pro<br />

Datensatz ergibt sich pro Jahr – falls die Anlage Sekundendaten versenden kann – eine Datenmenge<br />

von 47,2 GB. Da HANA die Daten komprimiert, wird weniger Speicherplatz benötigt als errechnet.<br />

Dabei muss jedoch bedacht werden, dass SAP HANA noch weiteren Arbeitsspeicher für die Berechnungen<br />

benötigt.<br />

428


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Änderung 04.02.2013: Durch die Gespräche mit der Availon GmbH hat sich herausgestellt, dass Daten<br />

auf Sekundenbasis in dem beschriebenen Umfang zurzeit nicht beschaffbar sind.<br />

429


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

4 Realisierung<br />

In diesem Kapitel sollen die Maßnahmen beschrieben werden, wie der in Kapitel 3 beschriebene<br />

Soll-Zust<strong>and</strong> realisiert wird. Hierfür orientiert sich dieses Kapitel an den im Fachkonzept definierten<br />

Arbeitspaketen. Das erste Arbeitspaket Windenergieanlagen und SAP Hana Know-how Aufbau wurde<br />

bereits erfolgreich bearbeitet. Die daraus gewonnenen Erkenntnisse sind daher Ausgangpunkt des<br />

aktuellen DV-Konzeptes.<br />

4.1 Analyse und Übernahme des Windpark-Datenmodells<br />

Ziel dieses Arbeitspakets ist die Analyse der vorgegebenen Windparkdaten und Extraktion eines umfassenden<br />

Datenmodells, das offen für zukünftige Änderungen ist. Zudem soll der ETL-Prozess für<br />

das Füllen der SAP HANA Datenbank mit diesen Daten beschrieben werden.<br />

4.1.1 Datenmodell<br />

Um das im Kapitel 3.2 beschriebene allgemeingültige Datenmodell in SAP HANA erstellen zu können,<br />

müssen die benötigten Tabellen und Attribute angelegt werden. Die Attribute der Tabellen wurden<br />

neben den aus Norkus (2012) übernommenen Kennzahlen um Erkenntnisse aus den Praxisgesprächen<br />

erweitert. Hierfür wurden die WEA Attribute um die von ForWind übergebenen Daten erweitert.<br />

Diese enthielten fünf Kennzahlen von 12 Anlagen eines Onshore Windparks.<br />

<br />

<br />

<br />

<br />

<br />

Unix Timestamp<br />

Windgeschwindigkeit in m/s<br />

WEC<br />

Elektrische Leistungsabgabe im KW<br />

Generator Drehzahl<br />

Zusätzlich konnte das Datenmodell um den WEC Status erweitert werden. Dieser gibt den Betriebsstatus<br />

der jeweiligen Anlage wieder. Dabei wird zwischen 42 Betriebsstatus unterschieden, deren genaue<br />

Bedeutung der Teilgruppe jedoch nicht bekannt ist.<br />

Hinsichtlich der zu verwendenden Datentypen sind die vorh<strong>and</strong>enen Beispieldaten herangezogen und<br />

deren Datentypen ggf. unter Berücksichtigung der Erweiterbarkeit angepasst worden. Dabei wurde<br />

berücksichtigt, dass SAP HANA intern keine kleinen Datentypen verwendet, sondern automatisch<br />

z. B. ein Int in ein Long und ein Float in ein Double umw<strong>and</strong>elt. Die vorläufige Datenbankstruktur<br />

ohne Attribute wird in Abbildung 4.1 dargestellt, die vollständige Ausführung inklusive aller Attribute<br />

wird in Anhang A aufgeführt.<br />

430


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Wetterdaten<br />

Wartung<br />

von bauteil<br />

Betrifft_Wartung_Bauteil<br />

betrifft<br />

Bauteil<br />

gehören zu<br />

von<br />

Windpark<br />

gehört zu<br />

Anlage<br />

hat<br />

Sensordaten<br />

gehört zu<br />

Anlagentyp<br />

Abbildung 4.1: Logisches Datenmodell<br />

Ausgangsbasis des Datenmodells ist ein Windpark, d. h. eine Ansammlung von WEA. Zu einem<br />

Windpark können mehrere Wetterdaten gespeichert werden, für die unterschiedliche Zeitpunkte und<br />

Anbieter gespeichert werden.<br />

Ein Windpark besteht aus mehreren Anlagen, den WEA. Die WEA können über ihren Anlagentyp<br />

charakterisiert werden, beispielsweise Nordex N90. Laut bisherigem Kenntnisst<strong>and</strong> sind alle Anlagen<br />

innerhalb eines Windparks vom gleichen Anlagentyp. Da zukünftige Windparks jedoch unterschiedliche<br />

Anlagen enthalten können, wurde mit Blick auf die Erweiterbarkeit des Schemas der Anlagentyp<br />

in Beziehung zur Anlage gesetzt.<br />

Eine Anlage verfügt über mehrere Sensoren, die über verschiedene Zeitpunkte in der Tabelle Sensordaten<br />

gespeichert sind. Die verschiedenen Sensoren basieren auf den Ausführung in Kapitel 3.2.<br />

Zudem können einer Anlage mehrere Wartungen zugeordnet sein. Über die Hilfsrelation Betrifft_Wartung_Bauteil<br />

ist diese mit der Entität Bauteil verbunden, da innerhalb einer Wartung mehrere<br />

Bauteile gewartet werden können, ein Bauteil aber auch in mehreren Wartungen enthalten sein<br />

kann, beispielsweise wenn ein Bauteil wiederholt ausfällt und repariert werden muss.<br />

Die Daten werden mithilfe des in Abbildung 3.1 dargestellten ETL-Prozesses in die Datenbank geladen.<br />

Nachdem die historischen Daten als Ganzes übertragen wurden, können die neuen Daten sekündlich<br />

oder in beliebigen Intervallen an das System versendet werden. Sobald neue Datenquellen vorliegen,<br />

müssen das gesamte Schema sowie die einzelnen Attribute überprüft werden, um zu ermitteln, ob<br />

sie den neuen Anforderungen entsprechen oder erweitert werden müssen.<br />

431


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Änderung 04.02.13: Im Gespräch mit Availon wurde bekannt, dass stets mehrere Wetteranbieter mitein<strong>and</strong>er<br />

verglichen werden, da es zu Unterschieden kommen kann. Diese Option wird mit dem oben<br />

genannten Modell bereits ermöglicht.<br />

4.1.2 ETL-Prozess<br />

Für die Realisierung des ETL Prozesses wird, wie in Kapitel 3.3 beschrieben, die ETL-Softwarelösung<br />

Pentaho Data Integration CE eingesetzt. Dabei gilt es zu beachten, dass diese ausschließlich für die<br />

Extraktion und Transformation der Daten vorgesehen ist. Das Laden der Daten in die SAP HANA<br />

Datenbank wird mit Hilfe des SAP HANA Studios durchgeführt, da bislang keine Schnittstellen seitens<br />

Pentaho Data Integration CE verfügbar sind. Bei der Extraktion und Transformation muss zwischen<br />

den verschiedenen Datenarten unterschieden werden. Die historischen WEA Daten und ergänzenden<br />

Daten (z. B. Wetterdaten) durchlaufen diese beiden Prozessschritte. Für die generierte Daten<br />

bedarf es keiner weiteren Extraktion und Transformation, da diese direkt oder per SAP HANA Studio<br />

in die SAP HANA Datenbank geladen werden. Hinsichtlich eines ETL- Prozesses für die Erfassung<br />

eines kontinuierlichen Datenstroms sind bedingt durch die fehlenden konzeptuellen Rahmenbedingungen<br />

keine weiterführenden Maßnahmen erfolgt.<br />

Im Zuge der Datenbeschaffung der WEA Daten durch die Teilgruppe SWF ist absehbar, dass die Datenqualität<br />

und -formate stark variieren werden. Daher müssen in Hinblick auf die Datenqualität primär<br />

folgende Kriterien im Vorfeld erfüllt sein (Mertens 2011):<br />

1. Vollständigkeit: Eine Vollständigkeit der Daten wird erlangt, wenn wichtige identifizierende<br />

Attribute wie z.B. Zeit oder Anlagennummer vorh<strong>and</strong>en sind, bzw. sich der Datensatz eindeutig<br />

identifizieren lässt. Zudem muss die Frage geklärt werden, ob der Datensatz Null-Werte enthält,<br />

und falls ja ob die eigentlichen Werte an <strong>and</strong>erer Stelle existieren oder sich diese Null-Werte generieren<br />

bzw. von <strong>and</strong>eren Werten ableiten lassen.<br />

2. Gültigkeit: Der Wertebereich ist gültig bzw. vergleichbar mit bestehenden Daten oder bisherigen<br />

Annahmen, beispielweise liegt die Temperatur innerhalb eines festgelegten Wertebereichs.<br />

3. Genauigkeit: Genauigkeit liegt vor, wenn eine ausreichende Definition des Attributes vorh<strong>and</strong>en<br />

und die semantische Genauigkeit gewährleistet ist.<br />

4. Konsistenz: Bestimmte Schlüsselabhängigkeiten wurden eingehalten, beispielsweise kann keine<br />

Wartung ohne die dazugehörige Anlage existieren.<br />

5. Dichte: Die Dichte gibt das Verhältnis der Attribute ohne Null-Werte zur Gesamtanzahl der Attribute<br />

an. Diese muss für analytische Zwecke entsprechend den jeweiligen Bedürfnissen ausreichend<br />

sein.<br />

Ergänzend muss der Umgang mit Null-Werten im Vorhinein festgelegt werden. Dieser kann je nach<br />

Datenbasis unterschiedlich gestaltet sein. Sollte keine Möglichkeit bestehen, eine Korrektur dieser<br />

432


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Null-Werte durchzuführen, muss entschieden werden, ob diese belassen bzw. ignoriert werden oder<br />

eine Löschung der jeweiligen Spalte oder Zeile durchgeführt werden soll.<br />

Hinsichtlich der Datenformate, in denen die WEA Daten zur Verfügung gestellt werden, muss sichergestellt<br />

sein, dass die ETL-Tools diese unterstützen. Daher gilt es im Vorfeld, dem Datenlieferanten<br />

mögliche Datenformate für den Datenaustausch zu unterbreiten. Sollte dies nicht möglich sein und die<br />

vorliegenden Datenformate inkompatibel sein, wird seitens der Teilgruppe ein möglicher Lösungsweg<br />

erarbeitet.<br />

Pentaho Data Integration CE<br />

Für die Realisierung des ETL Prozesses in Pentaho Data Integration CE wird im Folgenden der grundlegende<br />

Prozess beschrieben inklusive der voraussichtlich benötigten Funktionen. Der abzubildende<br />

Prozess sieht sechs Phasen vor und wird in Abbildung 4.2 dargestellt.<br />

Abbildung 4.2: Phasen des ETL-Prozesses in Pentaho Data Integration CE<br />

In der ersten Phase Data-sources (Datenquellen) werden die im Regelfall bereitgestellten Datenquellen<br />

in Form von Dateiformaten und einer direkten Datenbankanbindung der WEA Daten aufgeführt.<br />

Die Datenbankanbindung sieht die Verwendung einer renommierten Datenbank vor, wie bspw. MS<br />

SQL, Oracle etc.. Die einzelnen Dateiformate können in Form einer einzelnen Datei oder mehrerer<br />

Dateien vorliegen.<br />

433


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Die zweite Phase Data-input (Dateneingabe) betrifft die Import-Funktionen, welche auf Basis der<br />

aufgeführten Datenformate seitens Pentaho Data Integration CE zur Verfügung gestellt werden. Diese<br />

lassen sich allesamt sehr umfangreich konfigurieren, bspw. bietet die Funktion „Table input“ die Möglichkeit,<br />

nahezu alle bekannten Datenbanken einzubinden.<br />

Die anschließenden Phasen Data-aggregation (Datenaggregation), Data-cleaning (Datenbereinigung)<br />

und Data-supplementation (Datenergänzung) spiegeln die Transformation der Daten wider. Diese<br />

wird in Form einer Prozesskette in Pentaho Data Integration CE abgebildet. Hierbei können die einzelnen<br />

aufgeführten Funktionen auch mehrfach verwendet werden. Diese werden in Tabelle 4.1 näher<br />

erläutert.<br />

Abschließend sollen die transformierten Daten in der Phase Data-output (Datenausgabe) in Form von<br />

Text-Dateien, CSV-Dateien oder SQL-Dateien exportiert, sodass diese im Anschluss per SAP HANA<br />

Studio problemlos importiert werden können.<br />

Funktion<br />

Add Sequence<br />

Add a checksum<br />

Sort rows<br />

Merge Join<br />

Multiway Merge<br />

Join<br />

Split Fields<br />

Select Values<br />

Filter rows<br />

Replace in<br />

string<br />

String cut<br />

Add constants<br />

Calculator<br />

Beschreibung<br />

Hinzufügen einer Sequenz von inkrementierten Werten, z. B. zur Nummerierung<br />

der eingelesenen Datensätze.<br />

Generierung einer Checksumme des Datensatzes, bspw. zu Testzwecken oder für<br />

eine bessere Vergleichbarkeit der Datensätze.<br />

Sortierung der Datensätze, diese Option wird primär bei mehreren Datenquellen<br />

für die anschließende Zusammenführung benötigt.<br />

Zusammenführung zweier Datenquellen anh<strong>and</strong> eines anzugebenden sortierten<br />

Schlüssels.<br />

Zusammenführung mehrerer Datenquellen anh<strong>and</strong> eines anzugebenden sortierten<br />

Schlüssels.<br />

Teilung einer Spalte in mehrere Spalten, unter der Voraussetzung dass die Werte<br />

Trennzeichen enthalten.<br />

Selektion und Entfernung von kompletten Spalten.<br />

Filterung von Spaltenwerten anh<strong>and</strong> von bestimmten Bedingungen, z.B. um<br />

Spalten mit Null-Werten zu entfernen.<br />

Ersetzung eines bestimmten Strings.<br />

Ausschneiden einer bestimmten Stringsequenz.<br />

Hinzufügen einer oder mehrerer Konstanten, z.B. Angabe der Anlage für alle<br />

Sensordatensätze dieser Anlage.<br />

Auf Grundlage von mehreren Datenspalten eine berechnete Datenspalte generieren.<br />

Quelle: Pentaho Corporation 2013<br />

Tabelle 4.1: Pentaho Data Integration CE Funktionen<br />

434


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

4.2 Simulation eines Windparks<br />

Im Rahmen des Arbeitspaketes Simulation eines Windparks erfolgt die Entwicklung der im Kapitel<br />

3.1.6 beschriebenen SWF Toolbox. Aufbauend auf den dort genannten Rahmenbedingungen wird im<br />

Folgenden die geplante Realisierung dieser Software erläutert. Für die SWF Toolbox kommt die Programmiersprache<br />

Java in Verbindung mit der Entwicklungsumgebung Eclipse IDE zum Einsatz. Um<br />

eine verteilte sowie gleichzeitige Entwicklung zu ermöglichen werden das Versionskontrollsystem<br />

Mercurial und das Online-Repository Bitbucket eingesetzt. Weiterhin werden folgende Java-<br />

Bibliotheken für die Realisierung eingesetzt:<br />

<br />

<br />

<br />

<br />

St<strong>and</strong>ard Widget Toolkit (SWT): Im Vergleich zur nativen Java Swing Oberfläche ermöglicht die<br />

St<strong>and</strong>ard Widget Toolkit Bibliothek eine komfortablere und umfangreichere Umsetzung der Benutzeroberfläche<br />

sowie die Nutzung des Designs des zugrundeliegenden Betriebssystems (Eclipse<br />

Foundation 2012).<br />

SAP HANA Java Database Connector (JDBC): Die SAP HANA JDBC Bibliothek schafft die<br />

Voraussetzung für die Herstellung einer Verbindung zwischen SAP HANA und Java.<br />

JGoodies Common & Looks: Die JGoodies Bibliotheken sind eine Erweiterung der SWT Bibliothek<br />

durch neue Designs für die Benutzeroberfläche (JGoodies Software GmbH 2012).<br />

log4j: Bei der log4j Bibliothek h<strong>and</strong>elt es sich um ein Java Logging- Application programming<br />

interface, welches die Steuerung der Logausgaben sowie die Speicherung dieser in Textdateien<br />

ermöglicht (Scherer Informatik GmbH 2012).<br />

Aus funktioneller Sicht sollen in erster Linie die Funktionen Wetterdaten laden, WEA Daten generieren<br />

und WEA Daten übertragen realisiert werden. Im Anschluss erfolgt die Realisierung der Benutzeroberfläche<br />

und die Integration der VPN Verbindung.<br />

Die Funktion Wetterdaten laden sieht vor, mit Hilfe eines Dateidialogs die Auswahl einer Text- oder<br />

CSV-Datei, in der die Wetterdaten strukturiert vorliegen, zu ermöglichen. Nach erfolgter Auswahl<br />

sollen diese in das Programm importiert, ggf. korrigiert oder ergänzt und in Form einer Tabelle auf der<br />

Benutzeroberfläche dargestellt werden. Anschließend sollen die Angaben zur Konfiguration für die zu<br />

generierenden Daten durch den Benutzer in der Benutzeroberfläche erfolgen, sodass die Funktion<br />

WEA Daten generieren ausgeführt werden kann. Diese generiert unter Verwendung eines Java Zufallsalgorithmus<br />

auf Basis der Wetterdaten und der erfolgten Konfigurationen WEA Daten. Die Ausgabe<br />

erfolgt ebenfalls in einer Tabelle auf der Benutzeroberfläche. Final soll mit der Funktion WEA Daten<br />

übertragen eine Verbindung per JDBC zum SAP HANA Datenbanksystem aufgebaut und die Daten<br />

intervallweise übertragen werden. Die dafür eingeplanten Klassen sowie deren Operationen und Beziehungen<br />

unterein<strong>and</strong>er werden in Abbildung 4.3 veranschaulicht und beschrieben.<br />

435


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Abbildung 4.3: SWF Toolbox Klassenübersicht<br />

Für die Benutzeroberfläche sind insgesamt drei Klassen bzw. Benutzeroberflächen vorgesehen. Nach<br />

erfolgtem Programmaufruf wird zunächst eine Übersicht der Programmfunktionalitäten dargestellt<br />

(siehe Abbildung 4.4).<br />

436


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Abbildung 4.4: SWF Toolbox Übersicht<br />

Durch Betätigen der Schaltfläche Generator starten wird die Benutzeroberfläche des Generators erstellt.<br />

Diese beinhaltet die Funktionen Wetterdaten laden und WEA Daten generieren sowie die tabellarische<br />

Ausgabe der Wetterdaten und die editierbare Konfigurationen (siehe Abbildung 4.5). Über die<br />

Schaltfläche VPN-Verbindung erfolgt der Verbindungsaufbau zum SAP HANA System. Anschließend<br />

kann mittels der Schaltfläche Streamer starten die Benutzeroberfläche des Streamers aufgerufen werden.<br />

Sind bereits Daten generiert worden, werden diese dort in tabellarischer Form ausgegeben. Nun<br />

kann der Benutzer die gewünschte WEA Nummer eingeben und die Funktion WEA Daten übertragen<br />

starten (siehe Abbildung 4.6). Wie bereits beschrieben, überträgt diese die Daten in das SAP HANA<br />

System und bestätigt abschließend die erfolgreiche Übertragung der WEA Daten.<br />

437


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Abbildung 4.5: SWF Toolbox Generator<br />

Abbildung 4.6: SWF Toolbox Streamer<br />

438


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

4.3 Analyse und Reporting<br />

Änderung 04.02.13: Ein wesentliches Ziel der Teilgruppe SWF ist die Analyse und das Reporting der<br />

Windenergiedaten. Neben Data Mining mit R sollen Microsoft Excel 2010 und SAP UI5 genutzt werden,<br />

um die Daten zu visualisieren und auf diese Weise wesentliche Zusammenhänge kenntlich zu<br />

machen.<br />

4.3.1 Data Mining mit R<br />

Für das Data Mining mit SAP HANA empfiehlt SAP die Nutzung von R. Die Begründung dafür ist<br />

einfach: Wie in SAP HANA werden die Daten in R im Memory oder RAM vorgehalten. Für das Open<br />

Source Tool R existieren über 4000 Packages. Somit wird die Benutzeroberfläche mit In-Memory<br />

Verarbeitung für schnelle Datenoperationen auf großen Datenmengen mit den Vorteilen von R kombiniert<br />

(Aswani & Doerpmund 2011).<br />

R wird nicht st<strong>and</strong>ardmäßig mit SAP HANA ausgeliefert, da R Open Source und unter der General<br />

Public License (GPL) lizensiert ist. Zudem bietet SAP keinen Support für R (SAP AG 2012, S. 3).<br />

Falls die Integration von R mit HANA gewünscht ist, gibt es zwei gegensätzliche Ansätze: Outside-In<br />

und Inside-Out (siehe Abbildung 4.7).<br />

Quelle: Aswani & Doerpmund (2011)<br />

Abbildung 4.7: Zwei Ansätze für die Integration von R und HANA<br />

Inside Out<br />

Beim Inside Out Zugriff wird R Code in den Stored Procedures von HANA eingefügt. Durch einen<br />

effizienten Datenaustauschmechanismus wird der Transfer von Datenbanktabellen direkt in die vektororientierte<br />

Datenstruktur von R ermöglicht. Die Performance wird hierbei gegenüber St<strong>and</strong>ard SQL<br />

439


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Schnittstellen gesteigert, da diese tupelbasiert arbeiten und damit eine zusätzliche Datenkopie in R<br />

benötigen.<br />

Für die Inside Out Variante wird R sowie Rserve benötigt. Rserve ist ein TCP/IP Server, der es <strong>and</strong>eren<br />

Programmen erlaubt, R zu nutzen, ohne es zu initialisieren bzw. eine R Library einzubinden. R<br />

und Rserve müssen auf einem separaten System installiert werden, sie können nicht auf dem gleichen<br />

System wie SAP HANA laufen. Aktuell wird hierfür das Linux System SUSE Linux verwendet. Das<br />

System muss vom SAP HANA Host-Server erreichbar sein. Um eine High Availability zu unterstützen,<br />

können R/Rserve auf mehreren unabhängigen Hosts installiert werden. Wenn eines der Systeme<br />

nicht erreichbar ist, kann ein <strong>and</strong>eres übernehmen.<br />

Der Prozess der Installation besteht aus drei Schritten (SAP AG 2012, S. 3).<br />

1. Installiere R (auf einem eigenen System)<br />

2. Installiere Rserve (auf einem eigenen System)<br />

3. SAP HANA Parameter anpassen<br />

Der genaue Ablauf wird sehr detailliert von Galindo (2012c) beschrieben.<br />

Anschließend kann R Code direkt in der SAP HANA Datenbank ausgeführt werden, indem R Code in<br />

SQL Skripte in Form einer RLANG Prozedur eingebettet wird. Die SAP HANA Datenbank nutzt die<br />

externe R Umgebung, um den R Code auszuführen, ähnlich zu nativen Datenbankoperationen wie<br />

Join und Aggregation. Dadurch können Entwickler sehr einfach R Funktionsdefinitionen und -aufrufe<br />

in SQL Skripte einbetten und den gesamten Code als Teil einer Anfrage an die Datenbank senden.<br />

Um diese Option zu ermöglichen, wurde die Calculation Engine (CalcEngine) der SAP HANA Datenbank<br />

erweitert. Die CalcEngine unterstützt Datenflussgraphen (calcModels), welche die logische<br />

Datenbankausführung beschreiben. In diesem Datenflussgraph können Knoten jede native Datenbankoperation<br />

umfassen, jedoch auch selbstdefinierte Operationen. Eine dieser selbstdefinierten Operationen<br />

ist der R Operator. Wie jeder <strong>and</strong>ere Operator im CalcModel kann der R Operator eine Anzahl<br />

von Inputobjekten einlesen und eine Ergebnistabelle zurückgeben (SAP AG 2012, S. 6).<br />

440


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Quelle: SAP AG (2012) S.7<br />

Abbildung 4.8: Hauptkomponenten des Inside Out Ansatzes<br />

Abbildung 4.8 beschreibt die drei Hauptkomponenten des Inside Out Ansatzes: Die auf SAP HANA<br />

basierende Anwendung, die SAP HANA Datenbank, und die R Umgebung.<br />

Sobald der calcModel Ausführungsplan einen R Operator erreicht, sendet der R Client der CalcEngine<br />

eine Anfrage über den Rserve Mechanismus, um einen zugeordneten R Prozess auf dem R Host zu<br />

starten. Anschließend sendet der R Client den R Funktionscode sowie Input Tabellen an diesen R Prozess<br />

und startet die R Ausführung. Sobald der R Prozess die Funktionsausführung beendet hat, wird<br />

das Ergebnis an die CalcEngine zurückgesendet, welche das Ergebnis konvertiert. Da die interne spaltenbasierte<br />

Datenstruktur von SAP HANA jener vektororientierten Struktur des R Ergebnisses sehr<br />

ähnlich ist, ist diese Konvertierung sehr effizient.<br />

Indem sich der gesamte Kontrollfluss in der Datenbank befindet, entsteht ein wesentlicher Vorteil: Die<br />

Ausführungspläne der Datenbank sind von Natur aus parallel, daher können mehrere R Prozesse<br />

gleichzeitig gestartet werden, welche ohne gegenseitige Beeinflussung parallel verlaufen (SAP AG<br />

2012, S. 7).<br />

Outside-In<br />

Beim Outside-In Zugriff wird von außen über eine Schnittstelle auf HANA zugegriffen. Für den Zugriff<br />

kann zum einen auf JDBC/ODBC zurückgegriffen werden, welche von HANA nicht empfohlen<br />

441


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

werden, oder auf das spezielle RHANA Package (siehe Abbildung 4.8). Das Problem am<br />

JDBC/ODBC Zugriff ist, dass hierbei Row Tables statt der von HANA empfohlenen Column Tables<br />

verwendet werden (siehe Kapitel 3.1.1). Beim Zugriff über das RHANA Package können die Datenmengen<br />

spaltenweise gelesen und geschrieben werden (Aswani & Doerpmund 2011).<br />

Für Anleitungen für den Zugriff per ODBC wird auf Aswani & Doerpmund (2011), Galindo (2012a)<br />

und Galindo (2012b) verwiesen, für den Zugriff per RHANA auf Aswani & Doerpmund (2011).<br />

Entscheidung für Inside-Out<br />

Die Outside In-Variante mit RHANA wurde intern von SAP genutzt, wurde jedoch nie veröffentlicht<br />

und wird laut Galindo (2012c) auch nicht weiterentwickelt. Stattdessen wurde die Variante mit einem<br />

R Server, auf dem RServe läuft, ermöglicht. Daher hat sich die Teilgruppe für die Inside-Out Variante<br />

entschieden.<br />

4.3.2 Analysen und Reporting – Microsoft Excel<br />

Wie bereits in Kapitel 3.1.4 erwähnt, wird Microsoft Excel zur Darstellung der Analysen, welche in<br />

SAP HANA ausgeführt werden genutzt. Dies ermöglicht es, einen besonders großen Benutzerkreis zu<br />

erreichen, da Microsoft Excel in vielen Unternehmen eingesetzt wird und die Mitarbeiter mit dieser<br />

Software dementsprechend vertraut sind. Die geplante Realisierung, sieht dabei folgende drei Bereiche<br />

vor: Systemvorbereitung, Datenbeschaffung und Datenvisualisierung.<br />

Im ersten Bereich, der Systemvorbereitung wird die ODBC-Schnittstelle zwischen SAP HANA und<br />

Excel eingerichtet. Hierfür wird unter Windows die ODBC-Verbindung im ODBC-Datenquellen-<br />

Administrator definiert. Anschließend kann der Benutzer die Schnittstelle direkt in Excel nutzen.<br />

Der nächste Bereich, die Datenbeschaffung beinhaltet die Datenextraktion aus SAP HANA und das<br />

Laden der Daten in Excel. Hierfür wird die im ersten Schritt definierte Schnittstelle benötigt. Anschließend<br />

an eine erfolgreiche Authentifizierung werden in Excel alle verfügbaren HANA Datenbanken<br />

angezeigt. Der Benutzer kann somit die für das Reporting gewünschten Daten auswählen. Diese<br />

Abfragen lassen sich in Excel speichern und wiederverwenden. Zusätzlich können die Anfragen dynamisch<br />

geändert werden um neue Daten zu laden. Anschließend werden die extrahierten Daten in<br />

Form einer Tabelle in Excel geladen. Diese Daten können offline benutzt werden, für aktuelle Daten<br />

wird jedoch eine Synchronisation mit SAP HANA benötigt.<br />

In dem letzten Bereich, der Datenvisualisierung werden mit Hilfe durch von Excel zur Verfügung<br />

gestellte Visualisierungsformen die Daten dargestellt, beispielsweise als Diagramm, Bericht, Tabelle<br />

oder Pivot-Tabelle.<br />

442


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

4.3.3 Analysen und Reporting – SAP UI5<br />

Änderung 04.02.13: Entgegen des im Soll-Konzept beschriebenen Vorhabens erfolgt kein Einsatz von<br />

SAP BO, da hierfür keine gültige Lizenz zur Verfügung steht. Alternativ hat sich die Teilgruppe für<br />

den Einsatz von SAP UI5 entschieden.<br />

Für die Realisierung einer webbasierten Anwendung zur Analyse und Reporting von Windenergiedaten<br />

mit SAP HANA besteht seit der Version SPS05 die Möglichkeit, SAP UI5 zu nutzen. SAP UI5<br />

ermöglicht die Entwicklung dieser Anwendung mit Hilfe des SAP HANA Studios innerhalb des SAP<br />

HANA Systems. Hierbei soll eine dynamische und betriebssystemunabhängige Webanwendung entwickelt<br />

werden, welche u.a. verschiedene Eigenschaften der einzelnen WEA sowie zahlreiche Reports<br />

auf Basis der aktuellen Daten im SAP HANA System darstellt.<br />

SAP UI5 unterschützt dabei drei verschiedene Arten von Views bzw. Ansichten: JSview basierend auf<br />

JavaScript, XMLview basierend auf der Extensible Markup Language (XML) sowie JSONview basierend<br />

auf der JavaScript Object Notation (JSON). Für die zu entwickelnde UI5-Anwendung wird die<br />

JSview View zum Einsatz kommen. Die Entscheidung für JSview beruht primär auf bereits vorh<strong>and</strong>ener<br />

Erfahrung in der JavaScript Anwendungsentwicklung. Für die Datenübertragung wird das Open<br />

Data Protocol (OData) verwendet (SAP AG – HANA 2012).<br />

Die Webanwendung soll eine Übersicht über die Hauptfunktionsbereiche bieten. Hierzu zählen die<br />

Bereiche Monitor, Log, Reporting und Datamining (siehe Abbildung 4.9). Weiterhin werden auf einer<br />

oberen Statusleiste verschiedene aktuelle Parameter angezeigt.<br />

Abbildung 4.9: Mockup SAP UI5 - Startseite<br />

443


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Die Funktion Monitor bietet eine Übersicht über die einzelnen Anlagen. Durch eine farbliche Hervorhebung<br />

defekter bzw. möglicherweise beschädigter Analgen können diese schnell erkannt und aufgerufen<br />

werden. Mittels eines Mausklicks auf eine bestimmte Anlage kann eine detailliertere Ansicht<br />

aufgerufen werden (siehe Abbildung 4.10).<br />

Abbildung 4.10: Mockup SAP UI5 - Monitor<br />

Mittels des Menü-Knopfes LOG kann, wie in Abbildung 4.11 dargestellt, eine Error-Tabelle der Datenbank<br />

angezeigt werden, in der alle Fehlermeldungen der verschiedenen Anlagen inklusive einer<br />

Beschreibung des Fehlers sowie des Zeitpunktes des Auftretens angezeigt wird.<br />

444<br />

Abbildung 4.11: Mockup SAP UI5 - Log


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Eine Auflistung der verschiedenen Reports soll mittels der Reporting-Funktion aufrufbar sein. Initial<br />

sollen vier Reports bzw. Berichte beispielhaft aufgeführt werden. Hiervon beziehen sich zwei auf den<br />

Betriebsstatus und zwei auf die generierte Leistung. Bei den auf den Betriebsstatus bezogenen Berichten<br />

h<strong>and</strong>elt es sich um die durchschnittliche Leistungsabgabe sowie Generatordrehzahl und Windgeschwindigkeit<br />

je Betriebsstatus. Bei den leistungsbezogenen Berichten h<strong>and</strong>elt es sich um durchschnittliche<br />

Leistungsabgaben sowie Windgeschwindigkeiten je WEA. Die Reporting-Funktion kann<br />

je nach Anforderung um neue Berichte ergänzt werden. In Abbildung 4.12 wird exemplarisch ein solcher<br />

Bericht mit verschiedenen dynamischen Diagrammen dargestellt.<br />

Abbildung 4.12: Mockup SAP UI5 - Reporting<br />

Optional soll die UI5-Anwendung eine Data Mining-Funktion erhalten, mittels derer verschiedene<br />

Data Mining-Algorithmen zur Analyse der Daten gestartet werden können.<br />

445


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

5 Ansprechpartner<br />

In den folgenden zwei Kapiteln sollen die wesentlichen Ansprechpartner des Projekts SWF sowie eine<br />

kurze Beschreibung der Unternehmen, in denen diese tätig sind, vorgenommen werden.<br />

5.1 Fachliche Ansprechpartner<br />

Name Position Firma Bereich<br />

Prof. Dr. Joachim Peinke<br />

Professor an der Uni-Oldenburg ForWind Windenergie<br />

Patrick Milan Wissenschaftlicher Mitarbeiter ForWind Windenergie<br />

Änderung 28.01.13:<br />

Dr.-Ing. Felix Salfner<br />

Änderung 04.02.13:<br />

Olaf Kleesch<br />

Senior Research Developer<br />

Director Global Technical Support<br />

& Engineering<br />

HPI / SAP<br />

AG<br />

Availon<br />

GmbH<br />

Tabelle 5.1: Fachliche Ansprechpartner<br />

Fehlerkettenerkennung<br />

Windenergie<br />

Der Teilgruppe stehen für das Projekt mehrere hochqualifizierte Ansprechpartner zur Verfügung (siehe<br />

Tabelle 5.1). Für den Bereich Windenergie sind die Hauptansprechpartner der Teilgruppe<br />

Prof. Dr. Joachim Peinke und Patrick Milan von ForWind. ForWind ist ein Zentrum für Windenergieforschung,<br />

das 2003 gegründet wurde. Das zentrale Forschungsgebiet von ForWind ist die Nutzung<br />

der Offshore-Windenergie. ForWind ist ein Verbund der Universitäten Oldenburg, Bremen und Hannover.<br />

Demnächst ist auch der Eintritt der Deutschen Luft- und Raumfahrt (DLR) geplant. In Oldenburg<br />

wird vor allem das Thema Windphysik beh<strong>and</strong>elt.<br />

Änderung 28.01.13: Im Themenbereich Fehlerkettenerkennung ist Dr. Ing. Felix Salfner Ansprechpartner<br />

für die Teilgruppe. Er ist am SAP Innovation Center Potsdam tätig. Hierbei h<strong>and</strong>elt es sich um<br />

ein Innovationszentrum mit den Schwerpunkten HANA, mobile Anwendungen für Smartphone und<br />

Tablets sowie Cloud Computing.<br />

Änderung 04.02.13: Die Teilgruppe hat für den Themenbereich Windenergie neben ForWind einen<br />

weiteren Ansprechpartner: Olaf Kleesch von der Availon GmbH. Das Unternehmen Availon GmbH<br />

ist ein Serviceanbieter für WEA, das den kompletten Service rund um WEA bietet. Der Service beinhaltet<br />

die Gebiete Wartung, Reparaturen sowie eine ständige Fernüberwachung. Zudem werden Schulungen<br />

und technische Beratungen gegeben.<br />

446


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

5.2 Technische Ansprechpartner<br />

Name Firma Position Bereich<br />

Andre Pansani HPI / SAP AG SAP Technical Operations Expert SAP HANA<br />

Henning Schmitz HPI / SAP AG Development Project Manager SAP HANA<br />

Tabelle 5.2: Technische Ansprechpartner<br />

Für die Appliance SAP HANA stehen Andre Pansani sowie Henning Schmitz vom HPI als Ansprechpartner<br />

zur Verfügung (siehe Tabelle 5.2). Hierbei h<strong>and</strong>elt es sich um ein An-Institut der Universität<br />

Potsdam, das vom SAP-Mitbegründer Hasso Plattner gegründet wurde. Für weitere fachliche Fragen<br />

steht der Teilgruppe das SAP Forum zur Verfügung.<br />

447


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

6 Literaturverzeichnis<br />

INTERNETQUELLEN<br />

Aswani, H. & Doerpmund, J. (2011): Advanced Analytics with R <strong>and</strong> SAP HANA, URL:<br />

http://datatable.r-forge.r-project.org/r<strong>and</strong>saphana-dkom.pdf, (Zugriff am: 03.12.2012).<br />

Eclipse Foundation (2012): SWT: The St<strong>and</strong>ard Widget Toolkit, URL: http://www.eclipse.org/swt/,<br />

(Zugriff am: 12.12.2012).<br />

Galindo, A. T. (2012a): HANA meets R, URL: http://scn.sap.com/community/hana-inmemory/blog/2012/01/26/hana-meets-r,<br />

(Zugriff am: 05.12.2012).<br />

Galindo, A. T. (2012b): R meets HANA, URL: http://scn.sap.com/community/hana-inmemory/blog/2012/01/29/r-meets-hana,<br />

(Zugriff am: 05.12.2012).<br />

Galindo, A. T. (2012c): When SAP HANA met R – First kiss, URL:<br />

http://scn.sap.com/community/developer-center/hana/blog/2012/05/21/when-sap-hana-met-r--firstkiss,<br />

(Zugriff am: 05.12.2012).<br />

JGoodies Software GmbH (2012): Professional Java Desktop, URL: http://www.jgoodies.com/, (Zugriff<br />

am: 12.12.2012).<br />

Microsoft – Excel (2013): Neuerungen in Excel 2013, URL: http://office.microsoft.com/de-de/excelhelp/neuerungen-in-excel-2013-HA102809308.aspx,<br />

(Zugriff am: 04.02.2013).<br />

Microsoft (2013): Was ist Excel?, URL: http://office.microsoft.com/de-de/novice/was-ist-excel-<br />

HA010265948.aspx , (Zugriff am: 04.02.2013).<br />

Pentaho Corporation (2012): Pentaho Kettle Project, URL: http://kettle.pentaho.com/, (Zugriff am:<br />

15.11.2012).<br />

Pentaho Corporation (2013): Latest Pentaho Data Integration Documentation, URL:<br />

http://wiki.pentaho.com/display/EAI/Latest+Pentaho+Data+Integration+%28aka+Kettle%29+Docume<br />

ntation, (Zugriff am: 05.01.2013).<br />

Pyrke, A. (2007): Introducing R, URL:<br />

http://www.<strong>and</strong>ypryke.com/twiki/pub/Andypublic/R/Introducing_R.ppt, (Zugriff am: 03.12.2012).<br />

SAP AG – <strong>Business</strong>Objects (2013): SAP-<strong>Business</strong>Objects-Lösungen für BI, URL:<br />

http://www.sap.com/germany/solutions/sapbusinessobjects/large/business-intelligence/index.epx,<br />

(Zugriff am: 04.02.2013).<br />

448


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

SAP AG – HANA (2012): SAP HANA Developer Guide, URL:<br />

http://help.sap.com/hana/hana_dev_en.pdf, (Zugriff am: 04.02.2013).<br />

SAP AG (2012): SAP HANA R Integration Guide, URL:<br />

http://help.sap.com/hana/hana_dev_r_emb_en.pdf, (Zugriff am: 02.12.2012).<br />

Scherer Informatik GmbH (2012): log4j – Einführung, URL: http://schererit.ch/opensource/log4j.html,<br />

(Zugriff am: 12.12.2012).<br />

Wirtschaftsuniversität Wien (2012): R Project, URL: http://www.r-project.org/, (Zugriff am:<br />

05.12.2012).<br />

BÜCHER<br />

Mertens, M (2011): Datenqualitätsmanagement im Gesundheitswesen, Vorlesung, Universität Oldenburg<br />

– OFFIS-Institut für Informatik.<br />

Norkus, O. (2012): Entwicklung eines Kennzahlensystems zur Windparksteuerung, Masterarbeit, Universität<br />

Oldenburg.<br />

Word, J. (2012): SAP HANA Essentials: Epistemy Press LLC.<br />

449


Projektbericht Cuberunner<br />

Smart Wind Farm Control – DV-Konzept<br />

Anhang<br />

A. Datenmodell<br />

Abbildung A.1: Datenmodell<br />

450


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Gruppe: Smart Wind Farm Control<br />

Dokumentation<br />

451


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

452


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Inhaltsverzeichnis – Dokumentation<br />

Smart Wind Farm Control<br />

Abbildungsverzeichnis ........................................................................................................... 455<br />

Tabellenverzeichnis ................................................................................................................ 457<br />

Abkürzungsverzeichnis .......................................................................................................... 458<br />

1 Einleitung ........................................................................................................................ 459<br />

2 Projektverlauf .................................................................................................................. 460<br />

3 Ergebnisdarstellung & Technische Dokumentation ....................................................... 464<br />

3.1 Architektur .................................................................................................................. 464<br />

3.2 Datenbankmodell ........................................................................................................ 465<br />

3.2.1 Struktur ............................................................................................................ 465<br />

3.2.2 Beschreibung der Tupel ................................................................................... 466<br />

3.2.3 Best<strong>and</strong>saufnahme ........................................................................................... 470<br />

3.3 ETL-Prozesse ............................................................................................................. 471<br />

3.3.1 Daten von ForWind ......................................................................................... 471<br />

3.3.2 Daten von Availon ........................................................................................... 477<br />

3.4 SWF Toolbox ............................................................................................................. 479<br />

3.4.1 Unterstützende Software .................................................................................. 479<br />

3.4.2 Programmstruktur ............................................................................................ 480<br />

3.4.3 Programmdaten ................................................................................................ 493<br />

3.4.4 Projektordnerstruktur ....................................................................................... 494<br />

3.5 Data Mining ................................................................................................................ 494<br />

3.6 Reporting .................................................................................................................... 499<br />

3.6.1 Microsoft Excel ............................................................................................... 499<br />

3.6.2 SAP UI5 ........................................................................................................... 504<br />

4 Benutzerh<strong>and</strong>bücher........................................................................................................ 510<br />

4.1 SAP HANA Studio ..................................................................................................... 510<br />

4.1.1 HANA Studio einrichten ................................................................................. 510<br />

4.1.2 Datenbank anlegen .......................................................................................... 512<br />

4.1.3 Tabelle anlegen ................................................................................................ 512<br />

4.1.4 Spalten umbenennen ........................................................................................ 513<br />

4.1.5 Tabelle befüllen ............................................................................................... 514<br />

4.1.6 Analysen erstellen ............................................................................................ 514<br />

4.1.7 Trigger anlegen ................................................................................................ 519<br />

4.1.8 SAP UI5 ........................................................................................................... 519<br />

4.2 Durchführung des ETL-Prozesses der ForWind Daten .............................................. 521<br />

4.2.1 Voraussetzungen und Anforderungen ............................................................. 521<br />

4.2.2 Durchführung................................................................................................... 521<br />

4.3 SWF Toolbox ............................................................................................................. 532<br />

4.3.1 Voraussetzungen und Anforderungen ............................................................. 532<br />

4.3.2 Installation ....................................................................................................... 532<br />

4.3.3 Daten ................................................................................................................ 533<br />

4.3.4 Betrieb ............................................................................................................. 535<br />

4.4 R/Rserve ..................................................................................................................... 545<br />

4.4.1 Einführung in R ............................................................................................... 545<br />

4.4.2 Installation ....................................................................................................... 546<br />

4.4.3 Beispiele .......................................................................................................... 550<br />

453


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.5 SAP UI5 Reporting..................................................................................................... 556<br />

4.5.1 Voraussetzungen und Anforderungen ............................................................. 556<br />

4.5.2 Betrieb ............................................................................................................. 556<br />

4.6 Microsoft Excel Reporting ......................................................................................... 563<br />

4.6.1 Voraussetzungen und Anforderungen ............................................................. 563<br />

4.6.2 Betrieb ............................................................................................................. 563<br />

5 Fazit ................................................................................................................................. 567<br />

6 Literaturverzeichnis ........................................................................................................ 569<br />

Anhang ................................................................................................................................... 571<br />

A.1. Interviewfragen Smart Wind Farm Control .................................................................... 571<br />

A.2. Protokoll BTC 23.05.2012 .............................................................................................. 572<br />

A.3. Protokoll Prof. Peinke 06.08.2012 .................................................................................. 577<br />

A.4. Paper Future Soc Lab Day .............................................................................................. 586<br />

A.5. Plakat Future Soc Lab Day ............................................................................................. 590<br />

A.6. Präsentation Future Soc Lab Day 14.11.2012................................................................. 591<br />

A.7. Protokoll ForWind 29.11.2012 ....................................................................................... 601<br />

A.8. Strategieänderung 03.12.2012 ........................................................................................ 606<br />

A.9. Protokoll COWS 17.12.2012 .......................................................................................... 607<br />

A.10. Paper 5. BUIS Tagung ............................................................................................... 611<br />

A.11. Protokoll HPI/SAP 24.01.2013 .................................................................................. 620<br />

A.12. Protokoll Availon 31.01.2013 .................................................................................... 628<br />

A.13. Protokoll Wind Energy Workshop 13.02.2013 .......................................................... 633<br />

A.14. Datenbankmodell ....................................................................................................... 636<br />

454


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildungsverzeichnis<br />

Abbildung 3.1: Architektur .................................................................................................... 464<br />

Abbildung 3.2: Logisches Datenmodell ................................................................................. 465<br />

Abbildung 3.3: Übersicht Datensätze der Tabelle SENSORDATEN .................................... 471<br />

Abbildung 3.4: Pentaho Data Integration CE - Transformationskette ................................... 474<br />

Abbildung 3.5: Pentaho Data Integration CE – Job ............................................................... 476<br />

Abbildung 3.6: Pentaho Data Integration CE – Zusammenführung ...................................... 476<br />

Abbildung 3.7:Klassenmodell - „Two_Dimension_Arraylist“ .............................................. 482<br />

Abbildung 3.8: Klassenmodell - Programmaufruf ................................................................. 482<br />

Abbildung 3.9: Klassenmodell - Grafische Benutzeroberfläche erzeugen ............................ 483<br />

Abbildung 3.10: SWF Toolbox - Grafische Oberfläche ........................................................ 484<br />

Abbildung 3.11: Klassenmodell – OpenVPN starten ............................................................. 485<br />

Abbildung 3.12: Klassenmodell - Datengenerator aufrufen .................................................. 485<br />

Abbildung 3.13: SWF Toolbox - Grafische Oberfläche des Datengenerators ....................... 486<br />

Abbildung 3.14: Klassenmodell - XML-Konfiguration und Wetterdaten laden ................... 487<br />

Abbildung 3.15: Klassenmodell - Daten generieren .............................................................. 488<br />

Abbildung 3.16: SWF Toolbox - Grafische Oberfläche der generierten Daten ..................... 488<br />

Abbildung 3.17: Klassenmodell - Generierte Daten speichern .............................................. 489<br />

Abbildung 3.18: Klassenmodell - Daten-Streamer öffnen ..................................................... 489<br />

Abbildung 3.19: SWF Toolbox - Grafische Oberfläche des Data-Streamer .......................... 490<br />

Abbildung 3.20: Klassenmodell - WEA-Übersicht und generierte Daten laden ................... 491<br />

Abbildung 3.21: Klassenmodell - Datenübertragung starten ................................................. 492<br />

Abbildung 3.22: Timeout Fehlermeldung .............................................................................. 495<br />

Abbildung 3.23: Entscheidungsbaum für Status für 200 Datensätze ..................................... 496<br />

Abbildung 3.24: Entscheidungsbaum Windgeschwindigkeit ................................................ 498<br />

Abbildung 3.25: ODBC Data Source Administrator – SAP HANA Verbindung ................. 499<br />

Abbildung 3.26: Excel Verbindung zu SAP HANA herstellen ............................................. 500<br />

Abbildung 3.27: Excel - Tabellen- und Spaltenauswahl ........................................................ 500<br />

Abbildung 3.28: Excel - Abfrage-Assistent ........................................................................... 501<br />

Abbildung 3.29: Excel – SAP HANA Verbindung (Query zum Report 1) ........................... 501<br />

Abbildung 3.30: Excel – SAP HANA Ergebnistabelle .......................................................... 502<br />

Abbildung 3.31: Excel – Bericht ............................................................................................ 503<br />

Abbildung 3.32: SAP UI5 - Hauptseite .................................................................................. 507<br />

Abbildung 3.33: SAP UI5 - Monitor ...................................................................................... 508<br />

Abbildung 3.34: SAP UI5 - Log ............................................................................................ 509<br />

Abbildung 4.1: HANA Studio - System hinzufügen .............................................................. 511<br />

Abbildung 4.2: HANA Studio - Add System ......................................................................... 511<br />

Abbildung 4.3: HANA Studio - neues Schema anlegen ........................................................ 512<br />

Abbildung 4.4: HANA Studio - neue Tabelle anlegen .......................................................... 513<br />

Abbildung 4.5: HANA Studio - Spalten anlegen ................................................................... 513<br />

Abbildung 4.6: HANA Studio - Tabelle befüllen .................................................................. 514<br />

Abbildung 4.7: HANA Studio - neues Package erstellen ...................................................... 515<br />

Abbildung 4.8: HANA Studio - Anlegen einer View ............................................................ 515<br />

Abbildung 4.9: Analytic View - Namen auswählen .............................................................. 516<br />

Abbildung 4.10: Analytic View - Tabellen auswählen .......................................................... 516<br />

Abbildung 4.11: Analytic View – Ergebnis ........................................................................... 517<br />

Abbildung 4.12: Analytic View - Attribute festlegen ............................................................ 517<br />

Abbildung 4.13: Attribute View – Name ............................................................................... 518<br />

Abbildung 4.14: Eclipse IDE – Installation von Software Dialog ......................................... 520<br />

Abbildung 4.15: Eclipse DIE – Repository hinzufügen ......................................................... 520<br />

455


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.16: Geöffnete Rdata2ASCII.R Datei ................................................................. 522<br />

Abbildung 4.17: Ausführung einer R Prozedur in RGUI ....................................................... 522<br />

Abbildung 4.18: Fortschrittskontrolle in RGui ...................................................................... 523<br />

Abbildung 4.19: Extrahierte ForWind Textdateien ................................................................ 523<br />

Abbildung 4.20: Geöffnete „ForWind_Transformation.ktr“ Tranformation ......................... 524<br />

Abbildung 4.21: Änderung des Dateipfads der „Text file input“ Elemente .......................... 525<br />

Abbildung 4.22: Änderung des Dateipfads des „Text file output“ Elementes ....................... 525<br />

Abbildung 4.23: Geöffneter „ForWind_Job_Transformation.kjb“ Job ................................. 525<br />

Abbildung 4.24: E-Mail Konfiguration in Pentaho Data Integration..................................... 526<br />

Abbildung 4.25: ForWind Tranformations Job ausführen ..................................................... 526<br />

Abbildung 4.26: Ausgeführte Prozesskette des ForWind Job ................................................ 527<br />

Abbildung 4.27: „ForWind_ Nummerierung_Alle.ktr“ - Dateipfade ändern ........................ 528<br />

Abbildung 4.28: „ForWind_ Nummerierung_Alle.ktr“ - Ausgabepfad anpassen ................. 528<br />

Abbildung 4.29: „ForWind_ Nummerierung_Alle.ktr“ – Ausgabegröße anpassen .............. 528<br />

Abbildung 4.30: SAP HANA Studio Import Funktion .......................................................... 529<br />

Abbildung 4.31: SAP HANA Studio – File Import Wizard Schritt 1 .................................... 530<br />

Abbildung 4.32: SAP HANA Studio – File Import Wizard Schritt 2 .................................... 530<br />

Abbildung 4.33: SAP HANA Studio – Import Vorgang überwachen ................................... 531<br />

Abbildung 4.34: SWF Toolbox - Dateieigenschaften ............................................................ 533<br />

Abbildung 4.35: SWF Toolbox - Hauptfenster ...................................................................... 535<br />

Abbildung 4.36: SWF Toolbox – VPN Verbindung aufbauen .............................................. 536<br />

Abbildung 4.37: Open VPN – Verbindungsstatus ................................................................. 536<br />

Abbildung 4.38: SWF Toolbox – Daten Generator ............................................................... 537<br />

Abbildung 4.39: SWF Toolbox – Auswahl der Wetterdaten ................................................. 538<br />

Abbildung 4.40: SWF Toolbox – Tabelle Wetterdaten ......................................................... 538<br />

Abbildung 4.41: SWF Toolbox – Konfigurationstabelle Teil 1 ............................................. 539<br />

Abbildung 4.42: SWF Toolbox – Konfigurationstabelle Teil 2 ............................................. 539<br />

Abbildung 4.43: SWF Toolbox – Konfigurationstabelle Teil 3 ............................................. 540<br />

Abbildung 4.44: SWF Toolbox – Richtige Konfiguration ..................................................... 540<br />

Abbildung 4.45: SWF Toolbox – Generierte Daten .............................................................. 541<br />

Abbildung 4.46: SWF Toolbox – Daten Streamer ................................................................. 542<br />

Abbildung 4.47: SWF Toolbox – WEA Übersicht laden ....................................................... 543<br />

Abbildung 4.48: SWF Toolbox – Generierte Daten öffnen ................................................... 543<br />

Abbildung 4.49: SWF Toolbox – Konfigurationsleiste des Daten Streamers ....................... 544<br />

Abbildung 4.50: SWF Toolbox – Protokoll der Datenübertragung ....................................... 544<br />

Abbildung 4.51: SWF Toolbox – Dialog für erfolgreiche Datenübertragung ....................... 545<br />

Abbildung 4.52: SAP HANA Studio - Administration .......................................................... 549<br />

Abbildung 4.53: SAP HANA Studio - CAM ......................................................................... 549<br />

Abbildung 4.54: Ergebnis der Klassifikation ......................................................................... 554<br />

Abbildung 4.55: Kreuzvalidierung der Klassifikation ........................................................... 555<br />

Abbildung 4.56: VPN-Verbindung ........................................................................................ 556<br />

Abbildung 4.57: VPN-Verbindung - Benutzer ...................................................................... 557<br />

Abbildung 4.58: SAP UI5 – Home - Übersicht ..................................................................... 557<br />

Abbildung 4.59: SAP UI5 – Home - Monitor ........................................................................ 558<br />

Abbildung 4.60: SAP UI5 – Monitor ..................................................................................... 558<br />

Abbildung 4.61: SAP UI5 – Monitor - Erweitert ................................................................... 559<br />

Abbildung 4.62: SAP UI5 – Log ............................................................................................ 559<br />

Abbildung 4.63: SAP UI5 – Reporting - Übersicht ............................................................... 560<br />

Abbildung 4.64: SAP UI5 – Reporting – Report 1 ................................................................ 560<br />

Abbildung 4.65: SAP UI5 – Reporting – Report 2 ................................................................ 561<br />

Abbildung 4.66: SAP UI5 – Reporting – Report 3 ................................................................ 561<br />

456


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.67: SAP UI5 – Reporting – Report 4 ................................................................ 562<br />

Abbildung 4.68: SAP UI5 – Data Mining .............................................................................. 562<br />

Abbildung 4.69: VPN-Verbindung ........................................................................................ 563<br />

Abbildung 4.70: VPN-Verbindung - Benutzer ...................................................................... 564<br />

Abbildung 4.71: Benutzerh<strong>and</strong>buch Excel - Menü ................................................................ 564<br />

Abbildung 4.72: Benutzerh<strong>and</strong>buch Excel - Reiter ............................................................... 564<br />

Abbildung 4.73: Benutzerh<strong>and</strong>buch Excel – Charts 1 ........................................................... 565<br />

Abbildung 4.74: Benutzerh<strong>and</strong>buch Excel – Charts 2 ........................................................... 565<br />

Abbildung 4.75: Benutzerh<strong>and</strong>buch Excel – Charts 3 ........................................................... 566<br />

Abbildung A.1: Datenbankmodell ......................................................................................... 636<br />

Tabellenverzeichnis<br />

Tabelle 3.1: Tupel Tabelle Wetterdaten ................................................................................. 466<br />

Tabelle 3.2: Tupel Tabelle Windpark .................................................................................... 467<br />

Tabelle 3.3: Tupel Tabelle Anlage ......................................................................................... 467<br />

Tabelle 3.4: Tupel Tabelle Anlagentyp .................................................................................. 467<br />

Tabelle 3.5: Tupel Tabelle Wartung ...................................................................................... 468<br />

Tabelle 3.6: Tupel Tabelle Betrifft_Wartung_Bauteil ........................................................... 468<br />

Tabelle 3.7: Tupel Tabelle Bauteil ......................................................................................... 468<br />

Tabelle 3.8: Tupel Tabelle Sensordaten ................................................................................. 469<br />

Tabelle 3.9: Zusätzliche Tupel durch Availon-Daten ............................................................ 470<br />

Tabelle 3.10: Attribute der ForWind Daten ........................................................................... 472<br />

Tabelle 3.11: Erläuterung der Transformationskette .............................................................. 475<br />

Tabelle 3.12: Attribute Availon WP GE ................................................................................ 478<br />

Tabelle 3.13: Attribute Availon WP Vestas ........................................................................... 478<br />

Tabelle 3.14: Unterstützende Software der SWF Toolbox .................................................... 479<br />

Tabelle 3.15: Paketstruktur der SWF Toolbox....................................................................... 481<br />

Tabelle 3.16: Projektstruktur SAP UI5 Webanwendung ....................................................... 505<br />

Tabelle 4.1: Voraussetzungen ................................................................................................ 510<br />

Tabelle 4.2: SAP UI5 – Voraussetzungen und Anforderungen ............................................. 556<br />

Tabelle 4.3: Excel – Voraussetzungen und Anforderungen ................................................... 563<br />

457


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abkürzungsverzeichnis<br />

AFL<br />

BI<br />

BO<br />

CE<br />

COAST<br />

COWS<br />

CRAN<br />

CRM<br />

CSS<br />

CSV<br />

DV<br />

EE<br />

ETL<br />

GB<br />

GCC<br />

GUI<br />

HANA<br />

HPI<br />

HTML<br />

IDE<br />

IP<br />

JDBC<br />

JSON<br />

kPa<br />

MB<br />

OData<br />

ODBC<br />

OLAP<br />

PAL<br />

SQL<br />

SWF<br />

SWT<br />

TCP<br />

UI<br />

VPN<br />

WEA<br />

XML<br />

Application Function Libraries<br />

<strong>Business</strong> <strong>Intelligence</strong><br />

<strong>Business</strong>Objects<br />

Community Edition<br />

Center for Environment <strong>and</strong> Sustainability<br />

Coordination of Offshore Windpark Servicing<br />

Comprehensive R Archive Network<br />

Customer Relationship Management<br />

Cascading Style Sheets<br />

Comma-separated values<br />

Datenverarbeitung<br />

Enterprise Edition<br />

Extract, Transform, Load<br />

Gigabyte<br />

Gnu Compiler Collection<br />

Graphical User Interface<br />

High Performance Analytic Appliance<br />

Hasso-Plattner-Institut<br />

Hypertext Markup Language<br />

Integrated Development Environment<br />

Internetprotokoll<br />

Java Database Connector<br />

JavaScript Object Notation<br />

Kilopascal<br />

Megabyte<br />

Open Data Protocol<br />

Open Database Connectivity<br />

Online Analytical Processing<br />

Predictive Analytics Library<br />

Structured Query Language<br />

Smart Wind Farm Control<br />

St<strong>and</strong>ard Widget Toolkit<br />

Transmission Control Protocol<br />

User Interface<br />

Virtual Private Network<br />

Windenergieanlage<br />

Extensible Markup Language<br />

458


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

1 Einleitung<br />

Das vorliegende Dokument enthält die Dokumentation der Teilgruppe Smart Wind Farm Control,<br />

welche übergreifend zu der <strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong> <strong>Applications</strong> <strong>and</strong> <strong>Evaluation</strong> gehört.<br />

Ziel dieser Dokumentation ist es, ergänzend zum Fach- und DV-Konzept, alle erfolgten Tätigkeiten<br />

sowie Ergebnisse der Teilgruppe niederzulegen und ein abschließendes Fazit zu ziehen. Die Dokumentation<br />

gliedert sich in vier Bereiche.<br />

Zunächst dem Projektverlauf (siehe Kapitel 2), der eine Zusammenfassung aller wichtigen Ereignisse,<br />

wie strategische Änderungen, Meetings mit Projektpartnern und ergänzende Tätigkeiten chronologisch<br />

aufführt und beschreibt.<br />

Darüber hinaus der Ergebnisdarstellung und Technischen Dokumentation (siehe Kapitel 3), in der alle<br />

Ergebnisse der im DV-Konzept aufgeführten Arbeitspakete Analyse und Übernahme der Windpark-<br />

Datenstruktur, Simulation eines Windparks und Analyse und Reporting aus technischer Sicht, sowie<br />

deren Entstehungsgeschichte beschrieben werden.<br />

Außerdem den Benutzerh<strong>and</strong>büchern (siehe Kapitel 4), die dem Leser die Verwendung der zuvor in<br />

Kapitel 3 beschriebenen, Applikationen und Verfahren aus Benutzersicht beschreiben. Diese dienen<br />

einerseits als Anleitungsfunktion und <strong>and</strong>ererseits als Nachschlagewerk.<br />

Das abschließende Fazit (siehe Kapitel 5) basiert auf der ursprünglichen Fragestellung und spiegelt die<br />

gesamte Projektphase wieder. Dabei stehen insbesondere die erfolgten Tätigkeiten und deren<br />

wichtigsten Erkenntnisse sowie Problematiken im Fokus. Weiterhin wird ein Ausblick auf die weitere<br />

Nutzung der Projektergebnisse und dessen potenzielle Chancen gegeben.<br />

459


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

2 Projektverlauf<br />

Da sich die Projektziele aufgrund von externen Faktoren während der Projektlaufzeit mehrmals geändert<br />

haben, soll im Folgenden der chronologische Ablauf dargestellt werden.<br />

Im Rahmen der <strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong> <strong>Applications</strong> <strong>and</strong> <strong>Evaluation</strong> stellt Smart Wind<br />

Farm Control (SWF) ein Teilprojekt neben den Projekten Analytisches Customer Relationship Management<br />

(CRM) und Nachhaltige Mobilität dar. Das ursprüngliche, vorgegebene Ziel der <strong>Projektgruppe</strong><br />

best<strong>and</strong> darin, einen virtuellen Windpark unter Beachtung von vorgegebenen Algorithmen,<br />

Daten und Know-How aufzubauen. Hierfür war bereits festgelegt, dass die <strong>Projektgruppe</strong> die aktuelle<br />

In-Memory Technologie SAP HANA (High Performance Analytic Appliance) für die Datenhaltung<br />

und -analyse einsetzen sollte.<br />

Für die Bestimmung der Rahmenbedingungen entwarf die <strong>Projektgruppe</strong> einen Interviewfragebogen,<br />

(siehe Anhang A.1). Darauf aufbauend führte die <strong>Projektgruppe</strong> am 23.05.2012 ein Interview mit<br />

Markus Seyfert von dem Unternehmen BTC AG (siehe Anhang A.2). Hierbei stellte sich heraus, dass<br />

die BTC AG bisher keine konkreten Vorstellungen hinsichtlich der Kooperation besaß. Die <strong>Projektgruppe</strong><br />

schlug daraufhin als mögliches Thema vor, Analysen über große Datenmengen (Big Data)<br />

prototypisch mit SAP HANA umzusetzen. Zudem könnte Data Mining von Relevanz sein.<br />

Aufgrund von personalen Veränderungen bei dem Projektpartner BTC konnte das zweite Interview<br />

nicht stattfinden und wurde ersatzweise am 30.05.2012 durch die <strong>Projektgruppe</strong>nbetreuerin Jennifer<br />

Osmers durchgeführt. Hierbei erlangte die <strong>Projektgruppe</strong> die folgenden Erkenntnisse: Die genauen<br />

Anforderungen seitens der BTC blieben weiterhin unklar, da Markus Seyfert lediglich kurzfristig als<br />

Ersatz eingesprungen war. Laut Aussage von Jennifer interessierte die BTC an der Kooperation vor<br />

allem der Bereich Fehlerkettenerkennung und Data Mining. Als mögliches Ziel der <strong>Projektgruppe</strong><br />

wurde daher genannt, einen Algorithmus zu wählen und – ohne diesen zu evaluieren – exemplarisch<br />

anzuwenden. Zudem wurde als mögliches Ziel ein Technologievergleich zwischen SAP HANA und<br />

Microsoft In-Memory angedacht.<br />

Ein für Juni in Aussicht gestellter Termin mit der BTC AG f<strong>and</strong> nicht statt. Am 13.06.2012 berichtete<br />

Deyan Stoyanov im <strong>Projektgruppe</strong>nmeeting, dass anfangs über 50% der <strong>Projektgruppe</strong> das Thema<br />

SWF beh<strong>and</strong>eln wollten, das Interesse aufgrund der häufigen Terminverschiebungen jedoch deutlich<br />

gesunken sei. Professor Marx Gomez versprach daher, sich um eine baldige Entscheidung zu kümmern,<br />

wie und ob die Kooperation weiterlaufen sollte.<br />

Die endgültigen Teilnehmer der einzelnen Teilgruppen wurden am 24.06.2012 festgelegt. Die Teilgruppe<br />

SWF besteht seitdem aus den Mitgliedern Deyan Stovanov, Patrick Böwe, Michael Schumann<br />

sowie Ronja Queck. Da im darauffolgenden Monat fraglich blieb, ob die Teilgruppe mit der BTC oder<br />

einem <strong>and</strong>eren Partner kooperiert, erarbeiteten die <strong>Projektgruppe</strong>nmitglieder Seminararbeiten. Hierfür<br />

460


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

erhielt Michael Schumann eine Secure ID Karte für SAP HANA und hatte somit erstmals Zugang zu<br />

der In-Memory Technologie.<br />

Am 01.08.2012 gab Benjamin Wagner vom Berg bekannt, dass als neuer Praxispartner Herr Prof. Dr.<br />

Peinke von ForWind zur Verfügung steht. Fünf Tage später, am 06.08.2012, f<strong>and</strong> ein sehr informatives<br />

Gespräch mit diesem statt (siehe Anhang A.3).<br />

Neben einer generellen Einführung in das Thema Windenergie wurden mögliche Fragestellungen für<br />

eine Kooperation diskutiert. Hierbei ergab sich als ein großes Thema die Dimension Zeit. Obwohl die<br />

Windenergieanlagen (WEA) im Sekundenrhythmus Werte erfassen und darauf reagieren, werden bei<br />

ForWind 10-Minuten-Mittelwerte für Berechnungen eingesetzt. Aufgrund der höheren Geschwindigkeit<br />

einer In-Memory Datenbank könnte es möglich sein, genauere Berechnungen anzustellen. Prof.<br />

Peinke versprach der Teilgruppe, entweder anonymisierte Realdaten oder stochastisch berechnete Daten<br />

zur Verfügung zu stellen.<br />

Anschließend wurde der folgende grobe Ablauf für den Rest des Projekts festgelegt:<br />

1. SAP Hana initialisieren<br />

2. Testdaten analysieren und evtl. reduzieren bzw. aufbereiten und dokumentieren<br />

3. Testdaten in SAP HANA modellieren (u.a. ETL). Dies sollte das primäre Ziel der Teilgruppe<br />

sein.<br />

4. Durchführung verschiedener Analysen (diese werden z.T. von Prof. Peinke zur Verfügung gestellt).<br />

Ein mögliches Anwendungsszenario ist die Ermittlung der Lebensdauer einer Komponente,<br />

um eine proaktive Wartung zu veranlassen. Hierfür soll im HANA-System ein Alerting<br />

genutzt werden: Bei Über-/Unterschreitung von vorher definierten Schwellwerten soll ein<br />

Alarm und damit ein Wartungseinsatz ausgelöst werden. Gegebenenfalls kann das Alerting<br />

um ein lernendes System erweitert werden, um die regelmäßigen Wartungen zu verbessern<br />

und so zusätzliche Wartungsarbeiten zu vermeiden.<br />

5. SAP HANA Feedback erstellen<br />

Die Erkenntnisse aus dem Gespräch mit Prof. Peinke flossen in das Fach- und Datenverarbeitungs<br />

(DV)-Konzept ein.<br />

Ab dem 16.08.2012 starteten die zweiwöchentlichen Telefonkonferenzen mit dem Hasso-Plattner-<br />

Institut (HPI). In diesen konnten offene Fragen bzw. Probleme besprochen werden. Zudem konnten<br />

Anregungen für die Verbesserung das SAP HANA Beta Systems genannt werden. Während dem<br />

03.09.2012 und 30.10.2012 nahm Michael Schumann erfolgreich an einer Open-HPI Schulung zum<br />

Thema In-Memory teil.<br />

461


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Die bisherigen Erfahrungen und Projektziele wurden anschließend am 14.11.2012 beim Future Soc<br />

Lab Day am HPI in Potsdam vorgestellt. Hierfür wurde im Vorhinein ein Paper, Plakat und eine Präsentation<br />

erstellt (siehe Anhang A.4, A.5 und A.6). Die Teilgruppe konnte dort viele neue Erkenntnisse<br />

erlangen. Neben den Rückfragen zu ihrer eigenen Präsentation lernte die Teilgruppe vergleichbare<br />

Projekte, neue Funktionen bzw. Meilensteine hinsichtlich SAP HANA sowie die zuständigen Personen<br />

persönlich kennen. Insbesondere durch eine Präsentation der Universität Mannheim konnte viel<br />

neues Wissen aufgebaut werden. Diese Erkenntnisse wurden anschließend in das DV-Konzept übernommen.<br />

Am 29.11.2012 f<strong>and</strong> ein weiterer Meilenstein des Projektablaufs statt: In einem Treffen mit Patrick<br />

Milan von ForWind wurden sechs Attribute von WEA-Daten besprochen, die der Teilgruppe anschließend<br />

zur Verfügung gestellt werden sollten (siehe Anhang A.7). Bereits vorher hatte die Teilgruppe<br />

aufgrund der noch nicht vorh<strong>and</strong>enen Daten eine Strategieänderung ausgearbeitet, die an diesem<br />

Nachmittag mündlich mit Benjamin Wagner vom Berg sowie Andreas Solsbach besprochen und<br />

am 03.12.2012 finalisiert wurde (siehe Anhang A.8). Das neue Ziel der Teilgruppe wurde es somit,<br />

eine grundlegende Systeml<strong>and</strong>schaft bzw. Plattform umzusetzen, um den Funktionsumfang für weiterführende<br />

Projekte zu demonstrieren. Hierfür sollten verschiedene mögliche Technologien recherchiert<br />

sowie Lösungswege aufgezeigt werden. Insgesamt sollte ein einheitliches System für die Nutzung von<br />

Echtdaten, Algorithmen und Data Mining vorbereitet werden. Dabei sollten insbesondere die möglichen<br />

Schnittstellen und Systemkomponenten für ein zukünftiges proaktives Wartungssystem aufgezeigt<br />

werden.<br />

Die Testdaten wurden am 10.12.2012 in verrauschter Form durch Patrick Milan übergeben. Sie bef<strong>and</strong>en<br />

sich auf zwei DVDs und waren komprimiert ca. 5,5 GB groß. Somit st<strong>and</strong>en der Teilgruppe erstmals<br />

Daten zur Verfügung. In der darauf folgenden Woche begann die Teilgruppe, die Daten zu analysieren,<br />

zu bereinigen und in das SAP HANA System zu importieren.<br />

Am 17.12.2012 f<strong>and</strong> ein Treffen mit der <strong>Projektgruppe</strong> Coordination of Offshore Windpark Servicing<br />

(COWS) statt (siehe Anhang A.9). Diese <strong>Projektgruppe</strong> plante, eine Simulations- und Planungsumgebung<br />

für Wartungseinsätze in Offshore-Windfarmen zu erstellen. Neben einer realitätsgetreuen Modellierung<br />

der Windfarmen, ihrer Wartungs-Infrastruktur sowie der Wetterverhältnisse sollte eine Planungskomponente<br />

entwickelt werden, die auf Grundlage von Wetterdaten, Betreibervorgaben und<br />

Bedarfsprognosen Entscheidungen trifft (bzw. Entscheidungsalternativen vorschlägt) über Zeitpunkt,<br />

Ort und Art von anstehenden Wartungseinsätzen.<br />

Anschließend reichte die Teilgruppe zum 31.12.2012 ein Paper für die fünfte BUIS-Tagung ein. Dieses<br />

wurde jedoch aufgrund des Themenschwerpunktes, welcher nicht direkt die Nachhaltigkeit, sondern<br />

die Kostenreduzierung anstrebt, abgelehnt, (siehe Anhang A.10).<br />

462


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Das Jahr 2013 begann mit zwei sehr aufschlussreichen Treffen: Während bei einem Treffen mit dem<br />

HPI bzw. SAP die Technologie SAP HANA sowie die Fehlerkettenerkennung im Vordergrund st<strong>and</strong>en,<br />

erlangte die Teilgruppe im Gespräch mit Olaf Kleesch von der Availon GmbH neue Erkenntnisse<br />

im Bereich der Windenergie.<br />

Am 24.01.2013 f<strong>and</strong> ein Treffen mit Dr. Felix Salfner von SAP sowie Henning Schmitz vom HPI statt<br />

(siehe Anhang A.11). Hierbei wurden einerseits generelle Neuerungen seitens SAP HANA präsentiert,<br />

<strong>and</strong>ererseits stellte Felix Salfner das Thema Fehlerkettenerkennung genauer dar. Unter dem Oberbegriff<br />

„Proactive Failure Avoidance, Recovery <strong>and</strong> Maintenance“ (PFARM) fasste er Methoden wie<br />

beispielsweise Monitoring, Diagnose, Vorhersage, Wiederherstellung und präventive Wartung, die<br />

sich mit der proaktiven Fehlerbeh<strong>and</strong>lung beschäftigen, zusammen. Wenn das System im Vorhinein<br />

eine kritische Situation erkennt, können entweder vorab Gegenmaßnahmen eingeleitet werden, damit<br />

der Fehler nicht eintreten kann oder Reparaturmechanismen vorbereitet werden, damit der anstehende<br />

Fehler schnell behoben werden kann. Im Falle der Windenergieanlagen kann beispielsweise proaktiv<br />

die WEA abgeschaltet oder ein Technikereinsatz geplant werden.<br />

Eine Woche später, am 31.01.2013, traf die <strong>Projektgruppe</strong> Herrn Olaf Kleesch von der Availon<br />

GmbH, einem Serviceanbieter für WEA (siehe Anhang A.12). Hierbei stellte sich heraus, dass viele<br />

ältere WEA noch über Modemverbindungen verfügen und daher st<strong>and</strong>ardmäßig alle WEA zehnminütige<br />

Mittelwerte versenden. Die Hauptbegründung der <strong>Projektgruppe</strong> für die Nutzung von SAP HANA<br />

mit Sekundendaten ist somit nicht möglich. Bisher setzt Availon lediglich statische Auswertungen ein,<br />

daher ist vor allem der Bereich Data Mining für das Unternehmen von Interesse. Olaf Kleesch verspricht,<br />

der Teilgruppe baldmöglichst reale 10-Minuten-Daten zur Verfügung zu stellen.<br />

Für eine allgemeine Diskussion des Themas Windenergie nahm die Teilgruppe am 13.02.2013 am<br />

Wind Energy Workshop veranstaltet vom Center for Environment <strong>and</strong> Sustainability (COAST) der<br />

Universität Oldenburg sowie dem Hansa Energy Corridor (hec) teil (siehe Anhang A.13). Hierbei berichteten<br />

Mitarbeiter des Windenergie Teams der BTC, dass auch sie versucht hätten, die proaktive<br />

Wartung von WEA zu ermöglichen, dies jedoch daran gescheitert sei, dass jede Turbine individuell ist<br />

und der Algorithmus somit für jede Turbine angepasst werden muss.<br />

Wie am 31.01.2013 besprochen, konnte die Teilgruppe am 26.02.2013 anonymisierte Realdaten von<br />

der Availon GmbH entgegen nehmen. Um die Daten in SAP HANA zu laden, mussten die Attribute<br />

wesentlich erweitert werden. Anschließend wurden auf die Daten prototypisch Data Mining Methoden<br />

angewendet, aufgrund der Kürze der restlichen Projektlaufzeit konnten dabei jedoch keine wesentlichen<br />

Erkenntnisse erzielt werden. Ein Zugang zu SAP BO, der am 11.03.2013 ermöglicht wurde,<br />

wurde ebenfalls nicht mehr weiterverfolgt. Beide Bereiche sind für zukünftige Projekte jedoch sehr<br />

vielversprechend.<br />

463


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3 Ergebnisdarstellung & Technische Dokumentation<br />

3.1 Architektur<br />

Für die Windpark-Maintenance-Plattform ist eine Architektur mit den verschieden eingesetzten Softwarelösungen<br />

und deren Verbindungen unterein<strong>and</strong>er modelliert worden. Konzeptuell ist diese im<br />

DV-Konzept detailliert erläutert und im weiteren Verlauf des Projekts einer geringfügigen Änderung<br />

unterzogen worden, welche im Folgenden begründet werden.<br />

Die finale Architektur der Plattform ist in Abbildung 3.1 aufgeführt und nach wie vor in die drei Ebenen<br />

ETL, Datenhaltung und Data-Mining sowie Reporting unterteilt.<br />

Abbildung 3.1: Architektur<br />

Innerhalb der ETL-Ebene ist die Erfassung eines kontinuierlichen Datenstroms von verschiedenen<br />

WEA, aufgrund des fehlenden konzeptionellen Rahmens, ausgegraut worden. Weiterhin ist das SAP<br />

HANA Studio als Importschnittstelle ergänzt worden, da für Pentaho Data Integration CE aktuell keine<br />

SAP HANA Schnittstelle verfügbar ist. In der Datenhaltung und Data Mining Ebene ist die Rserve<br />

Applikation nachgetragen worden, weil diese die Kommunikation zwischen dem SAP HANA System<br />

und R steuert. Abschließend wurde SAP BO, aufgrund der nicht verfügbaren Lizenzen während der<br />

Realisierungsphase ebenfalls ausgegraut.<br />

464


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.2 Datenbankmodell<br />

Um ein allgemeingültiges Datenmodell zu erstellen, welches leicht erweiterbar ist und den Anforderungen<br />

der Plattform genügt, ist die im folgenden Kapitel beschriebene Struktur im SAP HANA System,<br />

spaltenbasierend umgesetzt worden. Die Attribute, die Datentypen und die jeweilige Bedeutung,<br />

der einzelnen Tabellen sind im Kapitel 3.2.2 beschrieben. Im letzten Unterkapitel befindet sich eine<br />

Übersicht über den Umfang der sich im System befindenden Daten.<br />

3.2.1 Struktur<br />

Die Struktur des Datenbankmodells, welches bereits im DV-Konzepte beschrieben und erarbeitet wurde,<br />

wurde unverändert übernommen. Daher umfasst das Datenmodell im SAP HANA System folgende<br />

acht Haupttabellen: Wetterdaten, Windpark, Anlage, Anlagentyp, Wartung, Betrifft_Wartung_Bauteil,<br />

Bauteil und Sensordaten. Die einzelnen Tabellen sind, wie auf dem logischen<br />

Datenmodell auf Abbildung 3.2 zu sehen, mitein<strong>and</strong>er verbunden. So können z. B. mehrere Anbieter<br />

von Wetterdaten einem bestimmten Windpark zugeordnet werden, welcher sich in die einzelnen Anlagen<br />

mit den verschiedenen Sensoren zerteilen lässt. Die Struktur des Datenmodells wurde bewusst<br />

minimalistisch gehalten, um nur für die Wartung nötige Daten zu speichern und zu analysieren.<br />

Wetterdaten<br />

Wartung<br />

von bauteil<br />

Betrifft_Wartung_Bauteil<br />

betrifft<br />

Bauteil<br />

gehören zu<br />

von<br />

Windpark<br />

gehört zu<br />

Anlage<br />

hat<br />

Sensordaten<br />

gehört zu<br />

Anlagentyp<br />

Abbildung 3.2: Logisches Datenmodell<br />

465


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.2.2 Beschreibung der Tupel<br />

Die Tupel der verschiedenen Tabellen wurden anh<strong>and</strong> der Daten von ForWind und der Masterarbeit<br />

von Oliver Norkus erstellt und anschließend mit Hilfe der Daten von der Availon GmbH erweitert.<br />

In den folgenden Tabellen sind alle Tupel der einzelnen Tabellen inklusive der jeweiligen Datentypen<br />

und einer Beschreibung aufgelistet, die vor Erhalt und Analyse der Daten von der Availon GmbH<br />

bekannt waren. Die zusätzlichen Tupel, die anh<strong>and</strong> der Daten der Availon GmbH erstellt wurden, sind<br />

in Tabelle 3.9 aufgeführt und beschrieben. Insgesamt umfasst die Sensordaten-Tabelle des Datenmodells<br />

60 verschiedene Sensoren. Das gesamte Modell ist im Anhang A.14 aufgeführt.<br />

Tabelle Wetterdaten<br />

Attributname Datentyp Beschreibung<br />

Anbieter_ID Integer ID<br />

Wetterdaten_Timestamp Timestamp Zeitstempel<br />

Ort Char Ort<br />

Windgeschwindigkeit Double Windgeschwindigkeit in m/s<br />

Luftfeuchtigkeit Double Relative Luftfeuchtigkeit in %<br />

Wellenhoehe Double Höhe der Wellen in Meter<br />

Temperatur Double Temperatur in Grad Celsius (°C)<br />

Luftdruck Double Luftdruck in kPa<br />

Niederschlag Double Menge des Regens in mm pro qm<br />

Windrichtung Double Richtung des Windes in Grad<br />

Wahrscheinlichkeit Double Wahrscheinlichkeit mit der die Vorhersage<br />

eintrifft in %<br />

WindparkWindpark_ID Integer Fremdschlüssel<br />

Tabelle Windpark<br />

Tabelle 3.1: Tupel Tabelle Wetterdaten<br />

Attributname Datentyp Beschreibung<br />

Windpark_ID Integer ID<br />

Bezeichnung Char Name des Windparks<br />

Betreiber Char Name des Betreibers<br />

Wartungsdienst Char Name des Wartungsdienst<br />

Anzahl_WEA Integer Zahl der Windenergieanlagen<br />

Groesse Double Ausmaße in qm<br />

St<strong>and</strong>ort Char Bezeichnung des St<strong>and</strong>orts<br />

Laengengrad Double Längengrad des St<strong>and</strong>ortes<br />

466


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Breitengrad Double Breitengrad des St<strong>and</strong>ortes<br />

Datum_der_Genehmigung Date Tag der Genehmigung des Windparks<br />

Gesamt_Soll_Leistung Double Leistung des Windparks<br />

Wassertiefe Double Durchschnittliche Wassertiefe in Meter<br />

Tabelle 3.2: Tupel Tabelle Windpark<br />

Tabelle Anlage<br />

Attributname Datentyp Beschreibung<br />

Anlagen_ID Interger ID<br />

Bezeichnung Char Name der einzelnen Anlage<br />

St<strong>and</strong>ort Char St<strong>and</strong>ortbezeichnung der Anlage<br />

WetterdatenAnbieter_ID Integer Fremdschlüssel<br />

WetterdatenTimestamp Timestamp Fremdschlüssel<br />

AnlagentypAnlagentyp_ID Integer Fremdschlüssel<br />

WindparkWindpark_ID Integer Fremdschlüssel<br />

Tabelle 3.3: Tupel Tabelle Anlage<br />

Tabelle Anlagentyp<br />

Attributname Datentyp Beschreibung<br />

Anlagentyp_ID Integer ID<br />

Bezeichnung Char Bezeichnung des Anlagentyps<br />

Hoehe Double Höhe in Metern<br />

Leistung Double Soll-Leistung des Anlagentyps<br />

Rotorblattlaenge Double Länge der Rotorblätter in Metern<br />

Hersteller Char Name des Herstellers<br />

Anzahl_der_Rotorblaetter Tinyint Anzahl der Rotorblätter<br />

Einschaltgeschwindigkeit Double Einschaltgeschwindigkeit in m/s<br />

Abschaltwindgeschwindigkeit Double Abschaltwindgeschwindigkeit in m/s<br />

Tabelle 3.4: Tupel Tabelle Anlagentyp<br />

Tabelle Wartung<br />

Attributname Datentyp Beschreibung<br />

Wartungs_ID Integer ID<br />

Von Timestamp Datum mit Uhrzeit<br />

Bis Timestamp Datum mit Uhrzeit<br />

AnlageAnlagen_ID Integer Fremdschlüssel<br />

AnlageWindparkWindpark_ID Integer Fremdschlüssel<br />

AnlageWindparkWindpark_ID2 Integer Fremdschlüssel<br />

467


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

AnlageWindparkWindpark_ID3 Integer Fremdschlüssel<br />

AnlageWindparkWindpark_ID4 Integer Fremdschlüssel<br />

Tabelle Betrifft_Wartung_Bauteil<br />

Tabelle 3.5: Tupel Tabelle Wartung<br />

Attributname Datentyp Beschreibung<br />

Grund Char Grund der Wartung<br />

WartungWartungs_ID Integer Fremdschlüssel<br />

BauteilBauteil_ID Integer Fremdschlüssel<br />

Tabelle Bauteil<br />

Tabelle 3.6: Tupel Tabelle Betrifft_Wartung_Bauteil<br />

Attributname Datentyp Beschreibung<br />

Bauteil_ID Integer ID<br />

Bezeichnung Char Technische Bezeichnung des Bauteils<br />

Tabelle Sensordaten<br />

Tabelle 3.7: Tupel Tabelle Bauteil<br />

Attributname Datentyp Beschreibung<br />

Sensor_ID Integer ID<br />

Sensor_Timestamp Timestamp Timestamp aus Unix<br />

Windgeschwindigkeit Double Windgeschwindigkeit m/s<br />

Betriebsstatus Tinyint Aktueller Status der Anlage<br />

Leistungsabgabe Double Aktuelle Leistungsabgabe der Anlage in MW/h<br />

Windrichtung Double Windrichtung in Grad<br />

Blatteinstellwinkel Double Einstellwinkel der Rotorblätter in Grad<br />

Aussentemperatur Double Außentemperatur Grad Celsius (°C)<br />

Luftdichte Double Dichte der Umgebungsluft<br />

Luftfeuchtigkeit Double Relative Luftfeuchtigkeit in %<br />

Schwingung Double Schwingungen der Anlage<br />

Turbine_Oelst<strong>and</strong> Double Ölst<strong>and</strong> der Turbine<br />

Turbine_Oeldruck Double Öldruck der Turbine<br />

Turbine_Oeltemperatur Double Temperatur des Öls in der Turbine in Grad Celsius<br />

(°C)<br />

Turbine_Spannung Double Elektrische Spannung der Turbine<br />

Turbine_Stromstaerke Double Stromstärke der Turbine in Ampere<br />

Turbine_Frequenz Double Frequenz der Turbine in Herz<br />

Generator_Temperatur Double Temperatur des Generators in Grad Celsius (°C)<br />

468


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Generator_Drehzahl Double Drehzahl des Generators in Umdrehung pro<br />

Minute<br />

Generator_Oelst<strong>and</strong> Double Ölst<strong>and</strong> des Generators<br />

Generator_Oeltemperatur Double Temperatur des Öls im Generator in Grad Celsius<br />

(°C)<br />

Generator_Oeldruck Double Druck des Öls im Generator<br />

Getriebe_Oelst<strong>and</strong> Double Ölst<strong>and</strong> des Getriebes<br />

Getriebe_Oeltemperatur Double Temperatur des Öls im Getriebe in Grad Celsius<br />

(°C)<br />

Getriebe_Oeldruck Double Druck des Öls im Getriebe<br />

Fulldate Timestamp Datum im SAP Format<br />

AnlageAnlagen_ID Integer Fremdschlüssel<br />

AnlageWindparkWindpark_ID Integer Fremdschlüssel<br />

AnlageWindparkWindpark_ID2 Integer Fremdschlüssel<br />

AnlageWindparkWindpark_ID3 Integer Fremdschlüssel<br />

AnlageWindparkWindpark_ID4 Integer Fremdschlüssel<br />

Tabelle Sensordaten nach Availon<br />

Attributname<br />

Tabelle 3.8: Tupel Tabelle Sensordaten<br />

Datentyp Beschreibung<br />

Turbine_Name Char Name der Turbine<br />

Leistungs_Mittl Double Durchschnittliche Leistungsabgabe (MW/h)<br />

Blindleistung_Kapazitiv Double Leistung, die nicht in das Stromnetz eingespeist werden<br />

kann.<br />

Gondelposition Double Position der Gondel (grad °)<br />

Temp_Gondel Double Gemessene Temperatur bei der Gondel (C°)<br />

Temp_HSS_Generatorseite Double Gemessene Temperatur des Generators (C°)<br />

Temp_Wellenlager Double Gemessene Temperatur beim Wellenlager (C°)<br />

Temp_Rotorlager Double Gemessene Temperatur des Rotorlager (C°)<br />

Temp_Getriebeoelsumpf Double Temperatur des Getriebeölsumpfs (C°)<br />

Temp_Getriebelager_A Double Gemessene Temperatur des Getriebelager A (C°)<br />

Temp_Getriebelager_B Double Gemessene Temperatur des Getriebelager (C°)<br />

Temp_Generator_1 Double Gemessene Temperatur des Generator 1 (C°)<br />

Temp_Generator_2 Double Gemessene Temperatur des Generator 2 (C°)<br />

Temp_Generator_Kuehlluft Double Gemessene Temperatur der Kühl-Luft des Generators<br />

(C°)<br />

Temp_Generatorlager_A Double Gemessene Temperatur des Generatorlagers A (C°)<br />

Temp_Generatorlager_B Double Gemessene Temperatur des Generatorlagers B (C°)<br />

Temp_Transformator_Phase_1 Double<br />

Gemessene Temperatur der Phase 1 des Transforma-<br />

469


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Temp_Transformator_Phase_2 Double<br />

Temp_Transformator_Phase_3 Double<br />

tors (C°)<br />

Gemessene Temperatur der Phase 1 des Transformators<br />

(C°)<br />

Gemessene Temperatur der Phase 1 des Transformators<br />

(C°)<br />

Blattwinkel_1 Double Blatteinstellwinkel für das erste Rotorblatt<br />

Blattwinkel_2 Double Blatteinstellwinkel für das zweite Rotorblatt<br />

Blattwinkel_3 Double Blatteinstellwinkel für das dritte Rotorblatt<br />

Cosphi Double Wirkfaktor<br />

Cosphi_soll Double Wirkfaktor soll<br />

Spannung_L1R Double Spannung beim L1R in Volt<br />

Spannung_L2S Double Spannung beim L2S in Volt<br />

Spannung_L3T Double Spannung beim L3T in Volt<br />

Generatorfrequenz Double Frequenz des Generators in Herz<br />

Generatordrehzahl_Mittl Double Durchschnittliche Generatordrehzahl<br />

Rotordrehzahl_Mittl Double Durchschnittliche Rotordrehzahl<br />

Leistungsschalter_Schaltspiele Double Anzahl an Schaltzyklen des Leistungsschalter<br />

Hydraulischer_Druck Double Druck des hydraulische-Systems (bar)<br />

Leistungsreduzierung Double Grad der Leistungsreduzierung<br />

Metallpartikel Double Anzahl<br />

Tabelle 3.9: Zusätzliche Tupel durch Availon-Daten<br />

3.2.3 Best<strong>and</strong>saufnahme<br />

Die Datenbank bzw. die verschiedenen Tabellen enthalten Daten aus verschiedenen Quellen, wie<br />

ForWind, der Availon GmbH, unterschiedlichen Anbietern für Wetterdaten und dem Datengenerator.<br />

Ein Überblick über die vorh<strong>and</strong>ene Datenmenge ist, unterteilet nach den verschiedenen Anlagen, denen<br />

sie zugeordnet sind, in Abbildung 3.3 zu sehen. Die Tabelle enthält zu den Anlagen 1 bis 11 je<br />

über 11 Millionen Datensätze. Während die Anlage mit der ID 30 nur ca. 150.000 Datensätze enthält.<br />

Die unterschiedlichen Datenmengen entstehen vor allem durch die Granularität mit der die Daten aufgenommen<br />

wurden. So stammen die Daten für die Anlagen 30 und 31 von der Availon GmbH und<br />

wurden mit einem 10-minütigem Abst<strong>and</strong> aufgenommen, während die Daten der Anlagen 1 bis 12 von<br />

ForWind stammen und im nahezu Sekundentakt gespeichert wurden. Dabei ist die Zeitspanne der<br />

Daten von Availon (12Monate) um ca. 30% größer als bei den Daten von ForWind (8 Monate).<br />

470


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.3: Übersicht Datensätze der Tabelle SENSORDATEN<br />

3.3 ETL-Prozesse<br />

Im Zuge des Projektverlaufs (siehe Kapitel 2) sind der <strong>Projektgruppe</strong> verrauschte WEA-Sensordaten<br />

von Seiten ForWind und anonymisierte Realdaten von der Availon GmbH zur Verfügung gestellt<br />

worden. Im weiteren Verlauf werden die einzelnen Phasen der jeweiligen Daten innerhalb des ETL-<br />

Prozesses aus technischer Sicht beschrieben. Eine Anwenderbeschreibung in Form eines Benutzerh<strong>and</strong>buches<br />

des ETL-Prozesses für die ForWind Daten ist in Kapitel 4.2 zu finden.<br />

3.3.1 Daten von ForWind<br />

Anmerkung: Die im Folgenden beschriebenen Projektdateien sind in der beigefügten DVD in dem<br />

Ordner „01_ForWind_Phentaho“ zu finden. Dazu zählen die Dateien „ForWind_ Transformation.ktr“,<br />

„ForWind_Job_Transformation.kjb“ und „ForWind_Nummerierung_Alle.ktr“. Des Weiteren<br />

befinden sich die ForWind Daten im Ordner „ForWind_WEA_Daten“.<br />

Im Rahmen des ETL-Prozesses, ist eine Analyse sowie eine anschließend Extraktion und Transformation<br />

der von ForWind gestellten Daten mit Hilfe der Software Pentaho Data Integration CE durchgeführt<br />

worden. Dieses Vorgehen hat zum Ziel gehabt, die im DV-Konzept beschriebenen Kriterien zur<br />

Datenqualität zu erfüllen und einen fehlerfreien Import der Daten in das SAP HANA System zu ermöglichen.<br />

471


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Analyse der Daten<br />

Die Übergabe der Daten ist in Form einer DVD erfolgt mit insgesamt 5,5 GB Daten. Diese haben aus<br />

72 Dateien im Rdata Format und einer Beschreibung der Daten best<strong>and</strong>en. Der Beschreibung konnte<br />

entnommen werden, dass es sich um Sekundendaten von zwölf WEA mit sechs erfassten Attributen, in<br />

einem Zeitraum von ca. acht Monaten h<strong>and</strong>elt. Die Definition der Attribute ist, wie in Tabelle 3.10<br />

aufgeführt, vorgenommen worden.<br />

Name Beschreibung laut ForWind Zielformat<br />

A is the wind direction in º (0º ~ North, 90º ~ East) Windrichtung in Grad<br />

G is the rotational speed of the generator in RPM Generator Drehzahl in RPM<br />

P<br />

is the electrical power output normalized to the<br />

rated power output<br />

T is the timestamp (Unix time) Unix Timestamp<br />

Elektrische Leistungsabgabe in<br />

kW<br />

U is the wind speed measured on the nacelle in m/s Windgeschwindigkeit in m/s<br />

S is the WEC status WEC (Betriebsstatus)<br />

Tabelle 3.10: Attribute der ForWind Daten<br />

Die jeweiligen Daten der Attribute sind wie folgt, jeweils pro WEA, in einer einzelnen Rdata Datei<br />

überreicht worden.<br />

R<strong>and</strong>omized_1_a.Rdata ............ RDATA-Datei ..................... 114.287 KB<br />

R<strong>and</strong>omized_1_g.Rdata ............ RDATA-Datei ..................... 101.813 KB<br />

R<strong>and</strong>omized_1_p.Rdata ............ RDATA-Datei ..................... 101.077 KB<br />

R<strong>and</strong>omized_1_t.Rdata ............ RDATA-Datei ..................... 15.607 KB<br />

R<strong>and</strong>omized_1_u.Rdata ............ RDATA-Datei ..................... 38.278 KB<br />

R<strong>and</strong>omized_1_s.Rdata ............ RDATA-Datei ..................... 114.726 KB<br />

R<strong>and</strong>omized_2_a.Rdata ............ RDATA-Datei ..................... 115.182 KB<br />

….<br />

… …<br />

Weiterhin ist beschrieben worden, dass die Daten mit einer Frequenz von ca. 1Hz gemessen und je<br />

Attribut ca. 20,10^6 Datenpunkte erfasst worden sind. Hierbei haben ca. 25% der Datenpunkte aufgrund<br />

von technischen Problemen gefehlt, wodurch ca. 15,10^6 Datenpunkte vollständig gewesen<br />

sind.<br />

Extraktion der Rdata-Dateien<br />

Um eine Transformation der Daten in Pentaho Data Integration CE zu ermöglichen, sind die Daten<br />

zunächst in ein kompatibles Dateiformat extrahiert worden. Das Rdata Format ist ein, vom Data Mining<br />

Tool R genutztes, Format zur Datenhaltung und nur aus R direkt aufrufbar. Daher ist zunächst R<br />

installiert und folgendes Script ausgeführt worden, um die Daten als ASCII-Textdatei zu extrahieren.<br />

# set the folder where the Rdata files are located<br />

data_folder="/folder/Rdata"<br />

# set the folder where the ASCII files will be saved<br />

472


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

ASCII_folder="/folder/ASCII"<br />

for(m in 1:12)<br />

{<br />

print(m)<br />

load(paste(data_folder,"/R<strong>and</strong>omized_",m,"_a.Rdata",sep=""))<br />

load(paste(data_folder,"/R<strong>and</strong>omized_",m,"_g.Rdata",sep=""))<br />

load(paste(data_folder,"/R<strong>and</strong>omized_",m,"_p.Rdata",sep=""))<br />

load(paste(data_folder,"/R<strong>and</strong>omized_",m,"_s.Rdata",sep=""))<br />

load(paste(data_folder,"/R<strong>and</strong>omized_",m,"_t.Rdata",sep=""))<br />

load(paste(data_folder,"/R<strong>and</strong>omized_",m,"_u.Rdata",sep=""))<br />

write.table(a,file=paste(ASCII_folder,"/R<strong>and</strong>omized_",m,"_a.txt",sep=""),dec<br />

=".",row.names=FALSE,col.names=FALSE)<br />

write.table(g,file=paste(ASCII_folder,"/R<strong>and</strong>omized_",m,"_g.txt",sep=""),dec<br />

=".",row.names=FALSE,col.names=FALSE)<br />

write.table(p,file=paste(ASCII_folder,"/R<strong>and</strong>omized_",m,"_p.txt",sep=""),dec<br />

=".",row.names=FALSE,col.names=FALSE)<br />

write.table(s,file=paste(ASCII_folder,"/R<strong>and</strong>omized_",m,"_s.txt",sep=""),dec<br />

=".",row.names=FALSE,col.names=FALSE)<br />

write.table(t,file=paste(ASCII_folder,"/R<strong>and</strong>omized_",m,"_t.txt",sep=""),dec<br />

=".",row.names=FALSE,col.names=FALSE)<br />

write.table(u,file=paste(ASCII_folder,"/R<strong>and</strong>omized_",m,"_u.txt",sep=""),dec<br />

=".",row.names=FALSE,col.names=FALSE)<br />

}<br />

Nach erfolgreicher Ausführung des Scripts sind alle Rdata Dateien in 72 Textdateien umgew<strong>and</strong>elt<br />

worden, dabei hat sich das Dateivolumen aufgrund der fehlenden Komprimierung von 5.5GB auf<br />

15.9GB erhöht.<br />

R<strong>and</strong>omized_1_a.txt .............. Textdokument .................... 290.232 KB<br />

R<strong>and</strong>omized_1_g.txt .............. Textdokument .................... 262.543 KB<br />

R<strong>and</strong>omized_1_p.txt .............. Textdokument .................... 275.804 KB<br />

R<strong>and</strong>omized_1_s.txt .............. Textdokument .................... 81.898 KB<br />

R<strong>and</strong>omized_1_t.txt .............. Textdokument .................... 201.885 KB<br />

R<strong>and</strong>omized_1_u.txt .............. Textdokument .................... 289.879 KB<br />

Transformation der Daten<br />

Um die bestehenden Daten in das SAP HANA System importieren zu können, mussten folgende Faktoren<br />

durch die Transformation in Pentaho Data Integration CE erfüllt werden:<br />

1. Ausgabe aller Daten in einer Textdatei, dessen Werte per Semikolon getrennt sind.<br />

2. Ein einheitlich beginnender Timestamp für alle 12 WEA.<br />

3. Löschung der kompletten Datensätze, welche Null oder 0 Werte enthalten.<br />

4. Erweiterung der beschriebenen Attribute, um die fehlenden Attribute der SENSORDATEN Datenbanktabelle.<br />

5. Setzen der jeweiligen Anlagennummer.<br />

6. Durchgängige Nummerierung über alle Datensätze hinweg.<br />

473


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

7. Splittung der finalen Ausgabedatei in 400MB Pakete, um eventuelle Timeouts während des<br />

Imports in SAP HANA zu vermeiden.<br />

Die Realisierung dieser Faktoren hat sich dabei in drei Phasen unterteilt: Der Transformationskette,<br />

die Ausführung aller Transformationen mit Hilfe eines Jobs und die anschließende Zusammenführung<br />

der jeweiligen Dateien.<br />

Pentaho Data Integration CE – Transformationskette<br />

Die realisierte Transformationskette wird in Abbildung 3.4 dargestellt und dessen Vorgänge in Tabelle<br />

3.11 näher erläutert.<br />

474<br />

Abbildung 3.4: Pentaho Data Integration CE - Transformationskette<br />

Vorgang Bezeichnung Funktion Beschreibung<br />

1 Einlesen_...._Txt Text file<br />

input<br />

2 Timestamp 1-5 Get Value<br />

From<br />

Sequence<br />

Einlesen der sechs Textdateien, unter der Verwendung<br />

einer Umgebungsvariablen für die WEA<br />

Nummer. Diese muss bei Aufruf der Transformation<br />

gesetzt werden und vermeidet die jeweilige<br />

Änderung des Dateinamens je Transformation.<br />

Beispiel:<br />

R<strong>and</strong>omized_${sensor}_a.txt<br />

Inkrementelle Nummerierung der Datensätze mit<br />

einem neuen Timestamp. Dieser dient als Voraussetzung<br />

für die anschließende Zusammenführung.<br />

3 Sortieren 1-5 Sort rows Sortierung der Datensätze, welche von Seiten Pentaho<br />

Data Integration CE verlangt wird um den


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4 Zusammenführen 1-4 Merge<br />

Join<br />

5 Nummerierung entfernen<br />

Select /<br />

Rename<br />

values<br />

anschließenden Merge Join auszuführen.<br />

Zusammenführung aller Datensätze anh<strong>and</strong> des<br />

zuvor generierten Timestamp auf eine Datenbasis.<br />

Löschung der Timestamp Duplikate, sodass nur<br />

noch ein Timestamp vorh<strong>and</strong>en ist.<br />

6 Sortieren Final Sort rows Erneute Sortierung der Datensätze anh<strong>and</strong> des<br />

Timestamp, dieses dient als Sicherheit um Fehler<br />

in den Folgeschritten auf Grund einer fehlerhaften<br />

Sortierung zu vermeiden.<br />

7 Null / 0 Filter Filter<br />

rows<br />

Löschung der kompletten Datensätze, welche Null<br />

oder 0 Werte enthalten. Die Filterung erfolgt auf<br />

Basis von Bedingungen bspw.: (Windrichtung<br />

CONTAINS [NA] OR Windrichtung = [0])<br />

Alle Werte, welche diese Bedingung nicht erfüllen,<br />

werden an Vorgang 9 weitergegeben und sonst<br />

an Vorgang 8.<br />

8 Papierkorb Dummy Dient als Dummy um die zuvor gefilterten Null<br />

oder 0 Werte aufzunehmen bzw. zu löschen.<br />

9 Tabelle erweitern Add<br />

constant<br />

values<br />

10 Nummerierung Final Get Value<br />

From<br />

Sequence<br />

11 Anlagen ID Setzen Replace in<br />

String<br />

12 Datei Output Text file<br />

output<br />

Pentaho Data Integration CE – Job<br />

Erweiterung der Datensätze um alle aktuell im<br />

Datenmodell enthaltene Attribute bspw. Anlagen_ID,<br />

Blatteinstellwinkel. Diese Werte werden<br />

mit dem Wert 0 gefüllt, somit enthalten die Datensätze<br />

nach dem späteren Import in das SAP<br />

HANA System keine Null Werte. Eventuelle Fehler<br />

durch Null Werte in z.B. Reports werden damit<br />

im Vorfeld vermieden.<br />

Finale inkrementelle Nummerierung der Datensätze.<br />

Setzen der aktuellen Anlagen_ID in allen Datenzeilen,<br />

diese wird der Umgebungsvariable ${sensor}<br />

entnommen.<br />

Export der Daten in eine Textdatei. Die einzelnen<br />

Werte werden dabei durch Semikolons getrennt.<br />

Tabelle 3.11: Erläuterung der Transformationskette<br />

Insbesondere die große Datenmenge führte zu einer langen Bearbeitungszeit der beschriebenen Transformationskette<br />

je WEA. Um diese auch unbeaufsichtigt durchzuführen, ist ein Job angelegt worden,<br />

mit dessen Hilfe alle Transformationen hinterein<strong>and</strong>er ausgeführt werden können, (siehe Abbildung<br />

3.5). Die dort aufgeführten Transformationen rufen jeweils die beschriebene Transformationskette auf<br />

und übergeben die zu transformierende WEA Nummer, in diesem Fall die Nummern 1 bis 12. Weiterhin<br />

werden insgesamt drei E-Mails über den aktuellen Status des Jobs an die hinterlegte E-Mailadresse<br />

versendet.<br />

475


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.5: Pentaho Data Integration CE – Job<br />

Nach erfolgter Durchführung des Jobs ergibt sich folgende Datenstruktur:<br />

file_sensor_1.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_2.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_3.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_4.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_5.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_6.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_7.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_8.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_9.txt ............... Textdokument ....................... ~1.7 GB<br />

file_sensor_10.txt .............. Textdokument ....................... ~1.7 GB<br />

file_sensor_11.txt .............. Textdokument ....................... ~1.7 GB<br />

file_sensor_12.txt .............. Textdokument ....................... ~1.7 GB<br />

Pentaho Data Integration CE – Zusammenführung<br />

Abschließend wurden die aufgeführten Textdateien file_sensor_1.txt bis file_sensor_12.txt zusammengeführt<br />

und durch eine durchgängige, inkrementelle Nummerierung der Sensor_ID ergänzt, (siehe<br />

Abbildung 3.6). Der Export der Daten ist mit Hilfe einer CSV-Datei realisiert worden, welche in mehrere<br />

kleinere 400MB Pakete gesplittet worden ist.<br />

Abbildung 3.6: Pentaho Data Integration CE – Zusammenführung<br />

Die finale Dateistruktur ist wie folgt aufgebaut worden und hat aus insgesamt 45 Dateien best<strong>and</strong>en.<br />

Datensatz_ID2;timestamp;Windgeschwindigkeit;Betriebsstatus;Leistungsabgabe;<br />

Windrichtung;Blatteinstellwinkel;Aussentemperatur;Luftdichte;<br />

Luftfeuchtigkeit;Schwingungssensoren;Turbine_Oelst<strong>and</strong>;Turbine_Oeldruck;<br />

476


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Turbine_Oeltemperatur;Turbine_Spannng;Turbine_Stromstaerke;<br />

Turbine_Frequenz;Generator_Temperatur;Generator_Drehzahl;<br />

Generator_Oeldruck;Generator_Oelst<strong>and</strong>;Generator_Oeltemperatur;<br />

Getriebe_Oeldruck;Getriebe_Oelst<strong>and</strong>;Getriebe_Oeltemperatur;Anlagen_ID2<br />

1; 1325372402; 10.983094885; 24; 0.071375474; 9.838724343; 0; 0; 0; 0; 0;<br />

0; 0; 0; 0; 0; 0; 0; 2.593182187; 0; 0; 0; 0; 0; 0; 1<br />

2; 1325372404; 10.489847487; 26; 0.031822627; 355.985781837; 0; 0; 0; 0; 0;<br />

0; 0; 0; 0; 0; 0; 0; 11.800325198; 0; 0; 0; 0; 0; 0; 1<br />

…<br />

Die Dateien sind anschließende mit Hilfe des SAP HANA Studio in das SAP HANA System importiert<br />

worden. Eine Beschreibung des Importvorgangs ist in Kapitel 4.2 des Benutzerh<strong>and</strong>buches zu<br />

finden.<br />

3.3.2 Daten von Availon<br />

Anmerkung: Die im Folgenden beschriebenen Daten sind in der beigefügten DVD in dem Ordner<br />

„05_Daten_Availon“ zu finden.<br />

Im Rahmen dieses ETL-Prozesses ist eine Analyse und eine geringfügige Anpassung der Daten von<br />

der Availon GmbH vorgenommen worden. Da es sich bei den Daten um einen direkten Datenbankexport<br />

h<strong>and</strong>elt, ist auf eine Extraktion und Transformation mit Hilfe der Software Pentaho Data Integration<br />

CE verzichtet. worden<br />

Analyse der Daten<br />

Die Übergabe der anonymisierten Realdaten ist in Form einer CD erfolgt, mit insgesamt 44 MB Daten.<br />

Diese haben aus zwei CSV-Dateien mit der Bezeichnung Daten WP GE und Daten WP Vestas<br />

best<strong>and</strong>en. Die CSV-Dateien sind von der Struktur her gleich aufgebaut gewesen, haben jedoch Unterschiede<br />

in der Anzahl der Attribute sowie des erfassten Zeitraums aufgewiesen.<br />

Die Datei Daten WP GE beinhaltet 45 Attribute (siehe Tabelle 3.12), dessen Werte aus einem Zeitraum<br />

vom 01.01.2012 bis zum 31.12.2012 gestammt haben. Dagegen hat die Datei Daten WP Vestas<br />

36 Attribute (siehe Tabelle 3.13) in einem kürzeren Zeitraum vom 01.03.2012 bis zum 31.12.2012<br />

aufgewiesen. Alle Werte sind dabei in einem Fünfminutentakt erfasst worden.<br />

Attribute der Datei Daten WP GE<br />

WEA Zeitstempel Zeitstempel Original<br />

Windrichtung [°]<br />

Windgeschwindigkeit mittl. Leistung mittl. [kW]<br />

[m/s]<br />

Blindleistung kapazitiv [kvar] Gondelposition [°] Temp. Gondel [°C]<br />

Temp. Außen [°C] Temp. HSS Generatorseite [°C] Temp. Wellenlager [°C]<br />

Temp. Rotorlager [°C] Temp. Getriebeölsumpf [°C] Temp. Getriebelager A [°C]<br />

Temp. Getriebelager B [°C] Temp. Generator 1 [°C] Temp. Generator 2 [°C]<br />

Temp. Gen. Kühlluft [°C] Temp. Generatorlager A [°C] Temp. Generatorlager B [°C]<br />

Temp. Transformator Phase 1 Temp. Transformator Phase 2 Temp. Transformator Phase 3<br />

477


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

[°C] [°C] [°C]<br />

Blattwinkel 1 [°] Blattwinkel 2 [°] Blattwinkel 3 [°]<br />

Blattwinkel 1 Soll [°] Blattwinkel 2 Soll [°] Blattwinkel 3 Soll [°]<br />

CosPhi CosPhi soll Spannung L1R [V]<br />

Spannung L2S [V] Spannung L3T [V] Strom L1R [A]<br />

Strom L2S [A] Strom L3T [A] Generatorfrequenz [Hz]<br />

Generatordrehzahl mittl. Rotordrehzahl mittl. [min-1] Leistungsschalter Schaltspiele<br />

[min-1]<br />

Hydraulischer Druck [bar] Leistungsreduzierung Metallpartikel<br />

Tabelle 3.12: Attribute Availon WP GE<br />

Attribute der Datei Daten WP Vestas<br />

WEA Zeitstempel Windrichtung [°]<br />

Windgeschwindigkeit min.<br />

[m/s]<br />

Windgeschwindigkeit mittl.<br />

[m/s]<br />

Windgeschwindigkeit max.<br />

[m/s]<br />

Leistung min. [kW] Leistung mittl. [kW] Leistung max. [kW]<br />

Produktionszähler Generator 1 Produktionszähler Generator 2 Bezugszähler [kWh]<br />

[kWh]<br />

[kWh]<br />

Betriebsstundenzähler [h] Gondelposition [°] Temp. Gondel [°C]<br />

Temp. Außen [°C] Temp. Generatorlager A [°C] Temp. Generatorlager B [°C]<br />

Blattwinkel 1 [°] Blattwinkel 2 [°] Blattwinkel 3 [°]<br />

CosPhi Spannung L1R [V] Spannung L2S [V]<br />

Spannung L3T [V] Strom L1R [A] Strom L2S [A]<br />

Strom L3T [A] Generatorfrequenz [Hz] Generatordrehzahl min.<br />

[min-1]<br />

Generatordrehzahl mittl.<br />

[min-1]<br />

Generatordrehzahl max.<br />

[min-1]<br />

Rotordrehzahl min.<br />

[min-1]<br />

Rotordrehzahl mittl. [min-1] Rotordrehzahl max. [min-1] Leistungsreduzierung<br />

Anpassung der Daten<br />

Tabelle 3.13: Attribute Availon WP Vestas<br />

Um die Daten in das SAP HANA System importieren zu können, ist zunächst das Datenmodell erweitert<br />

worden, (siehe Kapitel 3.2). Zusätzlich ist in jeder Datei eine Timestamp Spalte ergänzt worden.<br />

Der Timestamp lässt sich anh<strong>and</strong> des Zeitstempels (DD.MM.YYYY HH:MM) mit folgender Formel in<br />

Microsoft Excel errechnen.<br />

=( (“Zeitstempel”-25569)*86400)-3600<br />

Weiterführend sind mit Hilfe eines Texteditors, bspw. Notepad++, alle enthaltenden Kommas durch<br />

Punkte ersetzt worden. Andernfalls würde das SAP HANA Studio die jeweiligen Attribute, welche<br />

Kommas enthalten, nicht als Zahl sondern als Text erfassen. Ein Import aufgrund der inkompatiblen<br />

Datentypen wäre dementsprechend nicht möglich.<br />

Abschließend ist der Import der beiden Dateien mit Hilfe des SAP HANA Studios erfolgt.<br />

478


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.4 SWF Toolbox<br />

Anmerkung: Die im Folgenden beschriebenen Projektdateien sind in der beigefügten DVD, in dem<br />

Ordner „03_SWF_Toolbox_Source“, zu finden.<br />

Im nachfolgenden Kapitel wird die technische Struktur und die Realisierung der SWF Toolbox erläutert.<br />

Ergänzend ist im Kapitel 4.3 das Benutzerh<strong>and</strong>buch zur SWF Toolbox zu finden, welches die<br />

Oberfläche der Software und dessen Bedienung beschreibt. Zur besseren Verständlichkeit der folgenden<br />

Abschnitte empfiehlt es sich, diese vor ab zu lesen.<br />

Ziel ist es gewesen, eine Software auf Basis der Programmiersprache Java in der Entwicklungsumgebung<br />

Eclipse IDE zu entwickeln, welche sowohl WEA-Daten generieren als auch einen kontinuierlichen<br />

Datenstrom bzw. -transfer dieser in das SAP HANA System simulieren soll.<br />

Auf Grundlage des im DV-Konzept beschriebenen Realisierungskonzepts zur Simulation eines Windparks,<br />

ist die Entwicklung der SWF Toolbox erfolgt. Es wurden alle beschriebenen Funktionen bzw.<br />

Anforderungen realisiert. Hierzu zählen die Funktionen Wetterdaten laden, WEA-Daten generieren<br />

und WEA-Daten übertragen sowie die Realisierung einer Benutzeroberfläche und die Integration einer<br />

VPN Verbindung. Des Weiteren ist insbesondere die Konfigurierbarkeit der zu generierenden Daten in<br />

einem umfangreicheren Rahmen realisiert worden.<br />

3.4.1 Unterstützende Software<br />

Während der Entwicklung ist folgende unterstützende Software verwendet worden:<br />

Name Version Beschreibung<br />

Jave JRE 7 Update 17 -<br />

Eclipse IDE for Java Developers<br />

Juno Service<br />

Release 1<br />

Entwicklungsumgebung für Java.<br />

Mercurial 2.3.1 Versionskontrollprogramm um eine verteilte<br />

Entwicklung zur ermöglichen.<br />

TortoiseHg 2.5 Grafische Oberfläche für Mercurial.<br />

SAP HANA Studio Revision 48 Administrationssoftware für das SAP HANA<br />

System.<br />

OpenVPN Client v1.0.3 VPN-Client zur Verbindung mit dem SAP HA-<br />

NA System.<br />

Tabelle 3.14: Unterstützende Software der SWF Toolbox<br />

479


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.4.2 Programmstruktur<br />

In diesem Kapitel erfolgt die Beschreibung der Programmstruktur der SWF Toolbox, dafür<br />

werden zunächst die Pakete beschrieben und deren Klassen aufgelistet. Danach erfolgt zur<br />

allgemeinen Übersicht eine funktionsorientierte Beschreibung des Klassenmodells. Abschließend<br />

wird ein Überblick über die verwendeten Java Bibliotheken gegeben.<br />

Paketstruktur<br />

Das Programm gliedert sich in 12 Pakete, (siehe Tabelle 3.15). Die Strukturierung der Pakete ist unter<br />

dem Gesichtspunkt der späteren Erweiterbarkeit des Programmes erfolgt. Aus diesem Grund beinhalten<br />

alle Pakete eine allgemeingültige Beschreibung, ungeachtet davon, dass diese vereinzelnd nur eine<br />

Klasse beinhalten.<br />

Paket Beschreibung Klassen<br />

data_streamer<br />

data_generator<br />

vpn_connector<br />

sql_statements<br />

main<br />

gui_layout<br />

gui_tools<br />

480<br />

Dieses Paket beinhaltet alle Klassen, welche<br />

zur Steuerung und Aufbereitung der<br />

zu übertragenden Daten an das SAP HA-<br />

NA System notwendig sind.<br />

Dieses Paket enthält Klassen, welche zum<br />

Laden, Speichern und Verarbeiten der<br />

Daten des Datengenerators benötigt werden.<br />

Dieses Paket enthält die benötigten Klassen,<br />

zum Aufbau einer VPN-Verbindung.<br />

Dieses Paket ist dafür zuständig, alle zum<br />

Einsatz kommenden SQL-Klassen aufzunehmen.<br />

In diesem Paket werden alle Klassen abgelegt,<br />

welche für den Programmstart<br />

notwendig sind.<br />

Die Klassen in diesem Paket beinhalten<br />

den Aufbau der Benutzeroberfläche.<br />

Dieses Paket umschließt alle Klassen für<br />

die Interaktion innerhalb der Benutzeroberfläche<br />

und dient als Ergänzung zu<br />

den Klassen im Paket gui_layout.<br />

Data_Streamer.class<br />

Data_Generator.class<br />

Data_Load_Weather.class<br />

Data_Save.class<br />

Data_Textfile_Output.class<br />

Start_Vpn.class<br />

Sql_Insert.class<br />

Sql_Select.class<br />

Init_Console.class<br />

Init_Logger.class<br />

Main.class<br />

JPanel_Data_Generator.class<br />

JPanel_Datastreamer.class<br />

Panel_Generated_Data.class<br />

JPanel_Status.class<br />

JPanel_Web_Browser.class<br />

JTree_Left_Content.class<br />

SWT_Main_Window.class<br />

JTable_Column_Adjuster<br />

JTable_Operations.class<br />

JTable_Row_Transfer_H<strong>and</strong>ler<br />

JToolbar_Button<br />

JTree_Left_Action_H<strong>and</strong>ler


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

sql_data_h<strong>and</strong>ling Dieses Paket beinhaltet Klassen, welche<br />

statische SQL-Interaktionen ausführen.<br />

data_tools<br />

file_h<strong>and</strong>lings<br />

xml_h<strong>and</strong>lings<br />

sql_connect<br />

Dieses Paket enthält Klassen zur Speicherung<br />

von internen Daten.<br />

Dieses Paket enthält die benötigten Klassen<br />

für den Dateiauswahl-Dialog.<br />

In diesem Paket werden alle Klassen für<br />

das Einlesen von XML-Dateien abgelegt.<br />

Diese Paket beinhaltet alle Klassen mit<br />

dessen Hilfe eine Datenbankverbindung<br />

aufgebaut wird.<br />

Tabelle 3.15: Paketstruktur der SWF Toolbox<br />

Get_Column_List_Sensor.class<br />

Two_Dimension_Arraylist.class<br />

File_Importer<br />

File_Soucre_Chooser.class<br />

File_Target_Chooser.class<br />

XML_Importer_JModel.class<br />

XML_Interface_Reorderable.class<br />

Jdbc_hana_connect.class<br />

Funktionsorientierte Klassenbeschreibung<br />

Das Programm untergliedert sich in folgende Hauptfunktionen:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Programmaufruf<br />

Grafische Benutzeroberfläche erzeugen<br />

OpenVPN Client starten<br />

Datengenerator aufrufen<br />

XML-Konfiguration und Wetterdaten laden<br />

Daten generieren<br />

Generierte Daten speichern<br />

Daten-Streamer öffnen<br />

WEA-Übersicht und generierte Daten laden<br />

Datenübertragung starten<br />

Nachfolgend wird die Beschreibung dieser Funktionen anh<strong>and</strong> der verwendeten Klassen innerhalb des<br />

Funktionsszenarios und deren Beziehungen unterein<strong>and</strong>er. Eine ausführliche Beschreibung der Funktionen<br />

ist im Quellcode dokumentiert.<br />

Des Weiteren wird auf die wiederholte Aufführung der Array-Klasse namens<br />

Two_Dimension_Arraylist (siehe Abbildung 3.7) zur programminternen Datenhaltung verzichtet. Diese<br />

wurde eingesetzt um dynamisch erweiterbare sowie zweidimensionale Arrays zu erzeugen und sind<br />

als Ersatz für die statischen Java-Arrays verwendet worden.<br />

481


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.7:Klassenmodell - „Two_Dimension_Arraylist“<br />

Programmaufruf<br />

Abbildung 3.8: Klassenmodell - Programmaufruf<br />

Der Programmaufruf ist durch Aufruf der Klasse Main erfolgt. Diese ruft zunächst die Klassen<br />

Init_Logger und Init_Console auf.<br />

Die Init_Logger Klasse initialisiert die log4j Bibliothek, welche die Protokollierung der Programmereignisse<br />

übernimmt und sie in einer Textdatei im Ordner logs abspeichert. Weiterhin wird dessen hinterlegte<br />

Konfiguration in der Datei log4j-3.properties ausgelesen. Jene beschreibt wie die Protokollierungseinträge<br />

(Logs) aufgebaut werden sollen, bspw. den Aufbau der Zeitangabe zu Beginn jedes Eintrags.<br />

Im Folgenden ist ein beispielhafter Auszug aus der Log-Datei zusehen.<br />

482


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

2013-03-10 00:55:25,552 INFO [main] main.Init_Logger: Logger wird gestartet<br />

2013-03-10 00:55:25,553 DEBUG [main] main.Init_Logger: Meine Debug-Meldung<br />

2013-03-10 00:55:25,553 INFO [main] main.Init_Logger: Meine Info-Meldung<br />

2013-03-10 00:55:25,553 WARN [main] main.Init_Logger: Meine Warn-Meldung<br />

2013-03-10 00:55:25,554 ERROR [main] main.Init_Logger: Meine Error-Meldung<br />

2013-03-10 00:55:25,554 FATAL [main] main.Init_Logger: Meine Fatal-Meldung<br />

Je Programmaufruf oder nach einem Tag, wird jeweils eine neue Log-Datei angelegt und die alte<br />

Log-Datei mit Angabe des Datums separat abgespeichert.<br />

Die Init_Console initialisiert eine separate Konsole in einem eigenen Fenster, welches zunächst ausgeblendet<br />

wird. Die Konsole überschreibt dabei die St<strong>and</strong>ard Java-Konsole und greift dessen Ausgaben<br />

ab. Das Einblenden der Konsole erfolgt im späteren Verlauf unter der Funktion Datenübertragung<br />

starten.<br />

Abschließend wird die Klasse SWT_Main_Window aufgerufen, welche die grafische Benutzeroberfläche<br />

erzeugt.<br />

Grafische Benutzeroberfläche erzeugen<br />

Abbildung 3.9: Klassenmodell - Grafische Benutzeroberfläche erzeugen<br />

Die Klasse SWT_Main_Window erzeugt unter Verwendung der Smart Widget Toolkit (SWT) Bibliothek<br />

die grafische Benutzeroberfläche. Ergänzend werden die Jgoodies Bibliotheken für das Oberflächendesign<br />

genutzt, (siehe Abbildung 3.10).<br />

483


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.10: SWF Toolbox - Grafische Oberfläche<br />

Die Benutzeroberfläche setzt sich grundlegend aus einem links liegenden TabbedPane (Punkt 1), einem<br />

breiteren rechten TabbedPane (Punkt 2) und einer oberhalb rahmenden Toolbar zusammen<br />

(Punkt 3).<br />

Im linken TabbedPane wird dauerhaft eine Liste der Funktionen in Form eines Tree angezeigt. Im<br />

rechten TabbedPane werden alle funktionsabhängigen Oberflächen in Form von neuen Registerkarten<br />

(im Folgenden als Tabs bezeichnet) angezeigt.<br />

Ferner erfolgt die Integration eines Webbrowser mit Hilfe der Klasse JPanel_Web_Browser im rechten<br />

TabbedPane, die Füllung des linken Tree durch die Klasse JTree_Left_Content und die Erzeugung<br />

der Verbinden Schaltfläche durch die Klasse JToolbar_Button Toolbar.<br />

Der Webbrowser ruft wiederum die HTML-Seite start.html im internen resources Ordner des Programmes<br />

auf. Die Funktionalitäten dieser Seite sind dem Benutzerh<strong>and</strong>buch zu entnehmen.<br />

Abschließend wird unter Verwendung der Klasse JTree_Left_Action_H<strong>and</strong>ler im linken Tree ein action<br />

h<strong>and</strong>ler hinterlegt, welcher durch einen Doppelmausklick die hinterlegten Funktionen Generator<br />

öffnen oder Streamer starten aufruft.<br />

484


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

OpenVPN starten<br />

Abbildung 3.11: Klassenmodell – OpenVPN starten<br />

Wird die Schaltfläche Verbinden (siehe Abbildung 3.10, Punkt 3) betätigt, so wird durch die Klasse<br />

SWT_Main_Window die Klasse Start_Vpn aufgerufen. Start_VPN startet anschließend die Anwendung<br />

OpenVPNPortable.exe, welche sich im Programmordner tools\OpenVPNPortable befindet. Diese ist<br />

für den Aufbau der VPN-Verbindung zum SAP HANA Netzwerk zuständig.<br />

Datengenerator aufrufen<br />

Abbildung 3.12: Klassenmodell - Datengenerator aufrufen<br />

485


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Wird die Funktion Generator öffnen (siehe Abschnitt „Grafische Benutzeroberfläche erzeugen“) aufgerufen,<br />

erzeugt die Klasse JTree_Left_Action_H<strong>and</strong>ler einen neuen Tab im rechten TabbedPane und<br />

initialisiert die Klasse JPanel_Data_Generator.<br />

Die Klasse JPanel_Data_Generator ruft wiederum die Klasse Get_Column_List_Sensor auf, welche<br />

eine JDBC-Verbindung unter Verwendung der Klasse Jdbc_hana_connect zum SAP HANA System<br />

aufbaut. Wurde die JDBC-Verbindung erfolgreich aufgebaut, werden alle verfügbaren Attributnamen<br />

der Datenbanktabelle SENSORDATEN abgefragt und an die Klasse JPanel_Data_Generator übergeben.<br />

Im Anschluss erfolgt der Aufruf der XML_Importer_JModel Klasse, durch die die St<strong>and</strong>ard Konfigurationsdaten<br />

für den Datengenerator aus der Datei generator_config.xml im Programmordner extrahiert<br />

und an die Klasse JPanel_Data_Generator übergeben werden.<br />

Abschließend erfolgt die Erzeugung der Benutzeroberfläche für den Datengenerator durch die Klasse<br />

JPanel_Data_Generator im zuvor erzeugten Tab, (siehe Abbildung 3.13).<br />

Abbildung 3.13: SWF Toolbox - Grafische Oberfläche des Datengenerators<br />

Die Benutzeroberfläche des Datengenerators setzt sich aus einer, oberhalb liegenden, Schaltflächenleiste<br />

(Punkt 1), einem Bereich, in dem im späteren Verlauf die Wetterdatentabelle integriert wird<br />

486


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

(Punkt 2) und einer Fläche, in der die geladenen Konfigurationsdaten in Form einer Tabelle dargestellt<br />

werden (Punkt 3).<br />

Die Bereiche 2 und 3 sind dabei durch einen sogenannten Splitpane getrennt, welcher eine horizontale<br />

Größenänderung dieser durch den Benutzer ermöglicht.<br />

Die Attributnamen der Datenbanktabelle SENSORDATEN werden in einem Auswahlmenü direkt in<br />

den Tabellenzellen der ersten beiden Spalten, der Konfigurationstabelle hinterlegt.<br />

XML-Konfiguration und Wetterdaten laden<br />

Abbildung 3.14: Klassenmodell - XML-Konfiguration und Wetterdaten laden<br />

Durch Betätigen der Schaltflächen Wetterdaten laden oder XML Konfiguration öffnen, (siehe Abbildung<br />

3.13 Punkt 1) wird jeweils durch die Klasse JPanel_Data_Generator ein Dateiauswahldialog mit<br />

Hilfe der Klasse File_Source_Chooser hervorgerufen.<br />

Ist die Auswahl der jeweiligen Datei erfolgt, sind die Klassen Data_Load_Weather und File_Importer<br />

dafür zuständig, die Wetterdaten aus der Datei zu extrahieren und aufzubereiten. Dabei erfolgt unter<br />

<strong>and</strong>erem die Berechnung eines Timestamps aus den enthaltenen Zeitangaben in den Wetterdaten. Das<br />

Einspielen der XML-Konfiguration geschieht analog zum beschriebenen Vorgang unter Abschnitt<br />

„Datengenerator aufrufen“.<br />

Sind die jeweiligen Daten erfolgreich geladen, erfolgt die Ausgabe dieser in der Benutzeroberfläche<br />

innerhalb der dafür vorgesehenen Tabelle, (siehe Abbildung 3.13 Punkt 1 und 2)<br />

Weiterführende Informationen zur Struktur und Aufbau der Dateien sind dem Abschnitt „Ein- und<br />

Ausgabedaten“ sowie der Benutzerdokumentation zu entnehmen.<br />

487


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Daten generieren<br />

Abbildung 3.15: Klassenmodell - Daten generieren<br />

Für die Generation der Daten wird die Schaltfläche Daten generieren betätigt, (siehe Abbildung 3.13<br />

Punkt 1). Daraufhin gibt die Klasse JPanel_Data_Generator die Konfigurationsdaten und Wetterdaten<br />

an die Klasse Data_Generator weiter. In dieser wird die Generierung der Daten und die anschließende<br />

Übergabe an die Klasse JPanel_Generated_Data durchgeführt. Resultierend wird ein neuer Tab im<br />

rechten TabbedPane erzeugt sowie eine Tabelle innerhalb dieses Tabs, in welcher die Daten ausgeben<br />

werden, (siehe Abbildung 3.16). Zusätzlich wird die Funktion „Generierte Daten speichern“ in Form<br />

einer Schaltfläche hinterlegt.<br />

Abbildung 3.16: SWF Toolbox - Grafische Oberfläche der generierten Daten<br />

488


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Generierte Daten speichern<br />

Abbildung 3.17: Klassenmodell - Generierte Daten speichern<br />

Zur Speicherung der bereits generierten Daten, wird die dortige Schaltfläche Speichern betätigt. Resultierend<br />

veranlasst die Klasse JPanel_Generated_Data, die Daten an die Klasse Data_Save zu übergeben,<br />

welche wiederum die Daten für die Speicherung in einer Textdatei aufbereitet und an die Klasse<br />

File_Target_Chooser weiterleitet.<br />

Die Klasse File_Target_Chooser ruft einen Dateiauswahldialog auf, indem die Auswahl des Zielpfades<br />

der Textdatei durch den Benutzer erfolgt. Abschließend erzeugt die Klasse Data_Textfile_Output<br />

im Zielpfade die Textdatei und füllt sie mit den Daten.<br />

Daten-Streamer öffnen<br />

Abbildung 3.18: Klassenmodell - Daten-Streamer öffnen<br />

489


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Wird die Funktion Streamer öffnen (siehe Abschnitt „Grafische Benutzeroberfläche erzeugen“) aufgerufen,<br />

erzeugt die Klasse JTree_Left_Action_H<strong>and</strong>ler einen neuen Tab im rechten TabbedPane und<br />

initialisiert die Klasse JPanel_Datastreamer.<br />

Diese erzeugt die Benutzeroberfläche für den Daten-Streamer, (siehe Abbildung 3.19).<br />

Abbildung 3.19: SWF Toolbox - Grafische Oberfläche des Data-Streamer<br />

Die Benutzeroberfläche des Daten-Streamers setzt sich aus vier Teilen zusammen. Einer, oberhalb<br />

liegenden, Schaltflächenleiste (Punkt 1), einem Bereich, in dem im späteren Verlauf die aktuelle<br />

WEA-Übersicht angezeigt wird (Punkt 2), einen Bereich, der die zu übertragenden Daten beinhalten<br />

wird (Punkt 3) und eine Konfigurationsleiste für die Datenübertragung (Punkt 4).<br />

490


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

WEA-Übersicht und generierte Daten laden<br />

Abbildung 3.20: Klassenmodell - WEA-Übersicht und generierte Daten laden<br />

Durch Betätigen der Schaltfläche Übersicht laden (siehe Abbildung 3.19 Punkt 1) wird durch die<br />

Klasse JPanel_Datastreamer eine JDBC-Verbindung unter Verwendung der Klasse<br />

Jdbc_hana_connect zum SAP HANA System aufgebaut. Ist die JDBC-Verbindung erfolgreich aufgebaut<br />

worden, erfolgt eine SQL Anfrage mit Hilfe der Klasse Sql_Select. Diese wird im Folgenden<br />

beispielhaft dargestellt:<br />

Sql_Select.select_query_rs(con,<br />

"SELECT TOP 200 ANLAGEN_ID , COUNT( ANLAGEN_ID )<br />

AS ZEILEN_ANZAHL , Min (SENSOR_TIMESTAMP) as<br />

MIN_TIMESTAMP MAX (SENSOR_TIMESTAMP) as<br />

MAX_TIMESTAMP, Min(FULLDATE) as MIN_ZEITRAUM, max(FULLDATE) as<br />

MAX_ZEITRAUM<br />

FROM (SELECT * FROM SMARTWINDFARM . SENSORDATEN )<br />

GROUP BY ANLAGEN_ID ORDER BY ANLAGEN_ID ASC" );<br />

Als Ergebnis wird eine Liste der aktuell in der Datenbanktabelle SENSORDATEN enthaltenen WEA,<br />

deren jeweilige Anzahl an Zeilen und deren abgebildeter Zeitraum in Form einer Tabelle ausgegeben,<br />

(siehe Abbildung 3.19 Punkt 2).<br />

Wird die Schaltfläche Daten öffnen betätigt, erfolgt zunächst der Aufruf der Klasse File_Source_Chooser.<br />

Diese erzeugt einen Dateiauswahldialog für die Auswahl der Textdatei, in der die<br />

zu übertragenden Daten enthalten sind. Ist die Auswahl der Textdatei erfolgt, wird diese durch die<br />

Klasse File_Importer ausgelesen und in Form einer Tabelle ausgegeben, (siehe Abbildung 3.19 Punkt<br />

3).<br />

491


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Datenübertragung starten<br />

Abbildung 3.21: Klassenmodell - Datenübertragung starten<br />

Nach erfolgter Eingabe der Ziel WEA-Nummer und der zu übertragenden Datenzeilen in der Konfigurationsleiste<br />

des Daten-Streamers, kann die Betätigung der Schaltfläche Start durch den Benutzer erfolgen.<br />

Ist dies geschehen, leitet die Klasse JPanel_Datastreamer die zu übertragenden Daten sowie<br />

die Konfigurationen an die Klasse Data_Streamer weiter.<br />

Diese baut eine JDBC-Verbindung, unter Verwendung der Klasse Jdbc_hana_connect, zum SAP<br />

HANA System auf. Wurde die JDBC-Verbindung erfolgreich aufgebaut, erfolgt die direkte Datenübertragung.<br />

Der aktuelle Status der Übertragung wird dabei durch die, im Abschnitt „Programmaufruf“<br />

genannte, Konsole realisiert.<br />

Bibliotheken<br />

Name<br />

St<strong>and</strong>ard Widget<br />

Toolkit<br />

Version Funktion<br />

3.65 Bereitstellung von Modulen für die Benutzeroberfläche<br />

Ngdbc 1.00.32 Java Datenbankschnittstelle zum SAP HANA System<br />

JGoodies Common<br />

1.6.0 Gestaltung der Benutzeroberfläche<br />

JGoodies Looks 2.5.3 Gestaltung der Benutzeroberfläche<br />

log4j 1.2.17 Steuerung und Speicherung der Log-Ausgaben<br />

Google Core<br />

Libraries<br />

rs2xml (JDOM<br />

Project)<br />

14.0 Bereitstellung von zahlreichen unterstützenden Funktionen für die<br />

interne Datenverarbeitung.<br />

k.A.<br />

Nutzung der enthaltenen Funktion resultSetToTableModel, weiterer<br />

Funktionsumfang ist nicht ersichtlich.<br />

Tools 1.7 Entstammt der Java JRE Bibliothek, diese musste zur Verwendung<br />

des WEB-Browser direkt eingebunden werden.<br />

492


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.4.3 Programmdaten<br />

Wetterdaten<br />

Die Wetterdaten dienen als Basis der zu generierenden Daten und müssen in Form einer CSV- oder<br />

Textdatei vorliegen. Diese muss folgende acht, per Semikolon getrennte, Attributnamen in erster Reihe<br />

aufweisen:<br />

Datum; Zeit; Temp. A.; Feuchte A.; Luftdruck; Regen; Wind; Richtung<br />

Nach einem Zeilenumbruch folgt die Angabe der dazugehörigen Werte. Diese sind ebenfalls per Semikolon<br />

zu trennen und mit einem Zeilenumbruch abzuschließen. Die Angabe des Datums und der<br />

Uhrzeit muss erfolgen und folgendes Schema aufweisen:<br />

TT.MM.JJJJ ; HH:MM<br />

Attribute ohne Werte sind mit einer 0 in den jeweiligen Datenzeilen zu hinterlegen. Zum Beispiel:<br />

Datum; Zeit; Temp. A.; Feuchte A.; Luftdruck; Regen; Wind; Richtung<br />

01.01.2007;00:00;7.6;94;0;0;15.6;285<br />

XML-Konfiguration<br />

Die XML-Konfiguration dient der permanenten Konfiguration des Datengenerators und muss folgendem<br />

XML-Schema entsprechen:<br />

<br />

<br />

<br />

…<br />

…<br />

…<br />

…<br />

…<br />

…<br />

<br />

<br />

…<br />

<br />

Eine ausführlichere Beschreibung zum Aufbau der XML ist der Benutzerdokumentation zu entnehmen.<br />

Generierte Daten<br />

Die generierten Daten werden in Form einer Textdatei ausgegeben, dessen Grundstruktur ist äquivalent<br />

zur Wetterdaten-Textdatei. Die angegebenen Attributnamen müssen gleich der Attributnamen in<br />

der Datenbanktabelle sein. Zum Beispiel:<br />

SENSOR_ID;SENSOR_TIMESTAMP;AUSSENTEMPERATUR;LUFTFEUCHTIGKEIT;<br />

493


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.4.4 Projektordnerstruktur<br />

Die Ordnerstruktur des Projektes ist wie folgt gegliedert:<br />

SWF_Toolbox Ordner<br />

-.settings Ordner Eclipse IDE Einstellungen<br />

-bin Ordner Class-Dateien<br />

-icons Ordner Verwendete Icons<br />

-lib Ordner Bibliotheken<br />

-logs Ordner Log-Dateien<br />

-- MeineLogDatei.log Datei Aktuelle Log-Datei<br />

-resources Ordner<br />

--images Ordner Bilder für die Willkommensseite<br />

--reports Ordner SWF Microsoft Excel Reports<br />

--start.html Datei Willkommens-HTML-Seite<br />

-src Ordner Java Klassen<br />

-tools Ordner<br />

-- OpenVPNPortable Ordner VPN Client Applikation<br />

-.classpath Datei Klassenpfade<br />

-.project Datei Projekteinstellungen<br />

-generator_config.xml Datei XML-Konfigurationsdatei<br />

-log4j-3.properties Datei Log4j Konfiguration<br />

3.5 Data Mining<br />

Für das Data Mining setzt die Teilgruppe das SAP HANA System in Kombination mit R ein. Diese<br />

Entscheidung ist darin begründet, dass SAP bisher für Data Mining Zwecke R empfahl und die Physiker<br />

von ForWind bereits Erfahrungen im Umgang mit R besitzen und somit evtl. Algorithmen übernommen<br />

werden können.<br />

Für die Umsetzung des DV-Konzepts wurden zunächst einfache Data Mining Beispiele unabhängig<br />

von den Windenergiedaten getestet (siehe Kapitel 4.4). Anschließend wurde innerhalb der Windenergiedaten<br />

nach Mustern gesucht. Zunächst lagen der <strong>Projektgruppe</strong> lediglich die Daten von ForWind<br />

mit sechs Attributen vor: Timestamp, Windgeschwindigkeit (in m/s), Windrichtung, Leistungsabgabe,<br />

Generator Drehzahl sowie Betriebsstatus. Da der genaue Inhalt des Betriebsstatus unbekannt war und<br />

lediglich bekannt, dass die Werte zwischen 0 und 25 liegen, wurde zunächst eine Regression für das<br />

Attribut Betriebsstatus durchgeführt. Hierfür wurden die folgenden zwei Prozeduren in SAP HANA<br />

angelegt:<br />

DROP PROCEDURE smartwindfarm.classification;<br />

CREATE PROCEDURE smartwindfarm.classification(IN windfarm_data SMARTWIND-<br />

FARM.sensordaten, OUT result SMARTWINDFARM.results)<br />

LANGUAGE RLANG AS<br />

BEGIN<br />

#Workspace festlegen<br />

setwd("/tmp/rtest")<br />

494<br />

#Variablendefinition<br />

Sensor_timestamp = as.numeric(windfarm_data$SENSOR_TIMESTAMP)


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Windgeschwindigkeit = as.numeric(windfarm_data$WINDGESCHWINDIGKEIT)<br />

Windrichtung = as.numeric(windfarm_data$WINDRICHTUNG)<br />

Leistungsabgabe = as.numeric(windfarm_data$LEISTUNGSABGABE)<br />

Generator_Drehzahl = as.numeric(windfarm_data$GENERATOR_DREHZAHL)<br />

Betriebsstatus = as.numeric(windfarm_data$BETRIEBSSTATUS)<br />

#Nutze Package Cairo zur Darstellung der Ergebnisse<br />

require(Cairo)<br />

# Nutze Package rpart für Data Mining<br />

require(rpart)<br />

#Baum erzeugen. Als method wurde "class", dh Klassifikation gewählt<br />

fit


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Daher wurden unterschiedlich große Datenmengen getestet. Bei 200 Datensätzen wird zwar ein Diagramm<br />

erstellt wird (siehe Abbildung 3.23), dieses ist jedoch aufgrund der geringen Datenmenge nicht<br />

aussagekräftig. Bei größeren Datenmengen wird ebenfalls primär über den Sensor_timestamp zugeordnet.<br />

Da dieser keine Aussagekraft über den Status besitzt sondern nur die aktuelle Zeit angibt, wurde<br />

das Attribut aus der Regression entfernt. Anschließend war es nicht mehr möglich, ein gültiges<br />

Modell zu erstellen. Der Status kann somit nicht über die vier Attribute Windgeschwindigkeit, Windrichtung,<br />

Leistungsabgabe und Generator_Drehzahl vorhergesagt werden.<br />

Abbildung 3.23: Entscheidungsbaum für Status für 200 Datensätze<br />

Seit dem 26.02.2013 liegen der <strong>Projektgruppe</strong> weitere WEA-Daten von der Availon GmbH vor. Zunächst<br />

wurde ein triviales Beispiel getestet: Die Vorhersage der durchschnittlichen Leistung über die<br />

Windgeschwindigkeit. Hierfür wurden obigen Prozeduren folgendermaßen angepasst:<br />

DROP PROCEDURE smartwindfarm.classification;<br />

CREATE PROCEDURE smartwindfarm.classification(IN windfarm_data SMARTWIND-<br />

FARM.sensordaten, OUT result SMARTWINDFARM.results)<br />

LANGUAGE RLANG AS<br />

496


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

BEGIN<br />

#Workspace festlegen<br />

setwd("/tmp/rtest")<br />

#Variablendefinition<br />

Windgeschwindigkeit = as.numeric(windfarm_data$WINDGESCHWINDIGKEIT)<br />

Leistung_mittl = as.numeric(windfarm_data$LEISTUNG_MITTL)<br />

#Nutze Package Cairo zur Darstellung der Ergebnisse<br />

require(Cairo)<br />

# Nutze Package rpart für Data Mining<br />

require(rpart)<br />

#Baum erzeugen. Als method wurde "class", dh Klassifikation gewählt<br />

fit


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.24: Entscheidungsbaum Windgeschwindigkeit<br />

In weiteren testweisen Analysen wurden keine relevanten Ergebnisse ermittelt. In zukünftigen Projekten<br />

ist dieser Bereich daher stark ausbaubar.<br />

Seit der Version SPS 05 bietet SAP HANA Data Mining innerhalb des Tools selbst an. Hierfür steht<br />

die Predictive Analytics Library (PAL) zur Verfügung. Diese bietet die gängigsten Data Mining Methoden,<br />

welche innerhalb der SQL Skripte aufgerufen werden können. Bisher werden sechs Data Mining<br />

Kategorien unterstützt: Clusterig, Klassifikation, Assoziation, Zeitreihen, Vorverarbeitung und<br />

Sonstiges. Um PAL nutzen zu können, werden die Application Function Libraries (AFL) benötigt<br />

(SAP 2013). Da diese der <strong>Projektgruppe</strong> nicht zur Verfügung st<strong>and</strong>en und erst gegen Ende der Projektphase<br />

veröffentlicht wurde und somit nicht beantragt werden konnte, wurde PAL von der <strong>Projektgruppe</strong><br />

nicht eingesetzt. Für zukünftige Projekte ist diese Library jedoch sehr interessant und könnte<br />

dem gewünschten Data Mining Umfang entsprechen. Vorteil der PAL im Gegensatz zu R sind zum<br />

einen die Geschwindigkeit, da die Daten nicht transferiert werden müssen, und zum <strong>and</strong>eren die direkte<br />

Anzeigbarkeit der Ergebnisse, was das Darstellungsproblem aus R löst. Zudem treten vermutlich<br />

keine Timeout Probleme auf, sodass alle Daten untersucht werden können. Die Nachteile von PAL<br />

sind ein geringerer Funktionsumfang und niedrigere Anpassbarkeit. Die Vor- und Nachteile müssen<br />

daher für zukünftige Projekte abgewogen werden.<br />

498


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.6 Reporting<br />

Im nachfolgenden Kapitel wird die technische Realisierung der Reporting-Lösungen der Windenergiedaten,<br />

in Verbindung mit SAP HANA, beschrieben. Ergänzend sind im Kapitel 4 die jeweiligen<br />

Benutzerh<strong>and</strong>bücher zu finden, welche die Oberfläche der Applikationen und dessen Bedienung beschreibt.<br />

3.6.1 Microsoft Excel<br />

Anmerkung: Die im Folgenden beschriebene Microsoft Excel Datei namens SmartWindFarm.xlsx, ist<br />

in der beigefügten DVD in dem Ordner „04_Excel_Reporting“ zu finden.<br />

Microsoft Excel bietet in Kombination mit SAP HANA eine schnelle und komfortable Lösung Reports<br />

in Form von Diagrammen, Tabellen und Pivot-Tabellen umzusetzen.<br />

Auf Grundlage des im DV-Konzept beschriebenen Konzepts Analysen und Reporting – Microsoft<br />

Excel, ist die Realisierung mehrerer Reports innerhalb einer Excel-Datei erfolgt. Die Realisierung ist<br />

in die drei Bereiche Systemvorbereitung, Datenbeschaffung und Datenvisualisierung aufgeteilt worden,<br />

welche im Folgenden aus technischer Sicht erläutert werden.<br />

Systemvorbereitung<br />

Um eine Verbindung zwischen Microsoft Excel und SAP HANA zu ermöglichen, ist eine ODBC-<br />

Verbindung in Microsoft Excel eingerichtet worden. Dies ist durch Anlegen einer Verbindung im<br />

ODBC Data Source Administrator von Microsoft Windows erfolgt, (siehe Abbildung 3.25).<br />

Abbildung 3.25: ODBC Data Source Administrator – SAP HANA Verbindung<br />

499


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Datenbeschaffung<br />

Die Datenbeschaffung aus SAP HANA ist durch Aufruf des jeweiligen SQL-Befehls in Microsoft<br />

Excel erfolgt. Hierzu ist, wie auf folgender Abbildung zu sehen, im Reiter Daten die Schaltfläche Aus<br />

<strong>and</strong>ern Quellen betätigt und dort der Eintrag Von Microsoft Query ausgewählt worden. Im sich öffnenden<br />

Menü ist die erstellte ODBC-Verbindung aufgelistet. Nach erfolgreicher Auswahl konnten,<br />

wie auf Abbildung 3.27 zu sehen, die verschiedenen Spalten der unterschiedlichen Tabellen des SAP<br />

HANA Systems ausgewählt und eine SQL-Abfrage mittels GUI erstellt werden (siehe Abbildung<br />

3.28).<br />

Abbildung 3.26: Excel Verbindung zu SAP HANA herstellen<br />

Abbildung 3.27: Excel - Tabellen- und Spaltenauswahl<br />

500


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.28: Excel - Abfrage-Assistent<br />

Die mittels des SQL-Befehls angefragten Daten sind im SAP HANA System verarbeitet worden und<br />

ausschließlich die Ergebnisse der Analyse sind an Microsoft Excel zurückgegeben worden. Die SQL-<br />

Anfrage konnte, wie in Abbildung 3.29 zu sehen, auch nachträglich angepasst oder durch eine <strong>and</strong>ere<br />

ersetzt werden. Diese Ergebniswerte sind dann, wie auf Abbildung 3.30 zu sehen, als Tabelle dargestellt<br />

worden.<br />

Abbildung 3.29: Excel – SAP HANA Verbindung (Query zum Report 1)<br />

501


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.30: Excel – SAP HANA Ergebnistabelle<br />

Datenvisualisierung<br />

Die Datenvisualisierung ist in Form von drei Berichten realisiert worden, welche unter<strong>and</strong>erem, Pivot-<br />

Tabellen und verschiedene Diagramme genutzt haben. In Abbildung 3.31 wird beispielhaft der Bericht<br />

zur „Durchschnittliche Leistungsabgabe, Windgeschwindigkeit und Generatordrehzahl der Anlage 30<br />

für Mai 2012“ dargestellt.<br />

502


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.31: Excel – Bericht<br />

Alle Berichte basieren auf einer in der Microsoft Excel Datei hinterlegten SQL-Abfrage, beispielhaft<br />

wird im Folgenden die SQL-Abfrage für den unter Abbildung 3.31 gezeigten Bericht aufgeführt.<br />

SELECT<br />

TO_DATE(ADD_SECONDS(TO_TIMESTAMP ('1970-01-01 00:00:00'), "SEN-<br />

SOR_TIMESTAMP"))<br />

as "Monat",<br />

round(avg("GENERATORDREHZAHL_MITTL"),2)<br />

as "Generatordrehzahl",<br />

round(avg("LEISTUNG_MITTL"),2) as "Leistungsabgabe",<br />

round(avg("WINDGESCHWINDIGKEIT"),2) as "Windgeschwindigkeit"<br />

FROM "SMARTWINDFARM"."SENSORDATEN"<br />

WHERE "ANLAGEN_ID" = 30 <strong>and</strong> MONTH(TO_DATE(ADD_SECONDS(TO_TIMESTAMP ('1970-<br />

01-01 00:00:00'), "SENSOR_TIMESTAMP"))) = 5<br />

GROUP BY TO_DATE(ADD_SECONDS(TO_TIMESTAMP ('1970-01-01 00:00:00'), "SEN-<br />

SOR_TIMESTAMP"))<br />

ORDER BY TO_DATE(ADD_SECONDS(TO_TIMESTAMP ('1970-01-01 00:00:00'), "SEN-<br />

SOR_TIMESTAMP"))<br />

Weiterhin ist ein Bericht über die durchschnittliche Leistungsabgabe und Windgeschwindigkeit pro<br />

Monat und die durchschnittliche Leistungsabgabe und Windgeschwindigkeit nach Gondelposition<br />

angelegt worden. Diese sind in der Benutzerdokumentation in Form einer Abbildung aufgeführt.<br />

503


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

3.6.2 SAP UI5<br />

Anmerkung: Das im Folgenden beschriebene Projekt ist in der beigefügten DVD in dem Ordner<br />

„02_SAP_UI5_Webanwendung“ zu finden.<br />

Mit Hilfe von SAP UI5 ist eine webbasierte Anwendung zur Analyse und Reporting von Windenergieanlagen<br />

durch die Teilgruppe realisiert worden.<br />

Ziel ist es gewesen, eine dynamische und betriebssystemunabhängige Webanwendung zu entwickeln,<br />

wodurch u.a. verschiedene Eigenschaften der einzelnen WEA sowie zahlreiche Reports auf Basis der<br />

aktuellen Daten im SAP HANA System dargestellt werden können.<br />

Auf Grundlage des Kapitels Analyse und Reporting – SAP UI5 im DV Konzept ist die Realisierung<br />

der Hauptkomponenten Monitor, Log und Reporting erfolgt. Die Data-Mining ist nicht realisiert worden.<br />

Zu Anfang erfolgte zunächst die Einarbeitung in UI5 und die damit verbundenen Technologien, wozu<br />

HTML/HTML5, Cascading Stylesheets (CSS/CSS3), JavaScript und OData zählen. Das SAP HANA<br />

Studio hat dabei als Entwicklungsumgebung fungiert, in der eine Repository für die Projektdateien<br />

angelegt worden ist. Diese Repository stellt ein Versionskontrollsystem dar, dessen aktuellster Versionsstrang<br />

immer automatisch produktiv gesetzt worden ist, d.h. direkt per Webadresse erreichbar ist.<br />

Nachstehend werden die Projektstruktur, die eingesetzten Bibliotheken sowie eine funktionsorientierte<br />

Beschreibung der Webanwendung erläutert. Weiterhin sind im Quelltext die jeweiligen Funktionen<br />

und deren Aktionen kommentiert bzw. dokumentiert.<br />

Alle Elemente der grafischen Oberfläche werden in der Benutzerdokumentation im Kapitel 4.5 ausführlich<br />

beschrieben.<br />

504


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Projektstruktur<br />

Das Projekt trägt den Namen swfm_ui5, besteht aus mehreren Komponenten und ist mit mehreren<br />

Technologien implementiert worden. Folgende Tabelle gibt die Projektstruktur und dessen Inhalte<br />

wieder.<br />

Ordner Beschreibung Inhalt<br />

Css Dieser Ordner beinhaltet CSS/CSS3 Dateien swf_layout.css<br />

für die Gestaltung der Webanwendung<br />

elements<br />

Imgs<br />

services<br />

javascript<br />

Bibliotheken<br />

In diesem Ordner sind alle dynamischen<br />

HTML-Inhalte in Form von Textdatei hinterlegt.<br />

In diesem Ordner sind alle verwendeten Bilder<br />

innerhalb der Webanwendung hinterlegt.<br />

Dieser Ordner enthält alle definierten OData-Services.<br />

In diesem Ordner werden alle JavaScript<br />

Funktionen abgelegt.<br />

Tabelle 3.16: Projektstruktur SAP UI5 Webanwendung<br />

content_datamining.txt<br />

content_home.txt<br />

content_repo.txt<br />

filter.txt<br />

Alarm-Error-icon.png<br />

Alarm-Tick-icon.png<br />

Alarm-Warning-icon.png<br />

Apps-clock-icon.png<br />

Apps-kchart-icon.png<br />

Apps-kformula-icon.png<br />

…<br />

log1.xsodata<br />

reporting1.xsodata<br />

reporting2.xsodata<br />

reporting3.xsodata<br />

reporting4.xsodata<br />

chart1.js<br />

chart2.js<br />

chart3.js<br />

chart4.js<br />

extrafunctions.js<br />

menu.js<br />

monitor_detail.js<br />

reporting.js<br />

sapui5_log.js<br />

spin.js<br />

Neben den bereits nativen integrierten Bibliotheken, bspw. die JQuery JavaScript-Bibliothek, ist für<br />

die grafische Darstellung von Diagrammen die JavaScript-Bibliothek der Firma Highcharts in der<br />

Version 3.0.0 verwendet worden.<br />

505


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Funktionsorientierte Beschreibung<br />

Der Aufruf der SAP UI5 Webanwendung erfolgt über die index.html. Die Struktur der index.html entspricht<br />

der einer St<strong>and</strong>ard HTML-Seite. Im die CSS-Datei, die JavaScript-Funktionen und –<br />

Bibliotheken eingebunden bzw. definiert.<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Im anschließenden body-Tag wird das Layout der Webanwendung beschrieben, das sich in die drei<br />

Hauptelemente Top-Leiste, Menü und Content-Block unterteilt.<br />

<br />

<br />

…<br />

<br />

<br />

…<br />

<br />

<br />

…<br />

<br />

<br />

Innerhalb der Hauptelement wird der Aufbau der grafischen Oberfläche definiert sowie die jeweiligen<br />

aufzurufenden JavaScript Funktionen bei einer Interaktion durch den Benutzer. Abbildung 3.32 zeigt<br />

die aufgerufene index.html, dabei wird Punkt 1 durch das Element Top-Leiste beschrieben, Punkt 2<br />

durch das Element Menü und Punkt 3 durch das Element Content-Block.<br />

506


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.32: SAP UI5 - Hauptseite<br />

Im Element Top-Leiste wird die Funktion updateClock() genutzt, um die aktuelle Zeit zu berechnen.<br />

Weiterhin dient die Funktion dimmenu(obj, status) der Darstellung von aktiven bzw. inaktiven Schaltflächen,<br />

bspw. MONITOR. inaktive Schaltflächen werden mit einer Undurchsichtigkeit von 70% dargestellt.<br />

Wird eine der vier Schaltflächen im Element Content-Block betätigt, erfolgt mit Hilfe der Funktion<br />

selmenu(obj) die dynamische Generierung des Inhalts. Dabei werden die, für die Schaltfläche definierten,<br />

Funktionen ausgeführt und der Inhalt im Content-Block generiert.<br />

Durch betätigen der Schaltfläche MONITOR wird der bisherige Inhalt im Content-Block durch eine<br />

Liste von Anlagen des Windparks incl. deren aktuellen Status (OK, WARNING, ERROR) ersetzt (siehe<br />

Abbildung 3.33).<br />

Weiterhin wird das Element Menü um die zuvor im Content-Block enthaltenden Schaltflächen ergänzt.<br />

507


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.33: SAP UI5 - Monitor<br />

Erfolgt die Auswahl einer der Anlagen in der Liste, wird die Funktion filter(obj) ausgeführt, um den<br />

passenden Inhalt für das ausgewählte Windrad im zentralen Content-Block zu laden. Der neue Inhalt<br />

besteht dabei aus einer Übersicht von aktuellen Attributen des WEA, bspw. Windrichtung oder Status.<br />

Der Aufruf der Schaltfläche LOG (Lupe + Blatt Icon) in der linken Leiste ruft die Funktion sapui5_log()<br />

auf. Dessen Aufgabe ist die Generierung einer Log-Tabelle mit Hilfe eines SAP UI5<br />

Widget. Die Log-Tabelle enthält alle aktuellen Fehlermeldungen der abgebildeten WEA, (siehe Abbildung<br />

3.34).<br />

508


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 3.34: SAP UI5 - Log<br />

Wird die Reporting Schaltfläche (Diagramm Icon) betätigt, wird eine Liste der aktuell verfügbaren<br />

Berichte im Content-Block angezeigt. Durch Auswahl einer der Berichte, setzt die Funktion reporting(obj)<br />

einen Filter, um die passende Chart-Funktion (chart1(), chart2(), chart3() oder chart4()) zu<br />

starten.<br />

Die Funktionen chart1(), chart2(), chart3() und chart4() dienen zur Darstellung der einzelnen Berichte.<br />

Zunächst wird das Ladefenster angezeigt und der Abruf der Daten aus SAP HANA gestartet. Sobald<br />

die Daten geladen sind, wird die Darstellung generiert und im zentralen Content-Block geladen.<br />

Die jeweiligen Diagramme werden mit Hilfe der JavaScript-Bibliothek der Firma Highcharts dargestellt.<br />

509


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4 Benutzerh<strong>and</strong>bücher<br />

In diesem Kapitel sind die Benutzerh<strong>and</strong>bücher zu den verschieden Programmen und Tools des dritten<br />

Kapitels aufgeführt. In den Benutzerh<strong>and</strong>büchern sind die einzelnen Funktionen der betreffenden Programme<br />

erläutert, um den Lesern die Verwendung zu erleichtern.<br />

4.1 SAP HANA Studio<br />

Das HANA Studio Benutzerh<strong>and</strong>buch gibt Ihnen einen Überblick über die Grundfunktionen von HA-<br />

NA und deren Bedienung. Es umfasst unter <strong>and</strong>erem grundlegende Dinge, wie das Einrichten der<br />

Software selbst, das Erstellen von Datenbanken und Datenbanktabellen ebenso wie speziellere Funktionen<br />

wie dem Erstellen der verschiedenen Views und Trigger. Außerdem enthält es eine Beschreibung<br />

wie das HANA Studio zum SAP UI5 Developer-Studio erweitert werden kann.<br />

Voraussetzungen und Anforderungen<br />

Element<br />

Betriebssystem:<br />

Sonstiges:<br />

Mindestanforderungen<br />

Windows<br />

Administratorrechte<br />

SAP HANA VPN Anmeldedaten<br />

Tabelle 4.1: Voraussetzungen<br />

4.1.1 HANA Studio einrichten<br />

Nach der Installation müssen Sie das HANA System hinzufügen. Hierzu muss, wie in folgender Abbildung<br />

zu sehen, mit der Maus im Navigator-Feld das Kontext-Menü geöffnet werden. Dort können<br />

Sie mittels Mausklick auf den Add System… ein System hinzufügen (siehe Abbildung 4.1).<br />

510


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.1: HANA Studio - System hinzufügen<br />

In dem auf Abbildung 4.2 zu sehenden Fenster müssen noch die benötigten Daten, wie z. B. Hostname<br />

und Instanz-Nummer des HANA Systems eingegeben werden. Anschließend erfolgt die Eingabe des<br />

Benutzername und des Passworts.<br />

Abbildung 4.2: HANA Studio - Add System<br />

511


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.1.2 Datenbank anlegen<br />

Neben der Möglichkeit, eine Datenbank mittels SQL-Befehls zu erstellen, kann auch eine Datenbank<br />

erstellt werden, indem Sie mittels des Kontextmenüs die Funktion neue Tabelle anlegen auswählen,<br />

siehe Kapitel 4.1.3. Während des Anlegens der Tabelle kann, wie auf folgender Abbildung zu sehen,<br />

ein neues Schema angelegt werden.<br />

Der SQL-Befehl könnt wie folgt aussehen:<br />

Abbildung 4.3: HANA Studio - neues Schema anlegen<br />

create schema "SWF_PLATTFORM";<br />

4.1.3 Tabelle anlegen<br />

Eine Tabelle kann ebenfalls entweder mit Hilfe eines SQL-Create-Befehls oder mittels GUI angelegt<br />

werden.<br />

SQL<br />

CREATE COLUMN TABLE "SWF_PLATTFORM"."Anlage" ("ANLAGEN_ID" INTEGER NOT<br />

NULL,<br />

"ANLAGENTYP_ID" INTEGER,<br />

"ANBIETER_ID" INTEGER,<br />

"ANLAGE_TIMESTAMP" Timestamp,<br />

"BEZEICHNUNG" VARCHAR(30),<br />

"STANDORT" VARCHAR(200),<br />

PRIMARY KEY ("ANLAGEN_ID"));<br />

GUI<br />

Hierzu müssen Sie mit der rechten Maustaste die Datenbank auswählen, in der die neue Tabelle angelegt<br />

werden soll. Anschließend muss, wie auf folgender Abbildung zu sehen, „New Table“ ausgewählt<br />

werden.<br />

512


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.4: HANA Studio - neue Tabelle anlegen<br />

Nun öffnet sich ein Fenster, in dem der Name der Tabelle eingegeben werden kann. Dabei kann auch<br />

die Datenbank, in der die Tabelle angelegt werden soll, noch geändert werden. Für die Tabelle muss<br />

einer der folgenden drei verschiedenen Typen ausgewählt werden: Row Store, Column Store und Table<br />

Type. Der Row Store entspricht der traditionellen Datenbank-Modellierung, während der Column<br />

Store die neue spaltenbasierende Datenhaltung implementiert. Table Type ist speziell für selten genutzte<br />

Daten. Die Daten werden bei diesem Typ nicht im Arbeitsspeicher vorgehalten, sondern auf der<br />

Festplatte gespeichert. Für die beste Performance sollte daher an dieser Stelle der Typ Column Store<br />

gewählt werden.<br />

Das Anlegen der einzelnen Spalten erfolgt analog zu traditionellen Datenbanken (siehe Abbildung<br />

4.5).<br />

Abbildung 4.5: HANA Studio - Spalten anlegen<br />

Zum Ausführen des Create-Statements müssen Sie den Button Execute bzw. F8 drücken.<br />

4.1.4 Spalten umbenennen<br />

Das umbenennen von bereits erstellten Tabellen ist mittels der GUI zurzeit nicht möglich. Hierzu<br />

muss ein SQL-Befehl genutzt werden. Der SQL-Befehl hat folgenden Aufbau:<br />

RENAME COLUMN “Tabellenname”.”Alter_Spalten_Name“ TO „Neuer_Spalten_Name“;<br />

513


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Beim Umbenennen muss jedoch beachtet werden, dass sofern der Datentyp oder die Größe verändert<br />

werden soll, einige Einschränkungen bestehen, sofern die Spalte bereits Daten enthält. So kann kein<br />

NOT NULL eingefügt werden sofern leere-Felder vorh<strong>and</strong>en sind. Des Weiteren kann, um Datenverlust<br />

vorzubeugen, die Größe eines Datentyps nicht reduziert werden.<br />

4.1.5 Tabelle befüllen<br />

Zum Füllen der Tabelle gibt es, wie auf folgender Abbildung zu sehen, zwei verschiedene Möglichkeiten.<br />

Zum einen können Sie die Daten mittels SQL-Insert-Statement zum <strong>and</strong>eren mit Hilfe eines Daten-Imports<br />

in die Datenbanktabelle laden.<br />

Abbildung 4.6: HANA Studio - Tabelle befüllen<br />

4.1.6 Analysen erstellen<br />

Die Analysen werden mittels Views implementiert. Bevor eine View erstellt werden kann, muss ein<br />

Package angelegt werden, in dem die Views abgespeichert werden können. Zum Erstellen eines Package<br />

muss mit rechter Maustaste auf Content geklickt werden. Anschließend kann unter New ein neues<br />

Package angelegt werden (siehe Abbildung 4.7).<br />

514


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.7: HANA Studio - neues Package erstellen<br />

Es gibt drei Arten von Views: Analytic View, Attribute View und Calculation View. Um eine der<br />

Views anzulegen, muss auf das jeweilige Package geklickt werden. Danach kann, wie in folgender<br />

Abbildung zu sehen, im Kontextmenü unter New die gewünschte View Art ausgewählt werden.<br />

Abbildung 4.8: HANA Studio - Anlegen einer View<br />

Die Unterschiede der verschiedenen Views werden im Folgenden erläutert.<br />

Analytic View<br />

Im Analytic View können Berechnungen und Aggregationen durchgeführt werden. Analytic Views<br />

basieren auf der Struktur eines Star Schemas und können auf Dimensionstabellen zugreifen. Analytic<br />

Views werden unter <strong>and</strong>erem dafür genutzt, um mehrere Attribute Views per Join mitein<strong>and</strong>er zu verbinden.<br />

Analytic Views nutzen die Rechenleistung von SAP HANA, um aggregierte Daten zu berechnen. Sie<br />

werden auf mindestens einem Fact Table definiert, d.h. einer Tabelle, die Daten in Form von Geschäftsfällen<br />

(Transaktionen) beinhaltet. Analytic Views können wahlweise auf einer einzelnen oder<br />

mehreren Tabellen erstellt werden. Innerhalb von Analytic Views sind zwei Arten von Attributen<br />

(Spalten) erlaubt: Measures und Key Figures. Measures sind Attribute, für die eine Aggregation definiert<br />

werden muss (z.B. in SQL SUM, MIN, MAX). Key Figures sind konkrete Zahlen, z.B. Typen,<br />

Einheiten oder Größen (SAP Database – Development Guide 2012).<br />

515


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Zuerst kann ein Name und eine Beschreibung für die View eingegeben werden (siehe Abbildung 4.9).<br />

Danach müssen die verschiedenen Tabellen, auf welche die View zugreifen soll, ausgewählt werden<br />

(siehe Abbildung 4.10). Anschließend können noch zusätzliche Attribute Views angegeben werden<br />

(siehe Abbildung 4.11). Die Tabellen und Attribute Views können auch nach dem Erstellen der View<br />

mittels Drag <strong>and</strong> Drop in die View gezogen werden.<br />

Abbildung 4.9: Analytic View - Namen auswählen<br />

516<br />

Abbildung 4.10: Analytic View - Tabellen auswählen


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.11: Analytic View – Ergebnis<br />

Nachdem die View angelegt worden ist, müssen die benötigten Attribute ausgewählt und festgelegt<br />

werden. Dies geschieht wieder mit Hilfe des Kontext Menüs (siehe Abbildung 4.12).<br />

Abbildung 4.12: Analytic View - Attribute festlegen<br />

Bevor eine View genutzt werden kann muss diese gespeichert, überprüft und aktiviert werden.<br />

Attribute View<br />

Der Attribute View wird für alle Arten von Joins zwischen Tabellen eingesetzt. Attribute Views können<br />

auch genutzt werden, um eine Untermenge von Spalten oder Zeilen einer Tabelle zu selektieren.<br />

Die meistgenutzte Anwendung von Attribute Views ist der Join von mehreren Tabellen, um innerhalb<br />

eines Starschemas eine einzelne Dimensionstabelle zu erstellen. Die resultierende Dimensions-<br />

Attribute View kann in einem Analytic View mit einem Fact Table verbunden werden. Es könnte beispielsweise<br />

Mitarbeiter mit Organisationseinheit verbunden werden, um diese anschließend in einem<br />

Analytic View mit Verkaufstransaktionen zu verbinden (SAP Database – Development Guide 2012) .<br />

517


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Um eine Attribute View anzulegen, muss ähnlich wie bei Analytic View zuerst ein Name und eine<br />

Beschreibung eingegeben werden (siehe Abbildung 4.13).<br />

Abbildung 4.13: Attribute View – Name<br />

Calculation View<br />

Der Calculation View wird für komplexe Berechnungen eingesetzt, die nicht mit dem Attribute oder<br />

Analytic View durchgeführt werden können. Sie werden genutzt, um Zusammenfassungen von <strong>and</strong>eren<br />

Views zu erstellen. Die basieren erstens auf einem Join oder Union zwischen zwei oder mehr Datenflüssen<br />

oder zweitens dienen sie dem Aufruf von eingebauten oder generischen SQL Funktionen.<br />

Calculation Views können auf die gleiche Art wie Analytic Views genutzt werden, es ist jedoch im<br />

Gegensatz dazu möglich, mehrere Fact Tables in einem Calculation View per Join zu verbinden. Calculation<br />

Views haben immer mindestens einen Wert.<br />

Bei den Calculation Views unterscheidet man zwei Arten, Graphical Views und Scripted Views. Graphical<br />

Views werden mit der grafischen Modellierungssicht von SAP HANA Modeler erstellt.<br />

Scripted Views hingegen werden als SQL Statements definiert. Calculation Views werden normaler-<br />

518


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

weise nicht mit SQLScript erstellt, es gibt jedoch Ausnahmen. SQLScript kann dann eingesetzt werden<br />

wenn es a) keine Inputparameter gibt, b) nur lesend auf die Datenbank zugegriffen wird und c) es<br />

keine Seiteneffekte gibt (SAP Database – Development Guide 2012).<br />

4.1.7 Trigger anlegen<br />

Die Trigger-Funktionalität ist erst mit dem neuen Release hinzugefügt worden und ist nicht vollständig<br />

ausgereift. Ein Trigger kann zurzeit nur mit Hilfe eines SQL –Befehls angelegt werden. Außerdem<br />

funktioniert das Löschen und Verändern von Tiggern noch nicht vollständig.<br />

Die Trigger können wie folgt aufgebaut sein:<br />

CREATE TRIGGER "Name" AFTER/BEFORE INSERT/UPDATE/DELETE<br />

ON "Schema"."Tabelle" FOR EACH ROW<br />

BEGIN<br />

“FUNKTION”<br />

END;<br />

4.1.8 SAP UI5<br />

Bevor die SAPUI5 Tools verwendet werden können müssen einige Vorbedingungen erfüllt werden.<br />

So wird als Betriebssystem: Microsoft Windows XP, Microsoft Windows Vista <strong>and</strong> Microsoft<br />

Windows 7 benötigt. Als Java Laufzeitumgebung wird die Version JRE 1.6 als 32-Bit bzw. 64-Bit<br />

vorausgesetzt. Wenn diese Vorbedingungen erfüllt sind, können die UI5 Funktionen installiert werden.<br />

Dazu muss die HTML5<strong>Evaluation</strong>_complete.zip an einen beliebigen Ort entpackt werden. Anschließend<br />

muss in Eclipse oben in der Funktionsleiste unter dem Menüpunkt Help die Funktion Install New<br />

Software gewählt werden. In dem, in Abbildung 4.14 zu sehendem neuen Fenster muss auf Add…<br />

geklickt werden.<br />

519


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.14: Eclipse IDE – Installation von Software Dialog<br />

Anschließend muss im auf Abbildung 4.15 zu sehenden Fenster Local… ausgewählt werden, um dort<br />

den Pfad zur local update site aus dem eben entpackten Archive anzugeben.<br />

Abbildung 4.15: Eclipse DIE – Repository hinzufügen<br />

Nach der Installation aller Pakete muss Eclipse neu gestartet werden. Anschließend kann mit dem<br />

Erstellen eines UI5 Projektes begonnen werden.<br />

520


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.2 Durchführung des ETL-Prozesses der ForWind Daten<br />

Anmerkung: Die im Folgenden beschriebenen Projektdateien sind in der beigefügten DVD in dem<br />

Ordner „01_ForWind_Phentaho“ zu finden. Dazu zählen die Dateien „ForWind_ Transformation.ktr“,<br />

„ForWind_Job_Transformation.kjb“ und „ForWind_Nummerierung_Alle.ktr“.<br />

Nachfolgend werden die Vorgänge für eine erneute Durchführung eines ETL-Laufs der, von ForWind<br />

erhaltenen, WEA-Daten beschrieben.<br />

4.2.1 Voraussetzungen und Anforderungen<br />

Element<br />

Betriebssystem:<br />

Java: Ab 1.4<br />

Festplatte:<br />

Mindesanforderungen<br />

Windows, Mac, Linux<br />

Mindestens 70 GB freien Speicherplatz<br />

Programme: Pentaho Data Integration CE 4.x<br />

Daten:<br />

R 2.x<br />

SAP HANA Studio Revision 48<br />

Open Vpn Client 1.x incl. SAP HANA HPI Konfiguration<br />

Rdata ForWind Dateien<br />

(siehe Ordner „ForWind_WEA_Daten“ auf der DVD der Dokumentation)<br />

ForWind_Transformation.ktr (siehe Ordner „ForWind_Phentaho“)<br />

ForWind_Job_Transformation.kjb (siehe Ordner „ForWind_Phentaho“)<br />

ForWind_ Nummerierung_Alle.ktr (siehe Ordner „ForWind_Phentaho“)<br />

4.2.2 Durchführung<br />

1. Legen Sie eine lokale Kopie des Ordners ForWind_WEA_Daten an. Der Ordner ist auf der DVD<br />

zu der Dokumentation zu finden.<br />

2. Starten Sie das Programm R und öffnen Sie die Datei Rdata2ASCII.R im kopierten Ordner mit R,<br />

(siehe Abbildung 4.16).<br />

521


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.16: Geöffnete Rdata2ASCII.R Datei<br />

3. Ergänzen Sie Zeilen 3 und 7 wie folgt, um den eigenen lokalen Dateipfad zu ergänzen bzw. anzupassen<br />

und ggf. den ASCII_folder „Ordner“ anzulegen:<br />

# set the folder where the Rdata files are located<br />

data_folder="C:/ForWind_Daten/"<br />

# set the folder where the ASCII files will be saved<br />

ASCII_folder="C:/ForWind_Daten/ASCII/"<br />

4. Markieren Sie alle Zeilen innerhalb von R und betätigen Sie die Schaltfläche Ausführung Zeile<br />

oder Auswahl, (siehe Abbildung 3.17).<br />

Abbildung 4.17: Ausführung einer R Prozedur in RGUI<br />

5. Führen Sie das R Script in der R Konsole aus, dabei wird der aktuelle Fortschritt durch die blauen<br />

Zeilen [1] 1, [1] 2 …. -[1] 12 gekennzeichnet, (siehe Abbildung 4.18). Der Vorgang kann einige<br />

Stunden in Anspruch nehmen.<br />

522


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.18: Fortschrittskontrolle in RGui<br />

6. Sind alle zwölf Schritte erfolgreich durchgeführt worden, so befinden sich insgesamt 72 Textdokumente<br />

im Ausgabeordner, welcher im Vorgang 3 im Element ASCII_folder definiert worden ist,<br />

(siehe Abbildung 4.19).<br />

Abbildung 4.19: Extrahierte ForWind Textdateien<br />

523


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

7. Konfigurieren Sie die Pentaho Data Integration CE. Hierbei muss zunächst die heruntergeladene<br />

Zip-Datei entpackt werden. Öffnen Sie anschließend die im Ordner data-integration auf erster<br />

Ebene enthaltende Spoon.bat. Das Öffnen der Datei erfolgt per Rechtsklick auf die Datei und<br />

Auswahl des Menüpunktes Bearbeiten. Ändern Sie im Bearbeitungsmodus in dem If-Statement,<br />

welches hier angezeigt wird, den Wert für Xmx512m auf die verfügbare Arbeitsspeichermenge ab,<br />

z. B. Xmx2048m entspricht zwei GB an freiem Arbeitsspeicher.<br />

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-<br />

Xmx2048m" "-XX:MaxPermSize=1024m"<br />

Durch diese Anpassung steht Pentaho Data Integration CE mehr Arbeitsspeicher zur Verfügung,<br />

mit welchem die Transformationen schneller durchgeführt werden können. Des Weiteren muss der<br />

Wert für XX:MaxPermSize um die Hälfte des angebenden Xmx Wertes erhöht werden.<br />

8. Starten Sie die Spoon.bat und öffnen Sie anschließend das Transformationsprojekt For-<br />

Wind_Transformation.ktr, (siehe Abbildung 4.20).<br />

Abbildung 4.20: Geöffnete „ForWind_Transformation.ktr“ Tranformation<br />

9. Öffnen Sie in dem Transformationsprojekt, mit Hilfe eines Doppelklicks, den Konfigurationsdialog<br />

der jeweiligen Text file input Elemente (Einlesen_Windrichtung_Txt, Einlesen_Generator_Drehzahl_Txt<br />

etc.). Ändern Sie für jedes Element den Dateipfad, wie in der folgenden<br />

Abbildung 4.21 gezeigt, auf den aktuellen Dateipfad des ASCII_folder Ordners ab.<br />

524


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.21: Änderung des Dateipfads der „Text file input“ Elemente<br />

10. Die nächste Änderung betrifft den Ausgabepfad. Ändern Sie mit Hilfe eines Doppelklicks den<br />

Ausgabepfad im Element Text file output (Datei Output) im dortigen Feld Filename ab, (siehe<br />

Abbildung 4.22).<br />

Abbildung 4.22: Änderung des Dateipfads des „Text file output“ Elementes<br />

11. Schließen und speichern Sie das geöffnete ForWind_Transformation.ktr Projekt, Öffnen Sie im<br />

Anschluss den Job ForWind_Job_Transformation.kjb,(siehe Abbildung 4.23), der sich im gleichen<br />

Ordner wie das ForWind_Transformation.ktr Projekt befinden muss.<br />

Abbildung 4.23: Geöffneter „ForWind_Job_Transformation.kjb“ Job<br />

525


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

12. Um E-Mail Notifikationen zu erhalten, passen Sie die Elemente Job mail details (Start Mail, Zwischenst<strong>and</strong><br />

Mail und Finale Mail) an. Öffnen Sie durch einen Doppelklick auf die jeweiligen<br />

Elemente deren Konfigurationsdialog. Dort wird eine E-Mail- Adresse und der zugehörige SMTP<br />

Server etc. hinterlegt, (siehe Abbildung 4.24).<br />

Abbildung 4.24: E-Mail Konfiguration in Pentaho Data Integration<br />

13. Starten Sie die Transformation durch das Betätigen des Startsymboles sowie der Launch Schaltfläche<br />

im anschließenden Execute a job Dialog, (siehe Abbildung 4.25).<br />

526<br />

Abbildung 4.25: ForWind Tranformations Job ausführen


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

14. Ist der Start der Transformation erfolgt, wird eine E-Mail über den erfolgreichen Start an die hinterlegte<br />

E-Mail-Adresse gesendet. Der aktuelle Status wird direkt in der Prozesskette angezeigt,<br />

detaillierte Information oder evtl. Fehler werden im Logging Fenster dokumentiert, (siehe Abbildung<br />

4.26).<br />

Abbildung 4.26: Ausgeführte Prozesskette des ForWind Job<br />

Anmerkung: Der Durchlauf des Jobs nimmt ca. vier oder mehr Stunden in Anspruch!<br />

15. Nach erfolgreicher Ausführung des Jobs ergibt sich folgende Dateistruktur, des im Vorgang 10<br />

angegebenen Dateipfades.<br />

file_sensor_1.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_2.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_3.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_4.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_5.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_6.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_7.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_8.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_9.txt ............ Textdokument ....................... ~1.7 GB<br />

file_sensor_10.txt ........... Textdokument ....................... ~1.7 GB<br />

file_sensor_11.txt ........... Textdokument ....................... ~1.7 GB<br />

file_sensor_12.txt ........... Textdokument ....................... ~1.7 GB<br />

16. Öffnen Sie das Transformationsprojekt ForWind_ Nummerierung_Alle.ktr. Passen Sie durch Doppelklick<br />

auf das Element Text file input (Datei einlesen) die dort aufgeführten Dateipfade, welche<br />

dem im Vorgang 10 angegebenen Dateipfad entsprechen müssen an, (siehe Abbildung 4.27).<br />

527


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.27: „ForWind_ Nummerierung_Alle.ktr“ - Dateipfade ändern<br />

17. Passen Sie den Ausgabepfad an. Dies entspricht dem Vorgehen, welches im Vorgang 10 bereits<br />

erläutert worden ist, (siehe Abbildung 4.28).<br />

Abbildung 4.28: „ForWind_ Nummerierung_Alle.ktr“ - Ausgabepfad anpassen<br />

18. Konfigurieren Sie die gewünschte Ausgabegröße der Dateien im Untermenü des Text file output<br />

(Daten Output) Elementes, (siehe Abbildung 4.29). Die Voreinstellung ist auf 3.000.000 Datenzeilen<br />

pro Datei gesetzt, welches in dem gegebenen Szenario ca. 400 MB pro Datei entspricht.<br />

528<br />

Abbildung 4.29: „ForWind_ Nummerierung_Alle.ktr“ – Ausgabegröße anpassen


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

19. Starten Sie die Transformation, wie im Vorgang 13 beschrieben. Anschließend ergibt sich folgende<br />

Dateistruktur, in dem in Vorgang 17 angegebenen Dateipfad:<br />

alle_20130120_0.csv .......... Textdokument ....................... ~400 MB<br />

alle_20130120_1.csv .......... Textdokument ....................... ~400 MB<br />

alle_20130120_2.csv .......... Textdokument ....................... ~400 MB<br />

alle_20130120_3.csv .......... Textdokument ....................... ~400 MB<br />

alle_20130120_4.csv .......... Textdokument ....................... ~400 MB<br />

alle_20130120_5.csv .......... Textdokument ....................... ~400 MB<br />

… ....... .................... Textdokument ....................... ~400 MB<br />

alle_20130120_44.csv ......... Textdokument ....................... ~400 MB<br />

20. In diesem Schritt soll der Import der Daten das SAP HANA System erfolgen. Bauen Sie hierfür<br />

zunächst eine VPN-Verbindung zum SAP HANA Netzwerk auf und starten Sie das SAP HANA<br />

Studio. Nach erfolgreichem Aufrufen des SAP HANA Studios rufen Sie die Funktion Import…im<br />

Quick Launch Dialog auf, (siehe Abbildung 4.30).<br />

Abbildung 4.30: SAP HANA Studio Import Funktion<br />

21. Nehmen Sie im geöffneten File Import Wizard/ Define Import Properties Dialog nun die Konfiguration<br />

vor, die in folgenden Abbildung aufgeführt wird und bestätigen Sie durch Weiter.<br />

529


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.31: SAP HANA Studio – File Import Wizard Schritt 1<br />

22. Legen Sie im nächsten Dialog namens File Import Wizard / Manage Table Definition <strong>and</strong> Data<br />

Mappings zunächst die Zuordnung der Dateiattribute zu den jeweiligen Attributen der Datenbanktabelle<br />

SENSORDATEN an. Wie auf Abbildung 4.32 zu sehen müssen Sie im Registerfeld Source<br />

File das Organigramm Symbol betätigt und anschließend die Funktion one to one ausführen. Dieses<br />

verbindet die Source File mit der Target Table und stellt das Ergebnis grafisch dar.<br />

530<br />

Abbildung 4.32: SAP HANA Studio – File Import Wizard Schritt 2


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

23. Durch das Betätigen der Schaltfläche Finish erfolgt der Import Vorgang. Der Fortschritt kann im<br />

Job Log nachvollzogen werden. Mit Hilfe eines Rechtsklicks auf einen Job und anschließender<br />

Ausführung der Funktion Open Job Details, können Sie den aktuellen Status in Prozent einsehen,<br />

(siehe Abbildung 4.33).<br />

Abbildung 4.33: SAP HANA Studio – Import Vorgang überwachen<br />

24. Wiederholen Sie die Vorgänge 21 bis 23 um die Anzahl der zu importierenden Dateien. Zur Überprüfung<br />

der Vollständigkeit sollten Sie die jeweiligen Job Log File Dateien speichern. Diese sind<br />

im geöffneten Kontextmenü in Abbildung 4.33 unter dem Punkt Open Job Log File zu finden.<br />

Anmerkung: Seit dem 01.02.2013 steht ein FTP Server mit direkter Verbindung zu SAP HANA für die<br />

Datenübertragung bereit. Beim Vorgang 18 sollten Sie daher auf die Begrenzung verzichten, sodass<br />

nur eine große Datei erzeugt wird. Die Zugangsdaten für den FTP Server und der genaue Verlauf des<br />

Importvorgangs werden vom HPI zur Verfügung gestellt bzw. sind zu beantragen.<br />

531


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.3 SWF Toolbox<br />

Anmerkung: Die im Folgenden aufgeführte „SWF_Toolbox.zip“ ist in der beigefügten DVD, in dem<br />

Ordner „03_SWF_Toolbox_Source“, zu finden.<br />

In diesem Benutzerh<strong>and</strong>buch wird die Oberfläche der Software SWF Toolbox und dessen Bedienung<br />

beschrieben. Die SWF Toolbox ist eine Java-basierte Eigenentwicklung der SWF <strong>Projektgruppe</strong>.<br />

Die Software ermöglicht die Generierung von WEA-Daten sowie die Simulation eines kontinuierlichen<br />

Datenstroms bzw. -transfer dieser in das SAP HANA System. Dabei stehen dem Benutzer umfangreiche<br />

Konfigurationsmöglichkeiten zur Verfügung sowie eine integrierte Verbindung zum SAP<br />

HANA System. Folglich kann die Software eigenständig agieren und ist auf keine weiteren Programme<br />

angewiesen.<br />

4.3.1 Voraussetzungen und Anforderungen<br />

Element<br />

Mindestanforderungen<br />

Betriebssystem: Windows<br />

Java: Ab 1.6<br />

Sonstiges:<br />

Administratorrechte<br />

SAP HANA VPN Anmeldedaten<br />

Daten:<br />

SWF_Toolbox.zip<br />

4.3.2 Installation<br />

1. Entpacken Sie die Datei SWF_Toolbox.zip.<br />

2. Führen Sie die Anwendung SWF_Toolbox.exe als Administrator aus, um eine VPN Verbindung<br />

durch die SWF Toolbox zu ermöglichen. Gehen Sie dafür wie folgt vor:<br />

a. Öffnen Sie durch einen Rechtsklick auf die Datei SWF_Toolbox.exe das Kontextmenü und<br />

wählen Sie dort Eigenschaften aus.<br />

b. Aktivieren Sie im erscheinenden Eigenschaften-Dialog unter dem Reiter Kompatibilität im<br />

Feld Berechtigungsstufe „Programm als Administrator ausführen“, (siehe Abbildung 4.34).<br />

Anschließend bestätigen Sie den Vorgang mit OK.<br />

532


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.34: SWF Toolbox - Dateieigenschaften<br />

4.3.3 Daten<br />

Nachfolgend wird ein Überblick über die Daten gegeben, welche während der Benutzung der SWF<br />

Toolbox zum Einsatz kommen.<br />

Wetterdaten<br />

Die Wetterdaten dienen als Grundlage der zu generierenden Daten und sind für die Ausführung des<br />

Datengenerators notwendig. Aktuelle oder historische Wetterdaten können aus dem Internet bezogen<br />

werden. Beispielhaft sind im Ordner beispiel_daten einige Wetterdaten hinterlegt.<br />

Die Daten müssen als CSV- oder Text-Datei vorliegen und folgende per Semikolon getrennte Spalten<br />

aufweisen:<br />

Datum; Zeit; Temp. A.; Feuchte A.; Luftdruck; Regen; Wind; Richtung<br />

01.01.2007;00:00;7.6;94;1017;0.000;15.6;285<br />

01.01.2007;00:05;7.7;95;1017;0.000;15.6;285<br />

01.01.2007;00:10;7.8;95;1017;0.000;19.4;235<br />

Sollte es nicht möglich sein eine oder mehrere Spalten mit Werten zu füllen, so müssen diese mit dem<br />

Wert 0 belegt werden.<br />

533


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

XML- Konfigurationsdatei<br />

Für die permanente Konfiguration des Datengenerators wird eine XML-Konfigurationsdatei verwendet.<br />

St<strong>and</strong>ardmäßig wird die Datei generator_config.xml durch die SWF Toolbox geladen, diese befindet<br />

sich auf der Ebene der SWF_Toolbox.exe. Es besteht die Möglichkeit, diese im Vorfeld zu ändern<br />

oder eine <strong>and</strong>ere XML-Konfigurationsdatei nach dem Programmaufruf zu laden.<br />

Die XML-Konfigurationsdatei muss dabei folgende Struktur aufweisen:<br />

<br />

<br />

<br />

LEISTUNGSABGABE<br />

WINDGESCHWINDIGKEIT<br />

0<br />

0.99<br />

-50<br />

-20<br />

<br />

<br />

…<br />

<br />

Das dargestellte XML Schema ist so aufgebaut, dass innerhalb der semantischen Auszeichnung (Im<br />

weiteren Verlauf als Tag bezeichnet) namens … beliebig viele Tags namens<br />

… angelegt werden können. Diese müssen wiederum die nachfolgenden<br />

Tags beinhalten:<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

<br />

Im Tag Name wird die Bezeichnung des zu generierenden Attributes angeben, z.B. die Leistungsabgabe.<br />

Der Tag Abhaengigkeit spiegelt die Bezeichnung des Attributes wieder, dessen Werte als Basis für<br />

die Generierung fungieren. Bspw. soll die Leistungsabgabe der WEA auf Basis der vorherrschenden<br />

Windgeschwindigkeit generiert werden.<br />

Die Tags und grenzen dabei den zu erfassenden nummerischen Wertebereich<br />

des abhängigen Attributes ein, z.B. eine vorherrschende Windgeschwindigkeit von 0 bis 0,99<br />

m/s.<br />

Entspricht ein Wert während der Generierung diesem Wertebereich, so wird ein Zufallswert innerhalb<br />

des angegebenen Wertebereichs der Tags und generiert. Das heißt in<br />

534


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

diesem Fall, sollte eine Windgeschwindigkeit von 0,5 anliegen, so wird bspw. eine Leistungsabgabe<br />

zwischen -50 und -20 generiert.<br />

Weitere Information und einzuhaltende Regeln bzgl. der Konfiguration, werden in den folgenden Kapiteln<br />

gegeben.<br />

4.3.4 Betrieb<br />

Starten Sie die Applikation indem Sie die Datei SWF_Toolbox.exe ausführen. Nach erfolgtem Start<br />

wird das Hauptfenster der SWF Toolbox angezeigt. Dort finden Sie auf der linken Seite die Hauptfunktionen<br />

Generator öffnen und Streamer öffnen, (siehe Abbildung 4.35 Punkt 1). Im mittleren und<br />

rechten Arbeitsbereich befindet sich die Willkommensseite, in der Sie die Funktionen Report UI5 und<br />

Report Excel aufrufen können, (siehe Abbildung 4.35 Punkt 2). Abschließend finden Sie in der rechten<br />

oberen Ecke die Schaltfläche Verbinden, (siehe Abbildung 4.35 Punkt 3).<br />

Abbildung 4.35: SWF Toolbox - Hauptfenster<br />

Durch Aufruf der Funktionen Report UI5 können Sie die SWF UI5 Reporting Webseite im Internet<br />

Explorer öffnen. Weiterhin besteht die Möglichkeit durch Aufruf der Funktion Report Excel die<br />

Microsoft Excel Reporting-Datei zu öffnen, eine Beschreibung dieser finden Sie in den jeweiligen<br />

Benutzerh<strong>and</strong>büchern. Im Folgenden werden die, unter Punkt 1 und 3 in Abbildung 4.35 aufgeführten,<br />

Funktionen nach dem vorgesehenen Ablauf beschrieben.<br />

535


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

VPN Verbindung aufbauen<br />

1. Betätigen Sie die Verbinden Schaltfläche.<br />

2. Der Aufruf des VPN Clients erfolgt. Die Eingabe sowie Bestätigung der SAP HANA VPN Anmeldedaten<br />

muss anschlie0end von Ihnen erfolgen, (siehe Abbildung 4.36).<br />

Abbildung 4.36: SWF Toolbox – VPN Verbindung aufbauen<br />

3. Der erfolgreiche Aufbau der VPN Verbindung wird durch den Status Initialization Sequence<br />

Completed innerhalb des VPN Clients gekennzeichnet, (siehe Abbildung 4.37).<br />

Abbildung 4.37: Open VPN – Verbindungsstatus<br />

4. Sie sind nun mit dem Netzwerk des SAP HANA Systems verbunden und ermöglichen somit den<br />

Datentransfer zwischen der SWF Toolbox und des SAP HANA Systems.<br />

536


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Daten generieren<br />

1. Durch einen Doppelklick auf die Funktion Generator öffnen initialisieren Sie den Generator. Dieser<br />

ermittelt zunächst alle verfügbaren Spalten in der SAP HANA Datenbanktabelle SENSORDA-<br />

TEN. Je nach Verbindungsgeschwindigkeit kann dieser Vorgang etwas Zeit in Anspruch nehmen.<br />

Anschließend wird ein neues Registerfeld namens Daten Generator erzeugt, (siehe Abbildung<br />

4.38).<br />

Abbildung 4.38: SWF Toolbox – Daten Generator<br />

In der oberen Abbildung finden Sie unter Punkt 1 die Funktionsleiste. Unter Punkt 2 werden im<br />

weiteren Verlauf die Wetterdaten in Form einer Tabelle angezeigt. Unter Punkt 3 finden Sie die<br />

aktuelle Konfiguration des Generators. Die Konfigurationsdaten entsprechen den Daten der beschriebenen<br />

generator_config.xml-Datei.<br />

2. Um Anh<strong>and</strong> der Konfiguration, unter Punkt 3 in Abbildung 4.38, Daten generieren zu können,<br />

benötigen Sie Wetterdaten. Hierfür betätigen Sie die Schaltfläche Wetterdaten laden.<br />

3. Wählen Sie die zu verwendende Wetterdaten-Datei im erscheinenden Dateiauswahldialog aus,<br />

(siehe Abbildung 4.39). Beachten Sie dabei die Anforderungen an die Struktur der Wetterdaten-<br />

Datei.<br />

537


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.39: SWF Toolbox – Auswahl der Wetterdaten<br />

4. Der Inhalt der ausgewählten Wetterdaten-Datei wird nun geladen und, wie unter Vorgang 1 erwähnt,<br />

in einer Tabelle dargestellt, (siehe Abbildung 4.40).<br />

538<br />

Abbildung 4.40: SWF Toolbox – Tabelle Wetterdaten


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

5. Durch Betätigen der Schaltfläche XML Konfiguration öffnen können Sie eine <strong>and</strong>ere XML-<br />

Konfigurationsdatei laden. Dessen Inhalt ersetzt die bestehende Konfiguration aus Punkt 3 in Abbildung<br />

4.38. Die Schaltfläche Aktualisieren können Sie betätigen, sofern Sie die geladene XML-<br />

Konfigurationsdatei während der Programmlaufzeit geändert haben.<br />

6. Bevor Sie die Schaltfläche bzw. Funktion Daten generieren aufrufen, besteht die Möglichkeit die<br />

bestehende Konfiguration zu editieren. Dafür stehen Ihnen folgende Möglichkeiten zur Verfügung:<br />

a. Klicken Sie mit dem Cursor in der Konfigurationstabelle innerhalb der Spalten Name oder<br />

Abhaengigkeit, auf eine Tabellenzelle. Anschließend wird Ihnen eine zur Auswahl stehende<br />

Liste von verfügbaren Spaltennamen angezeigt, (siehe Abbildung 4.41).<br />

Abbildung 4.41: SWF Toolbox – Konfigurationstabelle Teil 1<br />

b. In den weiteren Spalten können Sie die Tabellenzellen durch einen Doppelmausklick editieren<br />

und nach erfolgter Änderung durch Betätigen der Taste Enter diese bestätigen, (siehe Abbildung<br />

4.42).<br />

Abbildung 4.42: SWF Toolbox – Konfigurationstabelle Teil 2<br />

c. Durch Rechtsklicks auf eine beliebige Tabellenzeile wird Ihnen ein Kontextmenü angezeigt.<br />

Das Kontextmenü bietet die Möglichkeit Tabellenzeilen hinzuzufügen, zu duplizieren oder zu<br />

löschen, (siehe Abbildung 4.43).<br />

539


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.43: SWF Toolbox – Konfigurationstabelle Teil 3<br />

d. Wie aus bekannten Tabellenkalkulations-Programmen können Sie die einzelnen Tabellenzeilen<br />

per Drag&Drop verschieben.<br />

Anmerkung: Die Konfiguration ist so anzulegen, dass die jeweilige Abhängigkeit bereits vorh<strong>and</strong>en<br />

bzw. zuvor generiert worden ist. Bspw. kann die Rotorgeschwindigkeit, welche von<br />

Leistungsabgabe abhängig ist, erst generiert werden wenn die Leistungsabgabe vollständig<br />

generiert worden ist. Dementsprechend müssen alle Tabellenzeilen mit dem Namen „Leistungsabgabe“<br />

vor der Tabellenzeile „Rotorgeschwindigkeit“ aufgelistet werden. Weiterhin<br />

dürfen sich die Wertebereiche, sowohl von „Input_min“ und „Input_max“ als auch von<br />

„Output_min“ und „Output_max“, einer zu generierenden Spalte nicht überschneiden. Spalten<br />

ohne Abhängigkeiten, wie z.B. der in Abbildung 4.44 aufgeführte Betriebsstatus, werden<br />

ohne Abhängigkeit und „Input“ Wertebereiche angelegt. Folgende Abbildung erläutert die<br />

genannten Kriterien grafisch.<br />

Abbildung 4.44: SWF Toolbox – Richtige Konfiguration<br />

7. Sind alle Konfigurationen getätigt worden, können Sie durch Betätigen der Schaltfläche Daten<br />

generieren die Daten generieren.<br />

8. Die generierten Daten werden Ihnen in Form einer Tabelle innerhalb eines neuen Registerfeldes<br />

angezeigt, (siehe Abbildung 4.45).<br />

540


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.45: SWF Toolbox – Generierte Daten<br />

9. Durch Betätigen der, in Abbildung 4.45 gezeigten, Schaltfläche Speichern, können Sie die generierten<br />

Daten als Textdatei abspeichern. Diese Textdatei dient anschließend als Datenbasis für die<br />

im Folgenden erklärte Streamer Funktionalität.<br />

541


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Datenübertragung an das SAP HANA System<br />

1. Durch einen Doppelklick auf die Funktion Streamer öffnen, öffnen Sie den Daten-Streamer und<br />

ein neues Registerfeld, namens Daten Streamer, wird angezeigt, (siehe Abbildung 4.46).<br />

Abbildung 4.46: SWF Toolbox – Daten Streamer<br />

In obiger Abbildung finden Sie unter Punkt 1 die Funktionsleiste. Unter Punkt 2 werden im weiteren<br />

Verlauf eine Auswertung der aktuellen WEA Anlagen in der Datenbank, in Form einer Tabelle,<br />

angezeigt. Unter Punkt 3 werden ebenfalls im Folgenden die zu übertragenden Daten, in Form<br />

einer Tabelle, angezeigt. Abschließend können Sie unter Punkt 4 Einstellungen zur Datenübertragung<br />

vornehmen und diese starten.<br />

2. Wenn Sie die Schaltfläche Übersicht laden betätigen, erhalten Sie unter Punkt 2 der Abbildung<br />

4.46 eine Übersicht über die aktuell vorh<strong>and</strong>en WEA in der Datenbank, (siehe Abbildung 4.47).<br />

542


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.47: SWF Toolbox – WEA Übersicht laden<br />

3. Betätigen Sie die Schaltfläche Daten öffnen und öffnen Sie mit Hilfe des erscheinenden Dateidialogs,<br />

die im vorherigen Abschnitt generierten Daten in Form der Textdatei. Diese werden anschließend<br />

unter Punkt 3 der Abbildung 4.46 angezeigt, (siehe Abbildung 4.48).<br />

Abbildung 4.48: SWF Toolbox – Generierte Daten öffnen<br />

543


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4. Um die Datenübertragung der zuvor geladenen Daten zu veranlassen, müssen Sie in der unteren<br />

Funktionsleiste, (siehe Abbildung 4.46 Punkt 4) im Feld Windrad ID, die Nummer des Windrads<br />

dem die Daten zugordnet werden sollen, definieren. Weiterhin können Sie nach Bedarf im Feld<br />

Zeilenanzahl für Übertragung einer Reduzierung der zu übertragenden Zeilen vornehmen. Diese<br />

wird st<strong>and</strong>artmäßig auf die Zeilenanzahl der geladenen Textdatei gesetzt, (siehe Abbildung 4.49).<br />

Abbildung 4.49: SWF Toolbox – Konfigurationsleiste des Daten Streamers<br />

5. Tragen Sie beispielhaft den Wert 10 im Feld Zeilenanzahl für Übertragung ein und starten Sie die<br />

Übertragung durch Betätigen der Schaltfläche Start.<br />

6. Die Datenübertragung wird initialisiert und der aktuelle Status bzw. die einzelnen Vorgänge werden<br />

Ihnen in Form eines aufkommenden Protokollfensters dargestellt, (siehe Abbildung 4.50).<br />

Abbildung 4.50: SWF Toolbox – Protokoll der Datenübertragung<br />

7. Nach erfolgter Datenübertragung wird das Protokollfenster automatisch geschlossen und ein aufkommender<br />

Dialog informiert Sie abschließend über die erfolgreiche Datenübertragung, (siehe<br />

Abbildung 4.51).<br />

544


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.51: SWF Toolbox – Dialog für erfolgreiche Datenübertragung<br />

8. Beenden Sie die Anwendung durch betätigen der X Schaltfläche im rechten oberen Eck.<br />

Anmerkung: Die beschriebenen Funktionalitäten der SWT Toolbox können Sie unabhängig vonein<strong>and</strong>er<br />

nutzen. Bei Aufruf des „Datengenerators“ ohne VPN Verbindung erfolgt zwar eine Fehlermeldung<br />

über die fehlende Verbindung, bis auf die Auswahl der Datenbankspalten innerhalb der Konfigurationstabelle,<br />

stehen Ihnen alle Funktionen zur Verfügung. Der „Datenstreamer“ ist ebenfalls aufrufbar,<br />

eine Datenübertragung kann jedoch ohne VPN Verbindung nicht erfolgen. Des Weiteren kann<br />

der Aufbau einer VPN Verbindung auch mit einem separaten VPN Programm erfolgen.<br />

4.4 R/Rserve<br />

Ziel dieses Benutzerh<strong>and</strong>buchs ist eine Einführung in die Programmiersprache und Softwareumgebung<br />

R. Ein besonderer Fokus liegt hierbei auf der Kombination aus R mit der In-Memory Technologie<br />

SAP HANA (High Performance Analytic Appliance). Hierfür soll zunächst R beschrieben werden.<br />

Danach soll die Installation eines Rserve Suse Linux Servers ausführlich dokumentiert werden. Abschließend<br />

sollen Beispiele für das Data Mining mit SAP HANA und R beschrieben werden.<br />

4.4.1 Einführung in R<br />

R ist eine Open Source Programmiersprache und Softwareumgebung für statistisches Rechnen und<br />

Grafiken. Diese ist Teil des GNU Projekts und auf vielen Plattformen (UNIX, Windows, MacOS)<br />

verfügbar. R ist in Anlehnung an die Programmiersprache S entst<strong>and</strong>en und dieser sehr ähnlich. St<strong>and</strong>ardmäßig<br />

läuft R in einer Komm<strong>and</strong>ozeilenumgebung, es stehen jedoch auch mehrere GUIs zur Verfügung.<br />

R bietet ein breites Spektrum an statistischen (lineare und nichtlineare Modellierung, klassische statistische<br />

Tests, Zeitreihen Analysen, Klassifikation, Clustering etc.) und graphischen Methoden und ist in<br />

hohem Maße erweiterbar. Es h<strong>and</strong>elt sich um eine integrierte Softwarelösung für Datenmanipulation,<br />

Berechnungen und graphische Ausgaben. Neben einer effektiven Datenverarbeitung und -speicherung<br />

bietet R eine breite Palette an Operatoren für die Berechnung auf Arrays, graphische Hilfsmittel für<br />

545


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

die Datenanalyse und Anzeige am Bildschirm oder Ausdruck, sowie eine einfache und effektive Programmiersprache,<br />

welche Bedingungen, Schleifen, benutzerdefinierte rekursive Funktionen enthält<br />

(Wirtschaftsuniversität Wien 2012).<br />

Der Funktionsumfang von R kann durch eine Vielzahl von Paketen erweitert und an spezifische statistische<br />

Problemstellungen angepasst werden. Viele Pakete können direkt aus einer über die R-Console<br />

abrufbaren Liste ausgewählt und automatisch installiert werden. Zentrales Archiv für diese Pakete ist<br />

das Comprehensive R Archive Network. Für Data Mining stehen unter <strong>and</strong>erem die folgenden Packagess<br />

für R zur Verfügung (Pyrke 2007):<br />

R<strong>and</strong>omForest<br />

Party<br />

E1071<br />

nnets<br />

BayesTree<br />

gafit & rgenoud<br />

varSelRF<br />

arules<br />

Rweka<br />

Dprep<br />

Bioconductor<br />

Eine Übersicht der speziellen Packages für bestimmte Data Mining Methoden (beispielsweise Frequent<br />

Pattern Mining, Clustering, Klassifikation) kann bei Wikibooks (2012) eingesehen werden.<br />

Zudem bietet das R Package for Data Mining von Zhao (2012) ein Bündel unterschiedlicher Data Mining<br />

Algorithmen von verschiedenen Benutzern. Die bekannteste GUI für das Data Mining mit R<br />

heißt Rattle.<br />

4.4.2 Installation<br />

R wird nicht st<strong>and</strong>ardmäßig mit SAP HANA ausgeliefert, da R Open Source und unter der GPL lizensiert<br />

ist. Zudem bietet SAP keinen Support für R (SAP AG 2012 S. 3). In dem Projekt Smart Wind<br />

Farm Control (SWF) wird R als Inside-Out Variante, d.h. als Stored Procedure direkt innerhalb von<br />

SAP HANA ausgeführt (siehe Datenverarbeitungs (DV)-Konzept, Kapitel 4.3.1). Hierfür wird R sowie<br />

Rserve benötigt. Rserve ist ein TCP/IP Server, der es <strong>and</strong>eren Programmen erlaubt, R zu nutzen,<br />

ohne es zu initialisieren oder ein R Package einzubinden. R und Rserve müssen auf einem separaten<br />

System installiert werden, sie können nicht auf dem gleichen System wie SAP HANA laufen. Daher<br />

wird ein zusätzlicher Suse Linux Server als TCP/IP-Server benötigt (aktuell unterstützt SAP nur dieses<br />

Betriebssystem). Die Installation des Servers und die Anpassungen innerhalb von SAP HANA sollen<br />

im Folgenden beschrieben werden.<br />

546


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Zunächst wird ein Suse Linux Server benötigt. Wichtig ist hierbei, dass es sich um eine 32 bit Version<br />

h<strong>and</strong>elt. Die <strong>Projektgruppe</strong> nutzt die Version OpenSuse 12.2 auf dem Server hanasuse.informatik.uni-oldenburg.de<br />

mit dem Benutzer ruser. Dieser besitzt für den Befehl sudo root-<br />

Rechte (wichtig, da sonst keine Installationen vorgenommen werden können). Zudem wird der Compiler<br />

namens Gnu Compiler Collection (GCC) benötigt. Dieser kann mit dem folgenden Befehl auf Konsolenebene<br />

installiert werden:<br />

sudo zypper install gcc gcc-c++ gcc-fortran<br />

Der Prozess der Installation besteht aus drei Schritten (SAP AG 2012 S. 3):<br />

4. Installiere R (auf einem eigenen System)<br />

5. Installiere Rserve (auf einem eigenen System)<br />

6. SAP HANA Parameter anpassen<br />

Der genaue Ablauf wird sehr detailliert von Galindo (2012) beschrieben und ist für die Installation<br />

genutzt worden. Da bei der tatsächlichen Installation jedoch teilweise von der Anleitung abgewichen<br />

wurde, wird die Installation im Folgenden detailliert beschrieben.<br />

Anschließend kann mit dem ersten Schritt begonnen werden: Der Installation von R auf dem System.<br />

Hierfür muss der Source Code von R heruntergeladen, extrahiert und kompiliert werden. Dafür müssen<br />

auf Konsolenebene die folgenden Befehle ausgeführt werden:<br />

wget http://cran.r-project.org/src/base/R-2/R-2.13.0.tar.gz<br />

tar zxf R-2.13.0.tar.gz && cd R-2.13.0<br />

./configure --enable-R-shlib --with-readline=no --with-x=no<br />

make clean<br />

make<br />

make install<br />

Falls es hierbei während des make Befehls zu Fehlermeldungen kommt, ist make nicht automatisch<br />

mit GCC zusammen installiert worden. In diesem Fall hilft der folgende Befehl:<br />

sudo zypper install make<br />

Hinweis: Die Befehle make und make install können sehr lange dauern.<br />

Dann kann der zweite Schritt begonnen werden, die Installation von Rserve. Für den Download wird<br />

auf Konsolenebene folgender Befehl benötigt:<br />

wget http://www.rforge.net/Rserve/snapshot/Rserve_0.6-5.tar.gz<br />

Nun kann Rserve installiert und getestet werden:<br />

547


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

R<br />

install.packages("/PATH_TO_FILE/Rserve.tar.gz", repos = NULL)<br />

library("Rserve") #To test the installation. If there's no output, then<br />

it's working fine<br />

q()<br />

Falls dies nicht funktioniert, muss Rserve auf <strong>and</strong>erem Wege installiert werden:<br />

R CMD INSTALL Rserve_XXX.tar.gz<br />

Anschließend wird die Konfigurationsdatei für Rserve erstellt:<br />

vi /etc/Rserv.conf<br />

i<br />

maxinbuf 10000000<br />

Maxsendbuf 0<br />

remote enable<br />

#Press ESC key<br />

:wq<br />

Nun muss der Rserve Server nur noch gestartet werden:<br />

R CMD Rserve --RS-port 6311 --no-save --RS-encoding "utf8"<br />

Damit SAP HANA später auf R zugreifen kann, muss innerhalb des Linux Servers ein Port freigegeben<br />

werden. Die <strong>Projektgruppe</strong> nutzt hierfür den Port 6311. Falls ein <strong>and</strong>erer Port genutzt werden soll<br />

muss der obige Befehl entsprechend angepasst werden.<br />

Der Port kann folgendermaßen freigegeben werden:<br />

vi /etc/sysconfig/SuSEfirewall2<br />

/FW_SERVICES_EXT_TCP<br />

#Den obigen Befehl (Suche nach dem String FW_SERVICES_EXT_TCP) so<br />

#lange wiederholen bis man nicht in einem Kommentar sondern der realen<br />

#Eingabe steht. Anschließend mit den Pfeiltasten auf die Stelle hinter<br />

#dem „=“ Zeichen wechseln<br />

i #Eingabe<br />

ssh 6311 #gewünschten Port angeben<br />

#Anschließend mit den Pfeiltasten zu dem nächsten Punkt<br />

#FW_SERVICES_EXT_UDP wechseln und dort Cursor hinter das „=“ Zeichen<br />

6311<br />

#Press ESC key<br />

:wq<br />

Abschließend beginnt der dritte Schritt, die Anpassung innerhalb von SAP HANA. Hierfür müssen<br />

innerhalb von SAP HANA Studio die folgenden Befehle ausgeführt werden:<br />

1. Klicken Sie mit der rechten Maustaste auf den Systemknoten im Navigatortab wählen Sie Administration<br />

(siehe Abbildung 4.52).<br />

548


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.52: SAP HANA Studio - Administration<br />

2. Wählen Sie den Configuration Tab aus.<br />

3. Wählen Sie anschließend die indexserver.ini aus.<br />

4. Danach wählen Sie bitte die calcengine aus.<br />

Abbildung 4.53: SAP HANA Studio - CAM<br />

5. Dann können Sie folgende Parameter eingeben:<br />

a. cer_rserve_addresses – IP-Adresse der Rserve Servers inklusive Port. Wichtig: Es<br />

muss die IP-Adresse sein und keine Domain!<br />

b. cer_rserve_maxsendsize - 0<br />

c. cer_timeout - 300<br />

Nun steht die Verbindung zwischen SAP HANA und R. Da über die Rserve Verbindung jedoch keine<br />

grafischen Ausgaben angezeigt werden können, die für das Data Mining benötigt werden, müssen<br />

549


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

zwei weitere Installationen auf dem Suse Linux Server vorgenommen werden. Um die erstellten Modelle<br />

in Bildern speichern zu können, wird das Software Package Cairo benötigt.<br />

sudo zypper install cairo-devel<br />

Anschließend kann das Package Cairo in R installiert werden. Zusätzlich sollte an dieser Stelle rpart<br />

installiert werden, das für das Data Mining genutzt wird.<br />

R<br />

>install.packages("Cairo")<br />

>install.packages("rpart")<br />

Falls HANA nicht auf die Packages zugreifen kann muss der Rserve Server neu gestartet werden.<br />

Die durch Cairo erstellten Dateien müssen in einem Verzeichnis gespeichert werden. Hierfür ist im<br />

Projekt SWF das Verzeichnis /tmp/rtest angelegt worden. Zudem ist ein St<strong>and</strong>ard-Emailinhalt in der<br />

Datei mailinhalt.txt erstellt worden.<br />

cd /tmp<br />

mkdir rtest<br />

chmod 777 rtest<br />

cd rtest<br />

vi mailinhalt.txt<br />

i<br />

Guten Tag,<br />

anbei finden Sie die aktuelle Auswertung.<br />

Mit freundlichen Gruessen,<br />

Smart Wind Farm Control<br />

#Press ESC key<br />

:wq<br />

Damit die auf diese Weise erstellten Grafiken betrachtet werden können, wird ein Emailclient benötigt,<br />

über den die Datei per Email zugesendet wird. Es ist nicht möglich, die Grafik direkt an SAP<br />

HANA zu übergeben oder anzuzeigen, daher wird dieser Workaround genutzt. Die <strong>Projektgruppe</strong><br />

SWF setzt für das Versenden der Emails mutt ein.<br />

sudo zypper install mutt<br />

4.4.3 Beispiele<br />

Im Folgenden sollen zunehmend komplexere Beispiele für das Data Mining mit R und SAP HANA<br />

beschrieben werden. Die hierfür benötigten Beispieltabellen werden ebenfalls beschrieben.<br />

Anlegen von Beispiel-Tabellen<br />

Als einfaches Beispiel für Data Mining soll der klassische Entscheidungsbaum<br />

darüber, ob ein Tennisspiel stattfindet oder nicht, erstellt werden.<br />

Für dieses Beispiel ist der finale Entscheidungsbaum bereits bekannt (siehe<br />

Hüppe 2010).<br />

CREATE TABLE rtest(<br />

550


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

vorhersage VARCHAR(20),<br />

temperatur VARCHAR(20),<br />

luftfeuchtigkeit VARCHAR(20),<br />

windig VARCHAR(20),<br />

spiel VARCHAR(20)<br />

);<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('sonnig', 'heiß', 'hoch', 'nein', 'nein');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('sonnig', 'heiß', 'hoch', 'ja', 'nein');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('bewölkt', 'heiß', 'hoch', 'nein', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('regen', 'mild', 'hoch', 'nein', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('regen', 'kalt', 'normal', 'nein', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('regen', 'kalt', 'normal', 'ja', 'nein');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('bewölkt', 'kalt', 'normal', 'ja', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('sonnig', 'mild', 'hoch', 'nein', 'nein');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('sonnig', 'kalt', 'normal', 'nein', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('regen', 'mild', 'normal', 'nein', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('sonnig', 'mild', 'normal', 'ja', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('bewölkt', 'mild', 'hoch', 'ja', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('bewölkt', 'heiß', 'normal', 'nein', 'ja');<br />

INSERT INTO rtest(vorhersage, temperatur, luftfeuchtigkeit, windig, spiel)<br />

VALUES('regen', 'mild', 'hoch', 'ja', 'nein');<br />

Zudem wird eine Tabelle für die Data Mining Ergebnisse anlegt.<br />

CREATE TABLE MINING_RESULT(<br />

ERGEBNIS VARCHAR(200)<br />

)<br />

Da die Ergebnisse aus R zurück an HANA übergeben werden müssen, wird das Übergabeobjekt als<br />

Typ T_MINING_RESULT angelegt.<br />

DROP TYPE T_MINING_RESULT;<br />

CREATE TYPE T_MINING_RESULT AS TABLE (<br />

MININGRESULT VARCHAR(200)<br />

);<br />

Beispiel 1: Multiplikation in R<br />

Als erste Einführung in die Nutzung von SAP HANA mit R soll eine einfache Multiplikation durchgeführt<br />

werden. Hierfür wird zunächst die gewünschte R Funktionalität als Prozedur multiplikation() in<br />

SAP HANA angelegt. Falls die Prozedur bereits existiert, muss sie mittels des DROP-Befehls gelöscht<br />

551


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

werden. Es ist in HANA nicht möglich, Prozeduren der Sprache RLANG zu erstellen, die keinen<br />

Übergabeparameter erhalten. Daher wird an dieser Stelle bereits die Tabelle RTEST übergeben, obwohl<br />

sie für dieses Beispiel nicht benötigt wird. Innerhalb der Prozedur werden die Zahlen 2, 3, 4 und<br />

5 mitein<strong>and</strong>er multipliziert und als Ergebnis zurückgegeben.<br />

DROP PROCEDURE multiplikation;<br />

CREATE PROCEDURE multiplikation(IN spiele RTEST, OUT result<br />

T_MINING_RESULT)<br />

LANGUAGE RLANG AS<br />

BEGIN<br />

a = 2*3*4*5<br />

result


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Temperatur = as.character(spiele$TEMPERATUR)<br />

Luftfeuchtigkeit = as.character(spiele$LUFTFEUCHTIGKEIT)<br />

Windig = as.character(spiele$WINDIG)<br />

Spiel = as.character(spiele$SPIEL)<br />

#Nutze Package Cairo zur Darstellung der Ergebnisse<br />

require(Cairo)<br />

# Nutze Package rpart für Data Mining<br />

require(rpart)<br />

#Baum erzeugen. “minsplit” wird hier auf 1 gesetzt (nur 1 Element<br />

#pro Knoten benoetigt), da nur so wenige Daten vorh<strong>and</strong>en sind, dass<br />

#R <strong>and</strong>ernfalls keinen Baum erzeugen würde.<br />

#Als method wurde "class", dh Klassifikation gewählt<br />

fit


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Als Ergebnis wird eine E-Mail an die oben angegebene Emailadresse gesendet. Diese enthält den im<br />

Abschnitt Anlegen von Beispiel-Tabellen erstellten Emailtext. Zudem enthält sie zwei Attachments:<br />

Einen Entscheidungsbaum und das Ergebnis der Kreuzvalidierung.<br />

Abbildung 4.54: Ergebnis der Klassifikation<br />

In Abbildung 4.54 wird der durch R erstelle Entscheidungsbaum dargestellt. Dieser entspricht nicht<br />

dem in Hüppe (2010) dargestellten Entscheidungsbaum, da rpart nur binäre Splits vornehmen kann.<br />

Der Baum ist jedoch für alle im Abschnitt Anlegen von Beispiel-Tabellen dargestellten Datensätze<br />

gültig und somit ebenfalls korrekt.<br />

554


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.55: Kreuzvalidierung der Klassifikation<br />

Rpart führt automatisch eine 10-fache Kreuzvalidierung durch, um die Gültigkeit des Modells zu<br />

überprüfen. Bei der Kreuzvalidierung werden die Modelldaten in zwei sich gegenseitig ausschließende<br />

Mengen aufgeteilt. Die sog. Trainingsmenge wird dazu verwendet, ein Modell zu erstellen, die sog.<br />

Testmenge dient der Bestätigung des Modells, indem das erstellte Modell auf diese Daten angewendet<br />

wird und die Ergebnisse mit den tatsächlichen Werten verglichen werden. Die in Abbildung 4.55 dargestellten<br />

CP (Complexity Parameter) können für das Pruning genutzt werden, d.h. dem Abschneiden<br />

von Zweigen, um Überanpassung vorzubeugen.<br />

555


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.5 SAP UI5 Reporting<br />

Dieses Benutzerh<strong>and</strong>buch verschafft einen Überblick über die Funktionen und Bedienung der, von der<br />

Teilgruppe realisierten, UI5-Reporting Webanwendung.<br />

4.5.1 Voraussetzungen und Anforderungen<br />

Element<br />

Mindestanforderungen<br />

Betriebssystem Windows, Mac, Linux<br />

Webbrowser Internet Explorer 10.X<br />

Opera 12.X<br />

Chrome 25.X<br />

Programme Open Vpn Client 1.X<br />

Authentifizierung SAP HANA HPI VPN Config, HPI VPN Login Daten (Benutzername<br />

und Passwort), SAP HANA Login Daten (Benutzername und Passwort)<br />

4.5.2 Betrieb<br />

Tabelle 4.2: SAP UI5 – Voraussetzungen und Anforderungen<br />

1. Starten Sie den Open VPN Client mit Administrator-Rechte und erstellen Sie, wie auf Abbildung<br />

4.56 zu sehen, eine Verbindung mit dem VPN-Netzwerk von HPI (FSOC-Lab).<br />

Abbildung 4.56: VPN-Verbindung<br />

2. Melden Sie sich mit Ihrem korrekten Benutzernamen und Passwort an (siehe Abbildung 4.57).<br />

556


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.57: VPN-Verbindung - Benutzer<br />

3. Öffnen Sie einen beliebigen Webbrowser und rufen Sie die Webseite<br />

http://hana-2.fsoc.hpi.uni-potsdam.de:8003/swf/smartwindfarmcontrol/WebContent/index.html<br />

auf.<br />

4. Die Webanwendung besteht aus einer Top-Leiste (oben), einer Menü-Leiste auf der linken Seite<br />

und einem zentralen Content-Block (siehe Abbildung 4.56). Auf der Top-Leiste sind der angemeldete<br />

Benutzer, die Kennzahlen Temperatur, Windgeschwindigkeit und Leistungsabgabe sowie das<br />

Datum und die Uhrzeit zu sehen. Auf der Menü-Leiste ist nur die Home-Taste eingeblendet. Der<br />

zentrale Content-Block stellt die Verknüpfungen zu den vier Komponenten bzw. Seiten wie, Monitoring,<br />

Log, Reporting und Datamining zur Verfügung.<br />

Abbildung 4.58: SAP UI5 – Home - Übersicht<br />

557


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.1. Durch betätigen der Verknüpfung Monitor rufen Sie die Monitoring Webseite auf (siehe Abbildung<br />

4.59).<br />

Abbildung 4.59: SAP UI5 – Home - Monitor<br />

4.2. Auf der linken Menü-Leiste sind nun alle Funktionen der Startseite eingeblendet. Der Inhalt des<br />

zentralen Content-Blockes ist durch das Monitoring-Content ersetzt worden. Die Anlagen des<br />

Windparks sind in Form einer Liste dargestellt. Um genauere Informationen zu einer bestimmten<br />

Anlage zu erhalten, müssen Sie diese in der Liste auswählen. Alternativ können Sie das<br />

Dropdown-Menü, welches sich in der rechten oberen Ecke befindet, verwenden, um zu der detaillierteren<br />

Ansicht einer Anlage zu gelangen (siehe Abbildung 4.60).<br />

558<br />

Abbildung 4.60: SAP UI5 – Monitor


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.3. Sobald Sie eine Anlage ausgewählt haben, wird eine detaillierte Sicht dieser Anlage dargestellt<br />

(siehe Abbildung 4.61). Die wichtigsten Kennzahlen sind in tabellarischer Form angezeigt. Links<br />

neben der Tabelle befindet sich eine visuelle Darstellung der Anlage und eine Verknüpfung zu<br />

der Log-Tabelle (Maintenance History) (siehe 4.2).<br />

Abbildung 4.61: SAP UI5 – Monitor - Erweitert<br />

4.4. Nach dem betätigen des Log-Buttons wird eine Tabelle mit allen Fehlermeldungen dargestellt.<br />

Die Spalten können sortiert oder gefiltert werden (siehe Abbildung 4.62).<br />

Abbildung 4.62: SAP UI5 – Log<br />

4.5. Durch das Auswählen der Reporting-Verknüpfung gelangen Sie zu einer Liste mit bereits vorbereiteten<br />

Reports (siehe Abbildung 4.63).<br />

559


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.63: SAP UI5 – Reporting - Übersicht<br />

4.5.1. Der erste Bericht, Average Performance per Turbine zeigt die durchschnittliche Leistungsabgabe<br />

der einzelnen Anlagen der gesamten Periode an (siehe Abbildung 4.64).<br />

Abbildung 4.64: SAP UI5 – Reporting – Report 1<br />

4.5.2. Beim zweiten Bericht, Average Performance <strong>and</strong> Wind Speed per Turbine werden die durchschnittliche<br />

Leistungsabgabe und die durchschnittliche Windgeschwindigkeit der einzelnen Anlagen<br />

für die Gesamtperiode angezeigt (siehe Abbildung 4.65).<br />

560


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.65: SAP UI5 – Reporting – Report 2<br />

4.5.3. Der dritte Report, Average Performance per Status zeigt die durchschnittliche Leistungsabgabe<br />

des Windparks für den jeweiligen Betriebsstatus an (siehe Abbildung 4.66).<br />

Abbildung 4.66: SAP UI5 – Reporting – Report 3<br />

4.5.4. Während der letzte Report, Average Generator <strong>and</strong> Wind Speed per Status die durchschnittliche<br />

Generatordrehzahl und Windgeschwindigkeit des Windparks den unterschiedlichen Betriebsstatus<br />

gegenüberstellt (siehe Abbildung 4.67).<br />

561


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.67: SAP UI5 – Reporting – Report 4<br />

4.6. Die Datamining-Funktion ist im Rahmen der <strong>Projektgruppe</strong> nicht realisiert worden (siehe Abbildung<br />

4.68).<br />

Abbildung 4.68: SAP UI5 – Data Mining<br />

562


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

4.6 Microsoft Excel Reporting<br />

Anmerkung: Die im Folgenden beschriebene Microsoft Excel Datei namens SmartWindFarm.xlsx, ist<br />

in der beigefügten DVD in dem Ordner „04_Excel_Reporting“ zu finden.<br />

Das Microsoft Excel Reporting H<strong>and</strong>buch verschafft den Lesern einen Überblick über die Grundfunktionen<br />

von Microsoft Excel als Reporting-Tool. Zuerst werden die Voraussetzungen und die Anforderungen<br />

für die Nutzung von Excel und nachfolgend die Tätigkeiten bzw. Workflows beschrieben. Zur<br />

Unterstützung und einer besseren Übersichtlichkeit werden diese zusätzlich anh<strong>and</strong> von Abbildungen<br />

dargestellt.<br />

4.6.1 Voraussetzungen und Anforderungen<br />

Element<br />

Betriebssystem<br />

Programme<br />

Authentifizierung<br />

Mindestanforderungen<br />

Windows, Mac<br />

Open Vpn Client 1.X, Microsoft Excel 2013, SAP HANA Studio Revision<br />

48, SAP HANA Client Revision 48, ODBC Data Source Administrator<br />

SAP HANA HPI VPN Config, HPI VPN Login Daten (Benutzername<br />

und Passwort), SAP HANA Login Daten (Benutzername und Passwort)<br />

Tabelle 4.3: Excel – Voraussetzungen und Anforderungen<br />

4.6.2 Betrieb<br />

1. Starten Sie den Open VPN Client mit Administrator-Rechte und erstellen Sie, wie auf Abbildung<br />

4.69 zu sehen, eine Verbindung mit dem VPN-Netzwerk von HPI (FSOC-Lab).<br />

Abbildung 4.69: VPN-Verbindung<br />

2. Melden Sie sich mit Ihrem korrekten Benutzernamen und Passwort an (siehe Abbildung 4.70).<br />

563


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.70: VPN-Verbindung - Benutzer<br />

3. Starten Sie Microsoft Excel oder öffnen Sie die Datei SmartWindFarm.xlsx.<br />

4. Das Menü DATA stellt viele Funktionen zur Datenverarbeitung zur Verfügung. Mit den Gruppen<br />

Get External Data und Connections verwalten Sie die vordefinierten Verbindungen bzw. SQL-<br />

Abfragen, Sie können jedoch auch eigene anlegen (siehe Abbildung 4.71).<br />

Abbildung 4.71: Benutzerh<strong>and</strong>buch Excel - Menü<br />

5. Die <strong>Projektgruppe</strong> hat drei Berichte vordefiniert. Diese können Sie über den Reiter im unteren<br />

Bereich finden und auswählen (siehe Abbildung 4.72).<br />

Abbildung 4.72: Benutzerh<strong>and</strong>buch Excel - Reiter<br />

5.1. AVAILON_REPO1 stellt den Bericht Durchschnittliche Leistungsabgabe und Windgeschwindigkeit<br />

pro Monat für das Jahr 2012 zur Verfügung (siehe Abbildung 4.73).<br />

564


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Abbildung 4.73: Benutzerh<strong>and</strong>buch Excel – Charts 1<br />

5.2. AVAILON_REPO2 stellt den Bericht Durchschnittliche Leistungsabgabe und Windgeschwindigkeit<br />

pro Gondelposition für das Jahr 2012 zur Verfügung (siehe Abbildung 4.74).<br />

Abbildung 4.74: Benutzerh<strong>and</strong>buch Excel – Charts 2<br />

565


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

5.3. AVAILON_REPO3 stellt den Bericht Durchschnittliche Leistungsabgabe, Windgeschwindigkeit<br />

und Generatordrehzahl der Anlage 30 für Mai 2012 zur Verfügung (siehe Abbildung 4.75).<br />

Abbildung 4.75: Benutzerh<strong>and</strong>buch Excel – Charts 3<br />

566


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

5. Fazit<br />

Rückblickend ist das finale Anliegen der Teilgruppe gewesen, die Problematik des erhöhten Wartungsaufw<strong>and</strong>es<br />

von Windenergieanlagen im Offshore-Bereich aus verschiedenen Blickwinkeln zu<br />

thematisieren und einen informationstechnischen Lösungsweg aufzuzeigen. Neben dem Erlangen von<br />

Wissen im Themengebiet der Wartung von Windenergieanlagen, insbesondere im Offshore Bereich,<br />

hat die Entwicklung einer unterstützenden Windpark-Maintenance-Plattform auf Basis des In-Memory<br />

Systems SAP HANA im Vordergrund gest<strong>and</strong>en. Dessen Ziel sollte es sein, das gesamte Datenaufkommen<br />

von Windenergieanlagen erfassen zu können, sowie unter Verwendung von Data Mining<br />

Methoden Fehlerketten innerhalb dieser Daten aufzuzeigen und für eine vorausschauende Wartung zu<br />

nutzen.<br />

Der Projektablauf, angefangen von der Definition der Aufgabenstellung über die Erstellung des Fachund<br />

DV-Konzepts bis hin zur abschließenden Projektdokumentation, ist durch zahlreiche strategische<br />

Anpassungen und Rückschläge geprägt worden. Dies spiegelt jedoch das Bild vieler Projekte in der<br />

Realität wieder und hat eine der größten Herausforderungen für die Teilgruppe dargestellt. Weiterhin<br />

war die Durchführung eines Projektes im Rahmen der Forschung, welches auf Basis einer Vision entst<strong>and</strong>en<br />

ist, für alle Projektmitglieder neu. Die vorgesehene klassische Projektvorgehensweise hat sich<br />

im Laufe des Projektes, aufgrund der veränderten Ziele und Erwartungen, zu einer agilen Vorgehensweise<br />

entwickelt. Dabei ist allen Projektmitgliedern klar geworden, dass die vollständige Realisierung<br />

aller Ziele nicht ausschlaggebend für den Erfolg des Projektes ist. Vielmehr sollten der Weg bis zum<br />

angestrebten Ziel und die dabei gewonnenen Erkenntnisse sowie Errungenschaften den Erfolg widerspiegeln.<br />

Nachdem die Partnerschaft mit der BTC AG nicht zust<strong>and</strong>e gekommen ist, hat sich die Suche nach<br />

einem neuen geeigneten Projektpartner schwieriger gestaltet als vorerst angenommen. Einer der ausschlaggebenden<br />

Gründe ist der Aspekt gewesen, dass bspw. Windenergieanlagenhersteller, dem Aufdecken<br />

von Fehlerketten aus Imagegründen eher negativ gegenüberstehen. Dementsprechend ist die<br />

Beschaffung der benötigten Sensordaten einer Windenergieanlage ebenso schwierig gewesen. Das<br />

Zentrum für Windenergieforschung der Universitäten Oldenburg, Hannover und Bremen, namens<br />

ForWind, ist als erster Partner in Erscheinung getreten und hat den ersten großen Meilenstein dargestellt.<br />

Im späteren Verlauf des Projektes ist es der Teilgruppe von Seiten ForWinds gelungen, Daten<br />

auf Sekundenbasis zu bekommen. Diese sind zwar anonymisiert gewesen und haben nicht den erhofften<br />

Umfang an Attributen aufgewiesen, haben jedoch trotzdem eine gute Ausgangsbasis für die geplanten<br />

Tätigkeiten ermöglicht. Weiterhin ist unerwartet eine weitere Partnerschaft mit der Availon<br />

GmbH kurz vor Ende des Projektes geschlossen worden. Aus diesem ernsthaften wirtschaftlichen Interesse<br />

an den Zielen der <strong>Projektgruppe</strong>, ist erstmals die Stellung realer Daten resultiert. Diese sind,<br />

soweit es zeitlich möglich war, noch mit in die Projektarbeit eingeflossen.<br />

Die Idee, die anfangs noch unvollständigen Projektziele in vier Arbeitspakete mit differenzierten Zielen<br />

aufzuteilen, stellte sich als sehr hilfreich heraus. Dadurch ist vorausschauend sichergestellt wor-<br />

567


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

den, dass bei den erfolgten Strategieanpassungen nicht zwangsläufig alle Ziele überarbeitet werden<br />

mussten.<br />

Auf diese Weise hat sich das erste Arbeitspaket, bei dem sich die Projektmitglieder erfolgreich mit den<br />

Themenbereichen WEA und SAP HANA vertraut gemacht haben, zusätzlich um Aufgaben zur Propagierung<br />

des Themas erweitert. Dahingehend ist nicht nur Wissen durch Teilnahme an einem einmonatigen<br />

Seminar zur In-Memory Technologie oder der COAST Tagung aufgebaut worden, sondern auch<br />

das Thema aktiv, in Form von Präsentationen, Papers und einem Plakat, nach außen getragen worden.<br />

Bspw. ist eine Präsentation beim HPI und die Erstellung eines mehrseitigen Papers für die BUIS Tagung<br />

erfolgt. Weiterhin sind von Seiten der Teilgruppe einige Verbesserungenvorschläge und Fehler,<br />

für das SAP HANA System, an das HPI kommuniziert worden.<br />

Im zweiten Arbeitspaket, mit dem Aufgabenschwerpunkt der Analyse und Übernahme der Windpark-<br />

Datenstruktur, ist auf Basis von recherchierten Kennzahlen, eigenen Erkenntnissen und den zur Verfügung<br />

gestellten Windparkdaten erfolgreich ein umfangreiches und dynamisches Datenbankmodell für<br />

die Windpark-Maintenance-Plattform entst<strong>and</strong>en. Darüber hinaus ist ein ausgereifter ETL-Prozess<br />

unter Verwendung der Software Pentaho Data Integration CE für die durch ForWind zur Verfügung<br />

gestellten Daten entwickelt worden.<br />

Während des dritten Arbeitspakets, der Simulation eines Windparks, ist die vollständige Realisierung<br />

der auf Java basierenden SWF Toolbox erfolgt. Diese ermöglicht die Generierung von WEA-Daten<br />

sowie die Simulation eines kontinuierlichen Datenstroms bzw. -transfers dieser in das SAP HANA<br />

System.<br />

Abschließend ist im vierten Arbeitspaket für die Analyse der Daten die generelle Möglichkeit Data<br />

Mining mit R in SAP HANA zu betreiben, mit Hilfe eines gesonderten Servers, geschaffen worden.<br />

Darauf aufbauend sind die ersten Data Mining Prozeduren unter Verwendung der von der Availon<br />

GmbH zur Verfügung gestellten Realdaten entst<strong>and</strong>en. Für das Reporting ist sowohl eine anschauliche<br />

Lösung in Microsoft Excel, also auch eine Webanwendung mit Hilfe von der verspätet Verfügbaren<br />

SAP UI5 Umgebung umgesetzt worden.<br />

Im Gesamten ist die Teilgruppe mit den Ergebnissen dieses Projektes sehr zufrieden. Trotz der zahlreichen<br />

strategischen Anpassungen, der erschwerten Datenbeschaffung, der fehlenden SAP BO Lizenzen<br />

sowie der späten Verfügbarkeit der SAP HANA Zugänge und weiteren Problemen, ist die Teilgruppe<br />

der Überzeugung, eine zufriedenstellenden Grundlage für eine Windpark-Maintenance-<br />

Plattform erschaffen zu haben. Insbesondere die vorliegende Dokumentation zeigt, dass viele Aktivitäten<br />

erfolgt sind und eine gute Basis, mit Hilfe der detaillierten technischen Beschreibungen und H<strong>and</strong>büchern,<br />

für darauf aufbauende Projekte geschaffen worden ist. Vorausblickend kann sich die Teilgruppe<br />

vorstellen, dass das Thema sowohl technisch als auch thematisch von Interesse ist. Zum einen<br />

können in weiteren Anwendungsfeldern mit der In-Memory Technology von SAP HANA Mehrwerte<br />

geschaffen werden und zum <strong>and</strong>eren kann das Data Mining für die vorausschauende Wartung in Zusammenarbeit<br />

mit der Availon GmbH erforscht werden.<br />

568


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

6 Literaturverzeichnis<br />

INTERNETQUELLEN<br />

Galindo, A. T. (2012): When SAP HANA met R – First kiss, URL:<br />

http://scn.sap.com/community/developer-center/hana/blog/2012/05/21/when-sap-hana-met-r--firstkiss,<br />

(Zugriff am: 05.12.2012)<br />

Hüppe, C. (2010): ID3, URL: http://www-ai.cs.unidortmund.de/SOFTWARE/ADT/DOC/diplomarbeit/node48.html.de,<br />

(Zugriff am: 01.02.2013)<br />

Kiani-Kreß, R. & Stölzel, T. (2013): Wirtschaftswoche - Das Mogelgeschäft mit den Bonusmeilen.<br />

URL: http://www.wiwo.de/unternehmen/dienstleister/fluggesellschaften-das-mogelgeschaeft-mit-denbonusmeilen/7822644.html,<br />

(Zugriff am: 28.02.2013).<br />

Lohninger, H. (2012): Kreuzvalidierung, URL:<br />

http://www.statistics4u.com/fundstat_germ/cc_cross_validation.html, (Zugriff am: 03.02.2013)<br />

Pyrke, A. (2007): Introducing R, URL:<br />

http://www.<strong>and</strong>ypryke.com/twiki/pub/Andypublic/R/Introducing_R.ppt, (Zugriff am: 03.12.2012)<br />

SAP (2012): SAP HANA Predictive Analytics Library (PAL Reference – SAP HANA Appliance<br />

Software SPS 05, URL: https://help.sap.com/hana/hana_dev_pal_en.pdf, (Zugriff am: 10.03.2013)<br />

SAP AG (2012): SAP HANA R Integration Guide, ULR:<br />

http://help.sap.com/hana/hana_dev_r_emb_en.pdf, (Zugriff am: 02.12.2012)<br />

SAP Database – Development Guide (2012): SAP HANA Database Developer Guide, URL:<br />

http://www.saphana.com/servlet/JiveServlet/downloadBody/1253-102-1-<br />

1665/20111021%20SAP%20HANA%20Database%20Development%20Guide%20-<br />

%20Beta%20Preview.pdf (Zugriff am 18.03.2013)<br />

SAP UI5 (2013): UI Development Toolkit für HTML5 (SAPUI5) (neu), URL:<br />

https://help.sap.com/saphelp_nw73ehp1/helpdata/de/e2/bc731ab39b4057a6fcee46ccb64034/content.ht<br />

m?frameset=/de/a3/721c134fdb4f1fbe774cfbfa9be66d/frameset.htm (Zugriff am 18.03.2013)<br />

Selfhtml (2007): Stylesheets und HTML, URL: http://de.selfhtml.org/css/intro.htm, (Zugriff am<br />

18.03.2013)<br />

Wikibooks (2012): Data Mining Algorithms in R, URL:<br />

http://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R, (Zugriff am: 03.12.2012)<br />

569


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Wikipedia o.J., Benedikt XVI, URL: http://de.wikipedia.org/wiki/Benedikt_XVI., (Zugriff am:<br />

28.02.2013).<br />

Wirtschaftsuniversität Wien (2012): R Project, URL: http://www.r-project.org/, (Zugriff am:<br />

05.12.2012)<br />

Zhao, Y. (2012): R Package for Data Mining, URL: http://www.rdatamining.com/package, (Zugriff<br />

am: 05.12.2012)<br />

BÜCHER<br />

Ende, M. (1979): Die unendliche Geschichte, 3. Aufl., Stuttgart: Thienemann Verlag.<br />

Witten, I. H. & Frank, E. & Hall, M. A. (2011): Data Mining – Practical Machine Learning Tools <strong>and</strong><br />

Techniques, 3. Aufl., Burlington: Elsevier.<br />

JOURNALS<br />

Conley, T. G. & Galeson, D. W. (1998): Nativity <strong>and</strong> wealth in mid-nineteenth century cities, Journal<br />

of Economic History 98(58), S. 468-493.<br />

570


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

Anhang<br />

A.1. Interviewfragen Smart Wind Farm Control<br />

571


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.2. Protokoll BTC 23.05.2012<br />

572


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

573


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

574


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

575


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

576


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.3. Protokoll Prof. Peinke 06.08.2012<br />

577


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

578


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

579


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

580


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

581


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

582


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

583


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

584


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

585


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.4. Paper Future Soc Lab Day<br />

586


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

587


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

588


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

589


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.5. Plakat Future Soc Lab Day<br />

590


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.6. Präsentation Future Soc Lab Day 14.11.2012<br />

591


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

592


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

593


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

594


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

595


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

596


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

597


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

598


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

599


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

600


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.7. Protokoll ForWind 29.11.2012<br />

601


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

602


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

603


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

604


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

605


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.8. Strategieänderung 03.12.2012<br />

606


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.9. Protokoll COWS 17.12.2012<br />

607


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

608


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

609


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

610


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.10. Paper 5. BUIS Tagung<br />

611


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

612


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

613


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

614


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

615


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

616


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

617


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

618


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

619


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.11. Protokoll HPI/SAP 24.01.2013<br />

620


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

621


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

622


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

623


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

624


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

625


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

626


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

627


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.12. Protokoll Availon 31.01.2013<br />

628


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

629


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

630


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

631


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

632


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.13. Protokoll Wind Energy Workshop 13.02.2013<br />

633


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

634


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

635


Projektbericht Cuberunner<br />

Smart Wind Farm Control – Dokumentation<br />

A.14. Datenbankmodell<br />

Abbildung A.1: Datenbankmodell<br />

636


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Technischer Vergleich<br />

637


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

Inhaltsverzeichnis Technischer Vergleich<br />

Abbildungsverzeichnis ........................................................................................................... 639<br />

Tabellenverzeichnis ................................................................................................................ 639<br />

Abkürzungsverzeichnis .......................................................................................................... 640<br />

1. Einleitung ......................................................................................................................... 641<br />

2. Vorstellung der Anwendungsfälle ................................................................................... 642<br />

2.1 Teilgruppe Analytisches CRM ................................................................................... 642<br />

2.2 Teilgruppe Jinengo ..................................................................................................... 643<br />

2.3 Teilgruppe Smart Wind Farm ..................................................................................... 643<br />

3. Methodik .......................................................................................................................... 644<br />

3.1 Nichtfunktionale Anforderungen ................................................................................ 645<br />

3.2 Funktionale Anforderungen ........................................................................................ 647<br />

3.2.1 Database ........................................................................................................... 647<br />

3.2.2 ETL .................................................................................................................. 647<br />

3.2.3 Analytical Services .......................................................................................... 648<br />

3.2.4 Reporting ......................................................................................................... 649<br />

3.2.5 Data Mining ..................................................................................................... 649<br />

4. Database ........................................................................................................................... 650<br />

4.1 SAP HANA ................................................................................................................ 650<br />

4.2 Microsoft SQL Server 2012 ....................................................................................... 651<br />

4.3 Oracle Database 11g ................................................................................................... 652<br />

4.4 Vergleich Databases ................................................................................................... 653<br />

5. ETL .................................................................................................................................. 654<br />

5.1 Pentaho Data Integration CE ...................................................................................... 654<br />

5.2 Microsoft SQL Server Integration Services ............................................................... 656<br />

5.3 Vergleich ETL ............................................................................................................ 657<br />

6. Analytical Services .......................................................................................................... 658<br />

6.1 Microsoft SQL Server Analysis Services ................................................................... 658<br />

6.2 IBM Cognos Framework Manager ............................................................................. 659<br />

6.3 SAP HANA ................................................................................................................ 660<br />

6.4 Vergleich Analytical Services .................................................................................... 661<br />

7. Reporting ......................................................................................................................... 662<br />

7.1 Microsoft SQL Reporting Services ............................................................................ 662<br />

7.2 Qlikview ..................................................................................................................... 663<br />

7.3 IBM Cognos Report Studio ........................................................................................ 664<br />

7.4 Microsoft Excel .......................................................................................................... 665<br />

7.5 Vergleich Reporting ................................................................................................... 667<br />

8. Data Mining ..................................................................................................................... 668<br />

8.1 IBM SPSS Modeler .................................................................................................... 668<br />

8.2 R ................................................................................................................................. 669<br />

8.3 Vergleich Data Mining ............................................................................................... 670<br />

9. Fazit ................................................................................................................................. 671<br />

638


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

Abbildungsverzeichnis<br />

Abbildung 2.1: Prozessübersicht analytisches CRM ............................................................. 642<br />

Tabellenverzeichnis<br />

Tabelle 3.1: Bewertungsskala ................................................................................................ 644<br />

Tabelle 3.2: Übergreifende nichtfunktionale Anforderungen ................................................ 646<br />

Tabelle 3.3: Database spezifische funktionale Anforderungen .............................................. 647<br />

Tabelle 3.4: ETL spezifische funktionale Anforderungen ..................................................... 648<br />

Tabelle 3.5: Analytical Services spezifische funktionale Anforderungen ............................. 648<br />

Tabelle 3.6: Reporting spezifische funktionale Anforderungen ............................................ 649<br />

Tabelle 3.7: Data Mining spezifische funktionale Anforderungen ........................................ 650<br />

Tabelle 4.1: Bewertung Database SAP HANA ...................................................................... 651<br />

Tabelle 4.2: Bewertung Database Microsoft SQL Server 2012 ............................................. 652<br />

Tabelle 4.3: Bewertung Database Oracle Database 11g ........................................................ 653<br />

Tabelle 4.4: Vergleich Databases ........................................................................................... 653<br />

Tabelle 5.1: Bewertung ETL Pentaho Data Integration CE ................................................... 655<br />

Tabelle 5.2: Bewertung ETL Microsoft SQL Integration Services ....................................... 657<br />

Tabelle 5.3: Vergleich ETL .................................................................................................... 657<br />

Tabelle 6.1: Bewertung Analytical Services Microsoft SQL Analysis Services ................... 659<br />

Tabelle 6.2: Bewertung Analytical Services Microsoft IBM Cognos Framework Manager . 660<br />

Tabelle 6.3: Bewertung Analytical Services SAP HANA ..................................................... 661<br />

Tabelle 6.4: Vergleich Analytical Services ............................................................................ 661<br />

Tabelle 7.1: Bewertung Reporting Microsoft SQL Reporting Services ................................ 663<br />

Tabelle 7.2: Bewertung Reporting Qlikview ......................................................................... 664<br />

Tabelle 7.3: Bewertung Reporting IBM Cognos Reporting Studio ....................................... 665<br />

Tabelle 7.4: Bewertung Reporting Microsoft Excel .............................................................. 666<br />

Tabelle 7.5: Vergleich Reporting ........................................................................................... 667<br />

Tabelle 8.1: Bewertung Data Mining IBM SPSS Modeler .................................................... 668<br />

Tabelle 8.2: Bewertung Data Mining R ................................................................................. 669<br />

Tabelle 8.3: Vergleich Data Mining ....................................................................................... 670<br />

639


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

Abkürzungsverzeichnis<br />

ASP Active Server Pages<br />

CRM Customer Relationship Management<br />

DB Database<br />

ERP Enterprise Resource Planning<br />

ETL Extract, Transform, Load<br />

FTP File Transfer Protocol<br />

GUI Graphical User Interface<br />

IT Information Technology<br />

MS Microsoft<br />

ODBC Open Database Connectivity<br />

OLAP Online Analytical Processing<br />

OLE DB Object Linking <strong>and</strong> Embedding Database<br />

PL/SQL Procedural Language/ Structured Query Language<br />

RSS Rich Site Summary<br />

SQL Structured Query Language<br />

T-SQL Transact-SQL<br />

XML Extensible Markup Language<br />

640


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

1. Einleitung<br />

Die in der <strong>Business</strong> <strong>Intelligence</strong> (BI) verortete <strong>Projektgruppe</strong> Cuberunner der Carl von Ossietzky<br />

Universität Oldenburg bearbeitet in drei Teilgruppen verschiedene Anwendungsfälle. Um eine<br />

Vergleichbarkeit zwischen den in den Anwendungsfällen verwendeten Technologien herzustellen, soll<br />

ein teilgruppenübergreifender Technologievergleich erstellt werden.<br />

Zu Beginn der <strong>Projektgruppe</strong> war geplant, dass gleiche Anwendungen von mehreren Gruppen bzw.<br />

gleiche Anwendungsfelder in den Gruppen mit unterschiedlichen Technologien bearbeitet werden.<br />

Eine Schnittmenge beruhte so zum Beispiel darauf, dass Lösungen von SAP in zwei Gruppen<br />

eingesetzt werden sollten. Eine weitere Schnittmenge f<strong>and</strong> sich in der Analyse von Kundendaten über<br />

zwei Teilgruppen, die eine Vergleichbarkeit herstellen sollte.<br />

Mit der Konkretisierung der Anwendungsfälle während der Projektphase haben sich diese<br />

Überschneidungen teilweise aufgelöst, während <strong>and</strong>ere neu entst<strong>and</strong>en sind. Am Ende setzte jede<br />

Teilgruppe verschiedene Technologien ein, weswegen sich der Technologievergleich zu einer<br />

Bewertung und Darstellung verschiedener Anwendungen im BI Umfeld gew<strong>and</strong>elt hat.<br />

Die <strong>Projektgruppe</strong> BI ist durch ihre zwar thematisch verw<strong>and</strong>ten, in ihrer Ausgestaltung und<br />

Durchführung jedoch sehr verschiedenen Teilprojekte charakterisiert. In jeder der drei Teilgruppen<br />

liegen die Schwerpunkte der Arbeit in unterschiedlichen Bereichen. Differenzen sind unter <strong>and</strong>erem<br />

bei den Zielsetzungen, den Adressaten und Nutzern der Ergebnisse, als auch bei den zu beherrschenden<br />

Datenmengen zu finden. So steht im einen Fall der Umgang mit einem enormen Datenvolumen im<br />

Vordergrund. In einem <strong>and</strong>eren Fall stellt hingegen die aussagekräftige Prognose auf Basis einer<br />

vergleichsweise geringen Anzahl von Datensätzen die Herausforderung dar. Entsprechend lassen sich<br />

Unterschiede in der Herangehensweise an die Anwendungsfälle und in den Bedürfnissen an die zur<br />

Arbeit benötigte Software erkennen. Die Unterschiede spiegelt sich in einem vielfältigen Portfolio an<br />

eingesetzten Technologien der BI wider. Um die Eignung der Programme zum Bewältigen der<br />

individuellen Herausforderungen in Relation setzen zu können, sollen in diesem Technologievergleich<br />

die wichtigsten Softwarelösungen anh<strong>and</strong> von ausgearbeiteter Kriterien beurteilt und verglichen<br />

werden.<br />

Das vorliegende Dokument stellt den Technologievergleich dar, der nach Bearbeitung der<br />

Anwendungsfäll gegen Ende des Bearbeitungszeitraums durchgeführt wurde.<br />

641


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

2. Vorstellung der Anwendungsfälle<br />

Das Themenfeld der <strong>Business</strong> <strong>Intelligence</strong> umfasst ein sehr breites Spektrum an verschiedenen<br />

Einsatzgebieten, Aufgaben und Methoden rund um den Umgang mit Daten aus der gesamten<br />

Unternehmensumwelt zum Wissensgewinn und zur fundierten Unterstützung des Entscheidungsprozesses.<br />

Die Anzahl an möglichen Anwendungsfällen ist entsprechend enorm, die Auswahl eines<br />

einzelnen Betrachtungsgegenst<strong>and</strong>s nicht einfach. Statt sich also auf ein einzelnes Thema zu<br />

beschränken, bearbeitet die <strong>Projektgruppe</strong> Cuberunner drei ausgewählte Anwendungsfälle in drei<br />

Teilgruppen.<br />

2.1<br />

Teilgruppe Analytisches CRM<br />

Unter dem Arbeitstitel gestochen scharfe Fragen stellen befasst sich eine Teilgruppe mit einem<br />

Projekt im Bereich des analytischen Customer Relationship Management in Kooperation mit der<br />

CEWE COLOR AG & Co. OHG (CEWE). Ziel dieses Projektes ist eine zentrale, lokale Lagerung der<br />

Daten von Kundenumfragen um eine übergreifende, zeitbezogene Analyse und Prognose zu<br />

ermöglichen. Zu diesem Zweck ist ein unterbrechungsfreier IT-gestützter Prozess von der<br />

Umfrageerstellung, dem Datentransfer, der Datenlagerung und der Datenanalyse erforderlich, der es<br />

erlaubt, die gewonnen Erkenntnisse zur Verbesserung von Umfragen zu nutzen um zukünftig<br />

gestochen scharfe Fragen stellen zu können.<br />

Zur Umsetzung des Projektes werden diverse Anwendungen eingesetzt. Die zu archivierenden und<br />

analysierenden Umfragedaten stammen aus dem Online-Umfragetool QuestionPro. Diese Daten<br />

werden regelmäßig mit einer in Java realisierten ETL-Anwendung per REST-Protokoll aus den<br />

Datenbanken des externen Anbieters QuestionPro ausgelesen, aufbereitet und in eine in der IT-<br />

Infrastruktur von CEWE verorteten Oracle DB 11g Datenbank geschrieben. Der so ständig wachsende<br />

Pool an in Umfragen verwendeter Fragen kann über eine ASP-Benutzeroberfläche verwaltet werden,<br />

welche per SQL mit der Datenbank kommuniziert. Über diese Benutzeroberfläche können Fragen<br />

kategorisiert werden um die spätere Analyse zu erleichtern. Mit dem IBM Cognos Framework<br />

Manager können die Daten für das anschließende Berichtswesen mit IBM Cognos Report Studio und<br />

die Analyse mit IBM SPSS weiter aufbereitet werden.<br />

QuestionPro<br />

Datenabfrage<br />

<br />

Anwendung<br />

Umfrageverzeichnis<br />

<br />

Oracle DB<br />

Daten<br />

verwalten<br />

<br />

Fragenpool<br />

ETL-<br />

(Benutzer-<br />

Datenexport<br />

aufbereitete<br />

Daten schreiben<br />

Daten<br />

darstellen<br />

oberfläche)<br />

Abbildung 2.1: Prozessübersicht analytisches CRM<br />

642


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

2.2<br />

Teilgruppe Jinengo<br />

Eine weitere Teilgruppe befasst sich mit der Analyse intermodaler Verkehrsdaten vor dem<br />

Hintergrund nachhaltiger Mobilität. Als Datengrundlage dient die Routenplanungssoftware Jinengo,<br />

die zuvor im Rahmen einer <strong>and</strong>eren <strong>Projektgruppe</strong> an der Universität Oldenburg entwickelt wurde.<br />

Diese Cuberunner-Teilgruppe befasst sich mit der Analyse des Mobilitätsverhaltens, welches sich aus<br />

der Nutzung der Jinengo-Plattform ableiten lässt. Neben der Darstellung des Verhaltens der Anwender<br />

sollen auf diese Weise auch Erkenntnisse gewonnen werden, die der Verbesserung des operativen<br />

Systems dienen. Damit wird das bestehende operative System um Elemente der <strong>Business</strong> <strong>Intelligence</strong><br />

erweitert.<br />

Die technische Grundlage des Projekts bildet ein Microsoft SQL Server 2012. Verwendet werden die<br />

(relationale) Datenbank, die SQL Server Integration Services für ETL-Prozesse, die SQL Server<br />

Analysis Services für die Datenanalyse sowie SQL Reporting Services für das Reporting. Für das<br />

Reporting kommt zudem zusätzlich Microsoft Excel und Qlikview zum Einsatz. Das Data Mining<br />

erfolgt mit dem IBM SPSS Modeler.<br />

2.3<br />

Teilgruppe Smart Wind Farm<br />

Im Rahmen des Teilprojekts Smart Wind Farm wird die Problematik des erhöhten Wartungsaufw<strong>and</strong>es<br />

von Windkraftanlagen im Offshore-Bereich als Rahmenbedingung für die Entwicklung einer<br />

Windpark-Management-Plattform herangezogen. Als zentraler Ausgangspunkt dient das vom Hasso-<br />

Plattner-Institut bereitgestellte In-Memory Datenbanksystem SAP HANA (High Performance Analytic<br />

Appliance), an welchem sich alle weiteren Schritte orientieren. In-Memory Datenbanksysteme nutzen<br />

im Gegensatz zu traditionellen Datenbanksystemen den Arbeitsspeicher als Datenspeicher, was zu<br />

einem erheblichen Performancegewinn führt. Diese Technologie eröffnet somit neue Lösungswege<br />

bzw. Ansätze, die es zu ermitteln gilt. Weiterhin sollen neue wissenschaftliche Erkenntnisse aus<br />

verschiedenen Bereichen der Windenergie in die Entwicklung einfließen. Die daraus resultierenden<br />

Lösungswege sollen aufgezeigt und abgewägt werden. Übergreifend ist es das Ziel somit eine<br />

grundlegende Plattform zu schaffen um den benötigten Funktionsumfang in verschiedenen Szenarien<br />

bestmöglich abzubilden.<br />

Das zentrale System für die Datenhaltung und -analyse ist SAP HANA. Für den ETL-Prozess setzt die<br />

<strong>Projektgruppe</strong> Pentaho Data Integration (Kettle) ein. Es besteht die Möglichkeit, über einen R Server<br />

auf R zuzugreifen, um Data Mining durchzuführen. Für das Reporting wird neben Microsoft Excel die<br />

XS-Engine mit SAP UI5 eingesetzt.<br />

643


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

3. Methodik<br />

Grundlegend wird der technische Vergleich im Stil einer Nutzwertanalyse durchgeführt. Um zunächst<br />

die Vergleichbarkeit zwischen den eingesetzten Anwendungen herzustellen, wurden funktionale<br />

Zusammengehörigkeiten identifiziert und die jeweiligen Vertreter eingeordnet. Es ergeben sich so fünf<br />

Anwendungsfelder:<br />

- Database<br />

- ETL<br />

- Analytical Services<br />

- Reporting<br />

- Data Mining<br />

Dabei unterscheidet sich die Anzahl der Anwendungen je Gruppe, da teilweise mehrere Teilgruppen<br />

des Projekts dieselbe Software einsetzen oder mehrere funktional verw<strong>and</strong>te Anwendungen parallel<br />

zum Einsatz kommen.<br />

Zur Bewertung wurden die sich aus der konkreten Arbeit mit der Software ergebenden Anforderungen<br />

gesammelt und in inhaltlich zusammenhängende Bewertungskriterien gruppiert. Diese Anforderungen<br />

werden ferner in für Software allgemein gültige, nichtfunktionale Anforderungen (siehe Kapitel 3.1)<br />

und in für die jeweilige Gruppe von Anwendungen spezifische funktionale Anforderungen (siehe<br />

Kapitel 0) unterteilt und enthalten eine Identifikationsnummer, eine inhaltliche Beschreibung sowie<br />

eine Gewichtung mit der der jeweils erzielte Punktwert verrechnet wird.<br />

Für die zu erzielenden Punkte wurde eine Bewertungsskala nach dem Forced Choice Verfahren<br />

gewählt. Die Bewertung der Kriterien erfolgt demnach über eine vierstufige Skala und somit eine<br />

gerade Anzahl von Kategorien. Ziel ist es, dass die Mittelposition nicht als neutrale Ausweichfläche<br />

benutzt werden kann. Die Befragten werden somit gezwungen, zumindest eine Tendenz im Urteil<br />

abzugeben. Für Personen, die die Fragen tatsächlich neutral beantworten wollen bzw. keine eindeutige<br />

Antwort geben können, gibt es die Möglichkeit, „n. b.“ (nicht bewertbar) als Antwortmöglichkeit<br />

einzutragen, um Auslassungen vorzubeugen. Ein entsprechendes Kriterium geht dann neutral (2,5) in<br />

die Bewertung ein.<br />

4 sehr gut<br />

3 Gut<br />

2 Schlecht<br />

1 sehr schlecht<br />

n. b. keine Angabe / Bewertung<br />

Tabelle 3.1: Bewertungsskala<br />

644


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

Die Gewichtung der Kriterien erfolgt nach einer prozentualen Aufschlüsselung. Da die Funktionalität<br />

der Software als das wesentliche Kriterium für die Bewertung erachtet wird, können über die je<br />

Anwendungsgruppe individuellen, funktionalen Anforderungen 60% der Gesamtbewertung erzielt<br />

werden. Da jedoch nichtfunktionale Aspekte ebenfalls die praktische Einsatztauglichkeit und<br />

Produktivität im Umgang beeinflussen, entfallen die verbleibenden 40% der Punkte auf diesen<br />

Bereich. Innerhalb der Anforderungsarten findet eine weitere Gewichtung statt, die sich teils durch<br />

eine subjektiv vorgenommene Abstufung der Relevanz des Kriteriums und <strong>and</strong>ererseits aus der im<br />

Rahmen der <strong>Projektgruppe</strong> praktischen Beurteilbarkeit ergibt. So erhält etwa das Kriterium nf7:<br />

Geschwindigkeit den geringen Bewertungsanteil von 3%, da die Performanz von Software mit denen<br />

der <strong>Projektgruppe</strong> zur Verfügung stehenden Möglichkeiten nicht aussagekräftig gemessen oder<br />

verglichen werden können. Des Weiteren variieren die verarbeiteten Datenmengen zwischen den<br />

Teilgruppen stark, was eine übergreifende Vergleichbarkeit in dieser Hinsicht weiter erschwert. Um<br />

die Auswirkung dieser eingeschränkten Beurteilungsfähigkeit zu mindern, den prinzipiell aber<br />

durchaus relevanten Aspekt dennoch zu berücksichtigen, wird eine entsprechende Gewichtung<br />

gewählt. Die Gewichtung der für die Gesamtbewertung besonders ausschlagkräftigen funktionalen<br />

Anforderungen erfolgt ebenfalls anh<strong>and</strong> subjektiv diskutierter und festgelegter Rangordnung, wie sie<br />

sich im Umgang mit den jeweiligen Anforderungen herausgestellt hat.<br />

3.1<br />

Nichtfunktionale Anforderungen<br />

Die Anforderungen in dieser Gruppe beziehen sich auf Eigenschaften der Anwendungen, in welcher<br />

Art und Weise sie arbeitet und welche Rahmenbedingungen vorliegen. Für den Nutzer sind hier die<br />

Benutzerfreundlichkeit und die Dokumentation besonders interessant, die einen reibungslosen<br />

Arbeitslauf gewährleisten. Beim Einsatz im Unternehmen spielt auch die Zuverlässigkeit der<br />

Anwendung eine wichtige Rolle, denn fehleranfällige Lösungen können schwerwiegende Probleme<br />

und Kosten verursachen. Die Installationsanforderungen an vorh<strong>and</strong>ene Hard- und Software von<br />

manchen Anwendungen schränken ihre praktischen Einsatzgebiete ein, weswegen die Integrierbarkeit<br />

in die IT-L<strong>and</strong>schaft ebenfalls betrachtet wird. St<strong>and</strong>ardsoftware deckt üblicherweise die Hauptaufgaben<br />

in einem Anwendungsumfeld bereits ab. Gehen die Anforderungen jedoch über dieses Spektrum<br />

hinaus, ist Flexibilität hinsichtlich der Erweiterbarkeit durch Plugins oder individuelle Anpassungen<br />

gefragt; dies kann dabei den Unterschied zwischen einer für die jeweilige Aufgabe geeigneten und<br />

untauglichen Lösung machen. Die Unabhängigkeit vom Hersteller hinsichtlich Hosting und Offenheit<br />

des Programmcodes ist ebenfalls ein ausschlaggebendes Auswahlkriterium, insb. wenn Fortbetrieb<br />

und Wartung der Software bei Marktaustritt des Herstellers gewährleistet sein müssen. Da dies jedoch<br />

im Falle der wirtschaftlichen Situation des Anbieters von der <strong>Projektgruppe</strong> nur anh<strong>and</strong> öffentlich<br />

zugänglicher Informationen geschätzt werden kann, wird in dieser Stelle eine geringere Gewichtung<br />

gewählt. Die Performanz der Anwendungen spielt ebenfalls eine Rolle für den Anwender und kann die<br />

645


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

Produktivität bei wachsenden Datenmengen stark beeinträchtigen, erhält jedoch aufgrund der eingangs<br />

dargelegten stark eingeschränkten Bewertbarkeit den geringsten Gewichtungsanteil.<br />

Nr. Kriterium Beschreibung Gew.<br />

nf-1 Unabhängigkeit vom<br />

Hersteller<br />

Mit welchen Konsequenzen ist zu rechnen, wenn der<br />

Softwareanbieter insolvent wird oder die Vertragsbeziehung<br />

<strong>and</strong>erweitig endet. Kann die Software im<br />

Haus gehostet werden? Lassen sich selbstständig<br />

Änderungen an der Software vornehmen?<br />

4%<br />

nf-2 Support & Dokumentation Welche Hilfestellungen werden bei der Bedienung der<br />

Software angeboten (Tooltips, Kurzhilfe, Dokumentation,<br />

Mailsupport, Hotline)?<br />

nf-3 Benutzerfreundlichkeit Wie bedienbar ist die Software? Wie hilfreich ist die<br />

GUI? Lässt sich die Software an individuelle<br />

betriebliche Gegebenheiten anpassen? Welche<br />

Einarbeitungszeit ist zum Erlernen der Software<br />

notwendig?<br />

nf-4 Integrierbarkeit Wie passt die Software in heterogene IT-<br />

L<strong>and</strong>schaften? Dabei wird die Frage nach den<br />

Schnittstellen explizit ausgeklammert, sondern<br />

stattdessen bei Bedarf als funktionale Anforderung<br />

abgefragt.<br />

nf-5 Erweiterbarkeit Lassen sich individuelle Anpassungen vornehmen?<br />

Gibt es Plugins, die die Funktionalität erweitern?<br />

nf-6 Zuverlässigkeit Wie fortgeschritten ist die Systemreife? Wie stabil<br />

und fehlertolerant ist die Anwendung? Lassen sich<br />

verlorengegangene Daten wiederherstellen? Gibt es<br />

Möglichkeit zum Debugging?<br />

nf-7 Geschwindigkeit Wie performant ist die Software? Skaliert die<br />

Software?<br />

6%<br />

6%<br />

7%<br />

7%<br />

7%<br />

3%<br />

Tabelle 3.2: Übergreifende nichtfunktionale Anforderungen<br />

646


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

3.2<br />

Funktionale Anforderungen<br />

Diese Anforderungen beziehen sich auf die funktionalen Aspekte, die Anwendungen leisten sollen.<br />

Für jede der fünf Gruppen wurden individuelle Anforderungen identifiziert und zu drei bis vier<br />

sinnvoll bewertbaren Kriterien verdichtet. Eine höhere Granularität wurde an dieser Stelle gemieden,<br />

da eine höhere Detaillierung nicht von dem subjektiven Bewertungsfahren auf Basis von Erfahrungswerten<br />

und der teils sehr unterschiedlich ausgelegten Anwendungen angemessen vorgenommen<br />

werden kann. Die Software wird im Arbeitseinsatz in den Teilgruppen betrachtet und bewertet,<br />

inwieweit die Anforderungen im praktischen Einsatz erfüllt werden.<br />

3.2.1 Database<br />

In der Gruppe der Datenbanken wird der Schwerpunkt im Umfang der Kernfunktionen gesehen. So<br />

können die verfügbaren SQL-St<strong>and</strong>ards die Arbeitsweise ebenso beeinflussen wie unterstützte<br />

Programmiersprachen oder die Nutzbarkeit von Subroutinen. Für den reibungslosen Betrieb der<br />

Datenbank ist ebenfalls die Form von möglichen Backups und der Wiederherstellung nach<br />

verschiedenen Fehlern oder Ausfällen relevant. Schließlich wird mit steigender Benutzerzahl das<br />

Berechtigungsmanagement ein zu beachtendes Thema um möglichen Fehleingaben vorzubeugen.<br />

Nr. Kriterium Beschreibung Gew.<br />

db-1 Funktionsumfang Welchen Funktionsumfang bietet die Datenbank:<br />

SQL-St<strong>and</strong>ard, integrierte Programmiersprache,<br />

Transaktionen, Stored Procedures, Datenformate, …<br />

30%<br />

db-2 Berechtigungsmanagement Wie erfolgen die Identifizierung von Benutzern und<br />

die Zugriffssteuerung? Lassen sich gestaffelte<br />

Berechtigungen definieren (Berechtigungsrollen)?<br />

db-3 Backup & Recovery Wie lassen sich Daten sichern und wieder<br />

einspielen? Welche Backupformen werden<br />

unterstützt?<br />

10%<br />

20%<br />

Tabelle 3.3: Database spezifische funktionale Anforderungen<br />

3.2.2 ETL<br />

Beim Auslesen, Umw<strong>and</strong>eln und Laden von Daten steht die Aufbereitung im Vordergrund. Falls es<br />

Probleme Beim In- oder Output gibt, können an den verbundenen Stellen Änderungen vorgenommen<br />

werden, ist jedoch der Kernprozess der Anwendung unzureichend, stellt dies die Tauglichkeit der<br />

gesamten Anwendung in Frage. Die Datenquellen und –ziele sind entsprechend das nächstwichtigste<br />

Kriterium, da sie das Einsatzgebiet der Anwendung maßgeblich vorgeben. Als ähnlich relevant wird<br />

das Prozesskettenmanagement gesehen, denn Einschränkungen in diesem Bereich können sich auf die<br />

Ergebnisqualität auswirken. Die Überwachung der laufenden Prozesse zum frühzeitigen Eingreifen im<br />

647


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

Fehlerfall und der Fehlersuche beeinflusst indes das Ergebnis nicht unmittelbar, sollte aber dennoch<br />

berücksichtig werden.<br />

Nr. Kriterien Beschreibung Gew.<br />

etl-1 Datenquellen & -ziele Welche Datenquellen werden als Quelle und Ziel<br />

unterstützt: Datenbanken, Dateisysteme,<br />

mehrdimensionale Quellen, <strong>Business</strong> Software (ERP<br />

& CRM), …? Welche Möglichkeiten der<br />

Datenübertragung (FTP, BS-copy, etc.) sind<br />

möglich?<br />

15%<br />

etl-2 Transformation<br />

Welchen Funktionen stehen für die Datentransformation<br />

und das Cleansing bzw. die Validation von<br />

Daten zur Verfügung?<br />

20%<br />

etl-3 Monitoring Wie lassen sich laufende ETL-Prozesse überwachen? 10%<br />

etl-4 Prozesskettenmanagement<br />

Wie lassen sich ETL-Prozessketten gestalten<br />

(sequentiell / parallel) und steuern (manuell /<br />

automatisiert)?<br />

15%<br />

Tabelle 3.4: ETL spezifische funktionale Anforderungen<br />

3.2.3 Analytical Services<br />

Da das Produkt der Datenanalyse der Gewinn neuer Informationen und Erkenntnisse ist, steht in<br />

diesem Bereich die Bildung der Kennzahlen inklusive ihrer gesamten Herleitung im Vordergrund. Die<br />

Modellierung der Dimensionen ist als vorgelagerter Schritt zu verstehen und hat aufgrund ihrer<br />

Auswirkung auf die Ergebnisqualität ebenfalls einen hohen Stellenwert. Schließlich muss auch die<br />

Auswahl möglicher Datenquellen und ihre Integrierbarkeit in den Datenmodellen berücksichtigt<br />

werden.<br />

Nr. Kriterien Beschreibung Gew.<br />

as-1 Datenquellen Welche Datenquellen werden unterstützt? Werden<br />

mehrere Datenquellen in einem Datenmodell<br />

unterstützt?<br />

15%<br />

as-2 Kennzahlenmodellierung Wie lassen sich Kennzahlen bilden (u.a. durch<br />

Formeln)?<br />

as-3 Dimensionsmodellierung Wie werden Dimensionen modelliert? Gibt es<br />

vorgefertigte Dimensionen (Zeitdimension)?<br />

25%<br />

20%<br />

Tabelle 3.5: Analytical Services spezifische funktionale Anforderungen<br />

648


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

3.2.4 Reporting<br />

Die Aufbereitung der Daten in aussagekräftigen Darstellungsformen, die durch Interaktionsmöglichkeiten<br />

zum besseren Verständnis beitragen können, wird im Bereich des Reporting mit einer hohen<br />

Gewichtung versehen. Da die gewonnenen Informationen jedoch auch bei den entsprechenden<br />

Adressaten in der passenden Form ankommen müssen, wird den Report-Assistenten der gleiche<br />

Stellenwert zugemessen. Kann der Fachanwender die benötigten Berichte mit Unterstützung der<br />

Software ohne spezielle Kenntnisse selber erstellen, fällt die unter Umständen aufwändige<br />

Kommunikation mit dem Reporting-Spezialisten weg. Dieser kann sich somit <strong>and</strong>eren Aufgaben<br />

zuwenden während der Fachanwender unmittelbar auf die gewünschten Informationen zugreifen kann.<br />

Besonders regelmäßig erfolgende St<strong>and</strong>ardberichte eignen sich zur zentralen Bereitstellung über ein<br />

eigenes Portal. Die Kopplungsfähigkeit mit solchen Plattformen wird daher ebenfalls in diesem<br />

Bereich berücksichtigt. Ebenso ist die Nutzbarkeit verschiedener Datenquellen relevant, etwa die<br />

Unterstützung von sowohl relationaler als auch multidimensionaler Formen.<br />

Nr. Kriterium Beschreibung Gew.<br />

r-1 Datenquellen Welche Datenquellen werden unterstützt (z.B. 10%<br />

relationale und multidimensionale Daten)?<br />

r-2 Darstellungsform Wie werden Daten in Reports graphisch dargestellt?<br />

Welche Formen der Interaktion (z.B. OLAP-<br />

Funktionalitäten) sind möglich?<br />

r-3 Report-Assistenten Lassen sich Bedarfsberichte vom Endanwender durch<br />

Assistenten / Dialogsysteme interaktiv zusammenstellen?<br />

Wie wird die Erstellung der Berichte<br />

unterstützt? Wird eine Vorschau während der<br />

Erstellung angeboten?<br />

r-4 Bereitstellung Können Reports automatisch verschickt werden?<br />

Gibt es ein eigenes Portal zum Zugriff auf die<br />

Reports? Lassen sich Reports in (Drittanbieter-)<br />

Anwendungen integrieren (z.B. Sharepoint, Lotus<br />

Notes, …)?<br />

20%<br />

20%<br />

10%<br />

Tabelle 3.6: Reporting spezifische funktionale Anforderungen<br />

3.2.5 Data Mining<br />

Bei Anwendungen für das Data Mining liegt der Fokus auf den möglichen Methoden zur Gewinnung<br />

von Informationen. Diese sind maßgeblich an der Ergebnisqualität beteiligt und erhalten daher den<br />

größten Anteil der Gewichtung. Ähnlich wichtig werden die unterstützenden Funktionen gesehen,<br />

anh<strong>and</strong> derer die Datenverarbeitung gesteuert, überwacht und auf ihre Eignung zum Erreichen des<br />

gewünschten Ziels hin evaluiert werden. Eine Vielzahl möglicher Datenquellen ist Vorteilhaft für die<br />

möglichen Einsatzfelder der Anwendung, wird jedoch nicht als zentrales Kriterium verst<strong>and</strong>en. Da<br />

zudem die ansprechende Darstellung der Informationen nicht zwangsläufig zu den Aufgaben einer<br />

649


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

Anwendung für das Data Mining zählt, wird ebenso die Möglichkeit des Exports in gängige Formate<br />

und Anwendungen betrachtet.<br />

Nr. Kriterium Beschreibung Gew.<br />

dm-1 Datenquellen & -ziele Welche Datenquellen werden für die Quelldaten<br />

unterstützt? Welche Möglichkeiten des Exportes gibt<br />

es?<br />

15%<br />

dm-2 Unterstützte Methoden<br />

dm-3 Prozessmanagement,<br />

Datenvisualisierung &<br />

Evaluierung<br />

Welche Data-Mining-Methoden werden mitgeliefert?<br />

Lassen sich bestehende ändern bzw. eigene<br />

definieren?<br />

Wie werden Data-Mining-Prozesse gestartet und<br />

gesteuert? Wie werden Daten visualisiert? Wie lässt<br />

sich die Qualität der angewendeten Methode bezogen<br />

auf die eigenen Daten evaluieren?<br />

25%<br />

20%<br />

Tabelle 3.7: Data Mining spezifische funktionale Anforderungen<br />

4. Database<br />

In den Teilgruppen kommen die Datenbanken von drei verschiedenen Anbietern zum Einsatz.<br />

Während Smart Wind Farm die In-Memory-Technologie von SAP HANA nutzt, verwendet Jinengo<br />

den Microsoft SQL Server 2012. Die Teilgruppe Analytisches CRM verwendet indes die Oracle<br />

Database 11g zur Lagerung der Daten.<br />

4.1<br />

SAP HANA<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit 1 Die Datenbank kann nicht separat erworben werden, sondern<br />

vom Hersteller<br />

nur zusammen mit dem restlichen HANA Komponenten.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

3 Es werden Schulungen und Dokumente zu dem System<br />

angeboten. Außerdem stehen Support-Foren zur Verfügungen.<br />

3 Die Benutzerfreundlichkeit ist mit <strong>and</strong>eren SQL Datenbanken<br />

zu vergleichen und bietet einen strukturierten Aufbau. Einige<br />

benötigte Funktionen sind jedoch in Untermenüs versteckt und<br />

nicht sofort ersichtlich.<br />

nf-4 Integrierbarkeit 2 Die HANA-Datenbank ist ein Teil des HANA-Systems und<br />

damit bereits integriert. Bestehende SAP Systeme können an<br />

das HANA System angebunden werden um die Vorteile zu<br />

nutzen.<br />

Allerdings funktioniert die Software nur mit einem Suse<br />

Linux 11 System auf spezieller zertifizierter Hardware von<br />

ausgewählten Herstellern.<br />

650


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

nf-5 Erweiterbarkeit 4 Es gibt verschiedene Versionen des HANA-Systems.<br />

Außerdem ist das gesamte HANA-System linear-skalierbar<br />

und kann somit durch weitere Server um ein vielfaches an<br />

Speicherplatz und Rechenleistung erweitert werden.<br />

nf-6 Zuverlässigkeit 2 Die Datenbank hat ebenso wie das gesamte HANA-System<br />

noch keinen finalen Systemst<strong>and</strong> erreicht.<br />

nf-7 Geschwindigkeit 4 Aufgrund der Verwendung von In-Memory Technologie<br />

bietet das System eine hohe Arbeitsgeschwindigkeit, die bei<br />

Bedarf durch weitere Server erweitert werden kann.<br />

db-1 Funktionsumfang 4 Da das HANA-System eine komplettes System ist und nicht<br />

nur eine reine Datenbank, bietet es zusätzlich zu den<br />

Datenbankfunktionen und der In-Memory auch Analyse, ETL<br />

und Reporting-Funktionen.<br />

db-2<br />

Berechtigungsmanagement<br />

4 Das System ist M<strong>and</strong>antenfähig und bietet einer rollenbasierende<br />

Rechteverteilung.<br />

db-3 Backup & Recovery 4 Zusätzlich zu möglichen Vollbackups, wird der DB-Log<br />

kontinuierlich und der gesamte Datenbest<strong>and</strong> regelmäßig<br />

gesichert.<br />

Tabelle 4.1: Bewertung Database SAP HANA<br />

4.2<br />

Microsoft SQL Server 2012<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Microsoft ist als großer etablierter Anbieter von St<strong>and</strong>ardsoftware<br />

wenig insolvenzgefährdet. Die Datenbank kann im<br />

Unternehmen gehostet werden, lässt sich aber nicht<br />

eigenständig weiterentwickeln.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Es werden zahlreiche Hilfestellungen von Seiten Microsofts<br />

geboten (sowohl produktintegriert als auch online).<br />

Insbesondere stellt Microsoft auch einen technischen Support<br />

bereit. Zudem gibt es durch die große Verbreitung des<br />

Produkts viel externe Hilfestellung, z.B. in Blogs und Foren.<br />

4 Die Software ist in den meisten Teilen mit einer graphischen<br />

Oberfläche intuitiv bedienbar, die Fensteranordnung lässt sich<br />

an individuelle Bedürfnisse anpassen. Aufbau und Begriffe<br />

orientieren sich weitgehend an den St<strong>and</strong>ardkonventionen für<br />

Datenbankanwendungen.<br />

nf-4 Integrierbarkeit 3 Die Software lässt sich insbesondere in Microsoft-<br />

Umgebungen gut integrieren. Die Software setzt den Einsatz<br />

von Windows auf dem Server allerdings zwingend voraus.<br />

nf-5 Erweiterbarkeit 3 Es gibt verschiedene Versionen des SQL Servers, die<br />

unterschiedlichen Ansprüchen gerecht werden.<br />

nf-6 Zuverlässigkeit 4 Die Software ist in ihrer Systemreife sehr weit fortgeschritten.<br />

nf-7 Geschwindigkeit 3 Die Datenbank zeichnet sich subjektiv durch eine hohe<br />

Geschwindigkeit im Vergleich zu frei erhältlichen Open-<br />

Source-Produkten aus.<br />

651


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

db-1 Funktionsumfang 4 Die Software verfügt über einen sehr hohen Funktionsumfang.<br />

Die Abfragesprache basiert weitgehend auf dem SQL-<br />

St<strong>and</strong>ard. Eine integrierte Programmiersprache (T-SQL)<br />

sowie erweiterte Datenbankfunktionalitäten (Stored<br />

Procedures, Funktionen, Trigger) werden angeboten. Es<br />

werden zahlreiche Datenformate unterstützt. In der Enterprise-<br />

Version ist xVelocity, die In-Memory-Technologie von<br />

Microsoft, unterstützt.<br />

db-2<br />

Berechtigungsmanagement<br />

4 Berechtigungen lassen sich durch Rollen und Gruppen<br />

feingranular vergeben.<br />

db-3 Backup & Recovery 4 Backups können auf verschiedene Arten (verschiedene<br />

Datenformate, Drittdatenbanken, inkrementell/vollständig)<br />

erstellt und wieder eingespielt werden.<br />

Tabelle 4.2: Bewertung Database Microsoft SQL Server 2012<br />

4.3<br />

Oracle Database 11g<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Durch die Möglichkeit, die Software im Haus zu hosten ist<br />

eine gewisse Unabhängigkeit vom Hersteller gegeben.<br />

Allerdings lassen sich selbstständig keine Änderungen am<br />

Quellcode der Software vornehmen. Prinzipiell ist das<br />

Unternehmen Oracle Corporation als großer Softwarehersteller<br />

wenig insolvenzgefährdet.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Auf der Webseite von Oracle ist eine umfangreiche<br />

Webdokumentation und Schulungsmaterialien verfügbar.<br />

Ebenfalls ist Support durch Oracle in Form einer kostenpflichtigen<br />

Lifetime Support Policy möglich. Zusätzlich ist<br />

kostenloser Support in diversen Diskussionsplattformen wie<br />

z.B. Nutzerforen möglich.<br />

3 Hier wird der SQL Developer bewertet. Der Aufbau orientiert<br />

sich weitgehend an den St<strong>and</strong>ardkonventionen für<br />

Datenbankanwendungen. Er bietet zwar grundlegende<br />

Funktionalitäten zur Erstellung, Versionisierung und Backups<br />

oder auch Erweiterbarkeit durch Plugins, ist allerdings<br />

langsam und enthält einige Fehler wie den Absturz des Tools<br />

bei Verlust der Datenbankverbindung.<br />

652<br />

nf-4 Integrierbarkeit 4 Oracle DB 11g ist seit Release 2 unabhängig von der<br />

verwendeten IT-L<strong>and</strong>schaft nutzbar.<br />

nf-5 Erweiterbarkeit 3 Es gibt verschiedene Versionen wie etwa St<strong>and</strong>ard Edition,<br />

St<strong>and</strong>ard Edition One oder Enterprise Edition der Oracle DB,<br />

die unterschiedlichen Ansprüchen gerecht werden.<br />

nf-6 Zuverlässigkeit 4 Die Oracle DB befindet sich durch umfangreiche Weiterentwicklungen<br />

bereits in der elften Version und ist daher in der<br />

Systemreife sehr weit fortgeschritten<br />

nf-7 Geschwindigkeit 3 Eine Oracle DB zeichnet sich subjektiv durch eine hohe<br />

Geschwindigkeit im Vergleich zu frei erhältlichen Open-<br />

Source Produkten aus.


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

db-1 Funktionsumfang 4 Oracle DB besitzt einen großen Funktionsumfang für die<br />

Erstellung und Verwaltung von Datenbanken. Es wird das<br />

volle Spektrum an SQL- und PL/SQL-Befehlen sowie Java als<br />

integrierte Programmiersprache unterstützt. Dem Nutzer<br />

stehen unter <strong>and</strong>erem benutzerdefinierte Prozeduren,<br />

Funktionen, sowie Trigger und Sequenzen zur Verfügung. Es<br />

kann aus einer großen Anzahl an Datenformaten gewählt<br />

werden. Zur Beschleunigung der Datenbank kann die In-<br />

Memory-Technologie TimesTen eingesetzt werden.<br />

db-2<br />

Berechtigungsmanagement<br />

4 Das Berechtigungsmanagement der Oracle DB bzw. im SQL<br />

Developer bei Verwendung der Oracle DB ist sehr<br />

umfangreich. Im SQL Developer ist es u.a. möglich,<br />

Benutzern individuell verschiedene Rollen und Rechte bei<br />

verschiedenen Projekten zu geben.<br />

db-3 Backup & Recovery 4 Die Software unterstützt eine umfangreiche Versionierung zur<br />

Wiederherstellung verschiedener Entwicklungsstände der<br />

Datenbank.<br />

Tabelle 4.3: Bewertung Database Oracle Database 11g<br />

4.4<br />

Vergleich Databases<br />

Nr. Kriterium Gew. SAP HANA<br />

nicht funktional<br />

Microsoft SQL<br />

Server 2012<br />

Oracle DB 11g<br />

nf-1 Unabhängigkeit vom Hersteller 4% 1 3 3<br />

nf-2 Support & Dokumentation 6% 3 4 4<br />

nf-3 Benutzerfreundlichkeit 6% 3 4 3<br />

nf-4 Integrierbarkeit 7% 2 3 4<br />

nf-5 Erweiterbarkeit 7% 4 3 3<br />

nf-6 Zuverlässigkeit 7% 2 4 4<br />

nf-7 Geschwindigkeit 3% 4 3 3<br />

funktional<br />

db-1 Funktionsumfang 30% 4 4 4<br />

db-2 Berechtigungsmanagement 10% 4 4 4<br />

db-3 Backup & Recovery 20% 4 4 4<br />

Bewertung 3,48 3,79 3,8<br />

Tabelle 4.4: Vergleich Databases<br />

Der Vergleich zeigt ein klares Unentschieden zwischen den etablierten Datenbanken von Microsoft<br />

und Oracle. Die Unterschiede in der Bewertung sind minimal und daher zu vernachlässigen. Die<br />

Verw<strong>and</strong>tschaft der beiden seit geraumer Zeit in Entwicklung befindlichen relationalen Datenbanken<br />

wird hier sehr deutlich. Die funktionalen Anforderungen werden von beiden Produkten auf hohem<br />

Niveau erfüllt, geringfügige Unterschiede lassen sich lediglich bei den nichtfunktionalen Anforderun-<br />

653


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

gen finden. Hier wurde der SQL Server 2012 als etwas benutzerfreundlicher empfunden, da der<br />

während des Projekts zur Datenbankverwaltung verwendete Oracle SQL Developer in seltenen Fällen<br />

bei Verlust der Verbindung zum Server abstürzte. Oracle DB 11g punktet hingegen bei der etwa<br />

besseren Integrierbarkeit, da bei der Auswahl des Betriebssystems ein gewisser Spielraum vorh<strong>and</strong>en<br />

ist, während der SQL Server 2012 zwingend auf einer Windows-Plattform installiert werden muss.<br />

Unterschiede lassen sich hingegen zu SAP HANA sehen. Dessen großes Argument ist die konsequente<br />

Nutzung von In-Memory-Technologien, welche bei den <strong>and</strong>eren betrachteten Datenbanken in Form<br />

von Microsofts xVelocity und Oracles TimesTen nur optional sind. Aufgrund der Umstände unter<br />

denen dieser Vergleich stattfindet und der geringen Gewichtung der schwierig messbaren Geschwindigkeit,<br />

kann SAP HANA den Trumpf in diesem Fall nicht ausspielen. Stattdessen sind klare Defizite<br />

bei den nichtfunktionalen Anforderungen zu sehen, welche auch mit der nicht abgeschlossenen<br />

Entwicklung des Produkts zu begründen sind. So sind Abstriche bei der Zuverlässigkeit im Vergleich<br />

mit den etablierten Mitbewerbern hinzunehmen. Eine weitere Einschränkung findet sich bei der<br />

Integrierbarkeit, denn die Anforderungen an Hard- und Software sind sehr spezifisch und bieten nur<br />

wenig Spielraum.<br />

5. ETL<br />

Im Bereich ETL wird von der Teilgruppe Smart Wind Farm die Open-Source-Lösung Pentaho Data<br />

Integration CE verwendet. Sie wird mit den kommerziellen Microsoft SQL Server Integration Services<br />

(SSIS) verglichen, welche von Jinengo genutzt wird. Die Teilgruppe Analytisches CRM nutzt eine<br />

selbstprogrammierte Java-Applikation zur Datenextraktion, -aufbereitung und dem Transfer zum<br />

Datenziel, welche nicht sinnvoll mit den spezialisierten Lösungen verglichen werden kann.<br />

5.1<br />

Pentaho Data Integration CE<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

4 Pentaho Data Integration ist sowohl als Community Edition<br />

(CE) und als kommerzielle Enterprise Edition (EE) welche<br />

nicht Gegenst<strong>and</strong> dieser Bewertung ist verfügbar. Die<br />

eingesetzte CE Version wird von einer großen Community<br />

unterstützt, ist eine Open Source Software und ist somit vor<br />

einer Insolvenz sehr gut abgesichert. Weiterhin ist der Java<br />

Quellcode der Software frei verfügbar und kann selber<br />

gehostet und leicht angepasst werden.<br />

654


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

3 Die Basisinstallation kommt einher mit einer ausführlichen<br />

Dokumentation sowie einer Online-Dokumentation, welche<br />

von der Community bereitgestellt wird. Weitere Informationen<br />

sind auf der Community-Webseite verfügbar z.B. in Form<br />

von Anleitungen, FAQs oder Forenbeiträgen. Zusätzlich gibt<br />

es zahlreiche Foren, Blogs oder Videos von privaten<br />

Anbietern. Ein direkter technischer Support ist der<br />

kostenpflichtigen EE Version vorbehalten.<br />

2 Die Erstellung der Prozesskette erfolgt über ein Baukastenprinzip,<br />

indem sich jeder Nutzer die vorgefertigten Module<br />

(Funktionen) auf einer grafischen Arbeitsfläche per Drag &<br />

Drop zusammenstellen kann. Die Grundstruktur der Software<br />

ist klar gegliedert und leicht verständlich. Jedoch sind die<br />

Dialoge der einzelnen Module teilweise unterschiedlich und<br />

unübersichtlich aufgebaut, was zu einem sehr hohen<br />

Einarbeitungsaufw<strong>and</strong> führt.<br />

nf-4 Integrierbarkeit 3 Aufgrund von Java lässt sich die Software auf vielen<br />

Plattformen integrieren und kann individuell angepasst<br />

werden. Der Einsatz im Unternehmen unter Voraussetzung<br />

der Hochverfügbarkeit ist jedoch fraglich.<br />

nf-5 Erweiterbarkeit 4 Die Software lässt sich dank Java und des offenen Quellcodes<br />

sehr leicht erweitern.<br />

nf-6 Zuverlässigkeit 3 Pentaho Data Integration wird seit 2004 entwickelt und ist<br />

mittlerweile in der vierten Generation verfügbar. Es stehen<br />

zahlreiche Monitoring und Logging-Funktionalitäten bereit<br />

um Fehler zu identifizieren. Die Stabilität der Anwendung ist<br />

bei großen parallelen Datenmengen stark von den verfügbaren<br />

Ressourcen der Java Virtuell Maschine abhängig. Diese neigt<br />

dazu nicht zu reagieren, sobald zu wenig Arbeitsspeicher<br />

verfügbar ist, der Prozess läuft zwar weiter aber ein Realtime<br />

Monitoring ist nicht mehr möglich.<br />

nf-7 Geschwindigkeit 0 Nicht bewertbar.<br />

etl-1<br />

Datenquellen<br />

& -ziele<br />

4 Es wird eine Fülle von Systemen, Datentypen und Protokollen<br />

als Datenquelle sowie Datenziel unterstützt. Neben<br />

Datenbanken, Flatfile & Excel werden dabei auch<br />

„unkonventionellere“ Quellen wie bspw. RSS, Google<br />

Analytics, etc. unterstützt.<br />

etl-2 Transformation 4 Das Angebot an Transformationen ist sehr umfangreich und<br />

kann leicht individualisiert bzw. erweitert werden, teilweise ist<br />

jedoch eine hohe Einarbeitungszeit von Nöten.<br />

etl-3 Monitoring 3 Es stehen verschiedene Logging-Tiefen zur Verfügung, jeder<br />

Schritt kann sowohl grafisch als auch textuell überwacht<br />

werden. Die Performance lässt sich grafisch auswerten.<br />

etl-4<br />

Prozesskettenmanagement<br />

4 Die ETL-Prozessketten können sowohl sequentiell als auch<br />

parallel gestaltet werden. Eine oder mehrere Prozessketten<br />

lassen sich zu einem Job zusammenfügen und manuell oder<br />

automatisch gestartet werden. Der Job kann beliebig gestaltet<br />

werden und mit Vor- und Nachbedingungen verknüpft<br />

werden.<br />

Tabelle 5.1: Bewertung ETL Pentaho Data Integration CE<br />

655


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

5.2<br />

Microsoft SQL Server Integration Services<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Microsoft ist als großer etablierter Anbieter von St<strong>and</strong>ardsoftware<br />

wenig insolvenzgefährdet. Die Software lässt sich im<br />

Unternehmen verwenden, lässt sich aber nicht eigenständig<br />

weiterentwickeln.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Es werden zahlreiche Hilfestellungen von Seiten Microsofts<br />

geboten (sowohl produktintegriert als auch online).<br />

Insbesondere stellt Microsoft auch einen technischen Support<br />

bereit. Zudem gibt es durch die große Verbreitung des<br />

Produkts viel externe Hilfestellung, z.B. in Blogs und Foren.<br />

3 Die Software ist in den meisten Teilen mit einer graphischen<br />

Oberfläche intuitiv bedienbar, die Fensteranordnung lässt sich<br />

an individuelle Bedürfnisse anpassen. Fortgeschrittene<br />

Integrationsanforderungen sind dabei jedoch zum Teil nur<br />

durch großen Aufw<strong>and</strong> implementierbar. Die Prozesskette<br />

wird graphisch zusammengestellt (Baukastenprinzip). Es<br />

müssen vereinzelt softwarespezifische Begriffe erlernt<br />

werden.<br />

nf-4 Integrierbarkeit 2 Die Software lässt sich insbesondere in Microsoft-<br />

Umgebungen mit einer MSSQL-Datenbank gut integrieren.<br />

Die Software setzt allerdings den Einsatz von Windows<br />

zwingend voraus.<br />

nf-5 Erweiterbarkeit 3 Die Software verfügt bereits über einen großen Funktionsumfang.<br />

Sollten die vorgefertigten Module für einen ETL-<br />

Prozess nicht ausreichen, lässt sich mithilfe von Visual C#<br />

individueller Code entwickeln.<br />

nf-6 Zuverlässigkeit 3 Die Software ist in ihrer Systemreife weit fortgeschritten.<br />

Während der Projektphase kam es auf unserem (ressourcenschwachen)<br />

Testsystem zu gelegentlichen Systemabstürzen.<br />

Die Möglichkeiten des Monitorings und insbesondere des<br />

Debuggings sind beschränkt.<br />

nf-7 Geschwindigkeit 0 Nicht bewertbar.<br />

etl-1<br />

Datenquellen<br />

& -ziele<br />

3 Es werden die in einem Unternehmen relevanten Systeme als<br />

Datenquelle und Datenziel unterstützt (verschiedene DB-<br />

Systeme, Flatfile, Excel).<br />

etl-2 Transformation 4 Die Software verfügt über eine Vielzahl an vorgefertigten<br />

Funktionen für die Transformation und das Cleansing von<br />

Daten. Zudem lassen sich durch T-SQL, .NET und Ausdrücke<br />

eigene Transformationen erstellen.<br />

etl-3 Monitoring 2 Die Prozesse lassen sich sowohl in SSIS als auch auf der<br />

Datenbank monitoren. Die Funktionen (insbesondere zum<br />

Debugging) sind dabei allerdings beschränkt.<br />

656


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

etl-4<br />

Prozesskettenmanagement<br />

4 ETL-Prozesse können sowohl sequentiell als auch parallel<br />

gestaltet werden. Die eigentliche Abarbeitung der Daten<br />

verläuft allerdings auf Ebene einzelner Datensätze (und damit<br />

sequentiell). Die ETL-Prozesse lassen sich in die SQL-Server-<br />

Datenbank laden und von dort manuell sowie automatisiert<br />

starten.<br />

Tabelle 5.2: Bewertung ETL Microsoft SQL Integration Services<br />

5.3<br />

Vergleich ETL<br />

Nr. Kriterium Gew.<br />

nicht funktional<br />

Pentaho Data Integration<br />

CE<br />

Microsoft SSIS<br />

nf-1 Unabhängigkeit vom Hersteller 4% 4 3<br />

nf-2 Support & Dokumentation 6% 3 4<br />

nf-3 Benutzerfreundlichkeit 6% 2 3<br />

nf-4 Integrierbarkeit 7% 3 2<br />

nf-5 Erweiterbarkeit 7% 4 3<br />

nf-6 Zuverlässigkeit 7% 3 3<br />

nf-7 Geschwindigkeit 3% n. b. n. b.<br />

funktional<br />

etl-1 Datenquellen & -ziele 15% 4 3<br />

etl-2 Transformation 20% 4 4<br />

etl-3 Monitoring 10% 3 2<br />

etl-4 Prozesskettenmanagement 15% 4 4<br />

Bewertung 3,535 3,225<br />

Tabelle 5.3: Vergleich ETL<br />

Unter Betrachtung der bewerteten ETL-Tools gilt es hervorzuheben, dass ein kommerzielles Produkt<br />

mit einem Open Source Produkt verglichen wurde. Dies führt zwangsläufig bei einigen Kriterien zu<br />

sehr differenzierten Ausgangspunkten. Folglich ist einerseits die Unabhängigkeit vom Hersteller<br />

seitens der Open-Source-Lösung Pentaho Data Integration CE geringer bzw. kaum vorh<strong>and</strong>en und<br />

<strong>and</strong>erseits der Support für die kommerzielle Lösung Microsoft SSIS besser. Beide Anwendungen sind<br />

hinsichtlich des Aufbaus und der allgemeinen Funktionsweise sehr ähnlich ausgelegt. Pentaho Data<br />

Integration CE hebt sich durch seine Plattformunabhängigkeit und der guten Erweiterbarkeit dank der<br />

Implementierung in Java hervor. Weiterhin ist die hohe Anzahl der zur Verfügung stehender<br />

Datenquellen sehr positiv anzumerken. Neben den üblichen Datenquellen fallen hier insbesondere<br />

unkonventionellere Quellen wie bspw. RSS und Google Analytics positiv auf. Microsoft SSIS<br />

hingegen sticht durch seine Benutzerfreundlichkeit, die sich insbesondere durch die übersichtliche und<br />

657


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

intuitive graphische Oberfläche ergibt. Zudem ergibt sich in einer bestehenden Microsoft-L<strong>and</strong>schaft<br />

eine nahtlose Integration.<br />

In Summe erlangt Pentaho Data Integration CE eine bessere Bewertung, liegt jedoch eine bestehende<br />

Microsoft-L<strong>and</strong>schaft vor so empfiehlt es sich Microsoft SSIS in Betracht zu ziehen.<br />

6. Analytical Services<br />

Die Teilgruppe Jinengo setzt zur Datenanalyse die zum Microsoft SQL Server 2012 gehörenden SQL<br />

Server Analysis Services (SSAS) ein. Diese werden mit der Analysefunktion von SAP HANA der<br />

Gruppe Smart Wind Farm und dem von Analytisches CRM genutzten IBM Cognos Framework<br />

Manager verglichen.<br />

6.1<br />

Microsoft SQL Server Analysis Services<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Microsoft ist als großer etablierter Anbieter von St<strong>and</strong>ardsoftware<br />

wenig insolvenzgefährdet. Die Software lässt sich im<br />

Unternehmen verwenden, lässt sich aber nicht eigenständig<br />

weiterentwickeln.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Es werden zahlreiche Hilfestellungen von Seiten Microsofts<br />

geboten (sowohl produktintegriert als auch online). Zudem<br />

gibt es durch die große Verbreitung des Produkts viel externe<br />

Hilfestellung, z.B. in Blogs und Foren.<br />

3 Die Software lässt sich nicht individuell an eigene Bedürfnisse<br />

anpassen, ist allerdings in den meisten Teilen intuitiv<br />

bedienbar. Die Modellierung erfolgt weitgehend gestützt<br />

durch graphische Elemente. Es müssen vereinzelt<br />

softwarespezifische Begriffe erlernt werden.<br />

nf-4 Integrierbarkeit 2 Die Software lässt sich insbesondere in Microsoft-<br />

Umgebungen gut integrieren. Die Software setzt allerdings<br />

den Einsatz von Windows zwingend voraus.<br />

nf-5 Erweiterbarkeit 1 Die Software verfügt bereits über einen großen Funktionsumfang,<br />

lässt sich allerdings nicht eigenständig erweitern.<br />

nf-6 Zuverlässigkeit 3 Die Software ist in ihrer Systemreife weit fortgeschritten.<br />

nf-7 Geschwindigkeit 0 Nicht bewertbar.<br />

as-1 Datenquellen 3 Als Datenquellen werden insbesondere Microsoft- und<br />

Oracle-Datenbanken unterstützt. Innerhalb eines Datenmodells<br />

werden auch mehrere Datenquellen unterstützt.<br />

as-2<br />

Kennzahlenmodellierung<br />

3 Kennzahlen lassen sich auf Grundlage von Attributen sowie<br />

Berechnungen (eigene Syntax) bilden. Dabei können auch<br />

Trend- und Zielausdrücke definiert werden.<br />

658


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

as-3<br />

Dimensionsmodellierung<br />

3 Dimensionen lassen sich auf Basis bestehender Datenbanktabellen<br />

erstellen. Zudem werden Hilfestellungen für die<br />

Erstellung gängiger Dimensionen gegeben, die nicht direkt auf<br />

Tabellen basieren (insbesondere für den Fall der Zeitdimension).<br />

Es gibt keine verpflichtend zu verwendenden<br />

Dimensionen.<br />

as-4 Cube-Funktionalität 0 Die Darstellung der Cubes erfolgt (außer zu Zwecken der<br />

Vorschau) nicht in SSAS. Das Kriterium ist daher nicht<br />

bewertbar.<br />

Tabelle 6.1: Bewertung Analytical Services Microsoft SQL Analysis Services<br />

6.2<br />

IBM Cognos Framework Manager<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Durch die Möglichkeit, die Software im Haus zu hosten,<br />

besteht eine gewisse Unabhängigkeit von der Verfügbarkeit<br />

des Herstellers IBM. Als großes IT-Unternehmen ist IBM<br />

derzeit wenig insolvenzgefährdet. Allerdings lassen sich<br />

selbstständig keine Änderungen am Quellcode der Software<br />

vornehmen.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Es existiert eine umfangreiche Webdokumentation und<br />

Schulungsmaterialien auf der Firmenwebseite. Support durch<br />

IBM ist sowohl über die umfangreiche frei verfügbare<br />

firmeneigene Webdokumentation für Installation, Einrichtung<br />

und Nutzung als auch kostenpflichtig für eine individuelle<br />

Problemlösung möglich.<br />

3 Es existiert ein übersichtliches Interface. Erstellen von<br />

Modellen benötigt jedoch tiefergehende Anwenderkenntnisse<br />

über den Umgang mit IBM Cognos Framework Manager.<br />

nf-4 Integrierbarkeit 3 Cognos Framework Manager kann auf verbreiteten<br />

Betriebssystemen wie Linux, Unix und Windows installiert<br />

werden. Die Zusammenarbeit mit den Datenbanken Oracle<br />

DB, DB2, MS SQL Server, Sybase und Informix wird<br />

unterstützt.<br />

nf-5 Erweiterbarkeit 1 Es sind keine Plugins oder Vergleichbares zur Erweiterung<br />

des Funktionsumfangs verfügbar. Dem Nutzer steht lediglich<br />

die Kernfunktionalität der Anwendung zur Verfügung.<br />

nf-6 Zuverlässigkeit 3 Das Tool läuft in den meisten Fällen sehr stabil. Abstürze oder<br />

dergleichen sind im Rahmen der <strong>Projektgruppe</strong> keine<br />

vorgekommen. Möglichkeiten zum Debugging sind so nicht<br />

vorh<strong>and</strong>en, anh<strong>and</strong> der überwiegend klaren Fehlermeldungen<br />

sind diese schnell ausgemacht. Packages können anh<strong>and</strong> von<br />

fortlaufenden Versionen angelegt werden, wodurch eine<br />

Wiederherstellung einer älteren Revision durchgeführt werden<br />

kann.<br />

nf-7 Geschwindigkeit 3 In den überwiegenden Fällen war die Performanz des Tools<br />

sehr gut. Nur selten kam es bei größeren Joins zu verlängerten<br />

Wartezeiten.<br />

659


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

as-1 Datenquellen 4 Die Auswahl an anbindbaren Datenquellen ist sehr groß. An<br />

relationalen Datenbanken lassen sich zahlreiche verbreitete<br />

Anbieter einpflegen. Außerdem können weitere Datenquellen<br />

in Form von Cognos-Modell, Cognos Architect, Cognos<br />

Impromptu, Cognos Decision Steam, Cognos Data Manager<br />

und weitere Metadatenquellen eingebunden werden.<br />

as-2<br />

as-3<br />

4 Kennzahlen können anh<strong>and</strong> eines sehr umfangreichen<br />

Cognos-Editors mit zahlreichen Formeln und Methoden<br />

erstellt werden und werden u.a. in Cognos Report Studio<br />

verwendet.<br />

3 Die Dimensionsmodellierung verläuft normalerweise über vier<br />

Ebenen (von IBM empfohlen) in dem die Informationen aus<br />

den Datenquellen über mehrere Stufen stetig angepasst<br />

werden können. Es sind soweit keine vorgefertigten<br />

Dimensionen vorh<strong>and</strong>en und auch die Intuitivität lässt zu<br />

wünschen übrig. Cognos Framework Manager verfügt über<br />

einen umfangreichen Funktionsumfang.<br />

as-4 Cube-Funktionalität 0 Cognos Framework Manager unterstützt keine Funktionen<br />

zum Erstellen von Cubes. Dazu muss Cognos Transformer zur<br />

Hilfe genommen werden.<br />

Tabelle 6.2: Bewertung Analytical Services Microsoft IBM Cognos Framework Manager<br />

6.3<br />

SAP HANA<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit 2 Die Software kann nicht einzeln Verwendet werden. Es<br />

vom Hersteller<br />

besteht somit eine starke Abhängigkeit vom Hersteller.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Kennzahlenmodellierung<br />

Dimensionsmodellierung<br />

Benutzerfreundlichkeit<br />

4 Es werden Schulungen und Dokumente zu dem System<br />

angeboten. Außerdem stehen Support-Foren zur Verfügungen.<br />

Da sich das HANA System noch in der Entwicklung befindet,<br />

wird die Dokumentation stetig erweitert und der Support<br />

ausgebaut.<br />

3 Die Bedienung ist aufgrund der Eclipse-Basis für die meisten<br />

Entwickler bekannt und daher intuitiv. Allerdings ist HANA<br />

noch in der Entwicklung, daher kann sich das Design noch<br />

verändern.<br />

nf-4 Integrierbarkeit 1 Die Software wird als komplettes System vertrieben und der<br />

Analytical Service kann nicht alleine verwendet oder integriert<br />

werden. Eine Verbindung mit einem bestehenden SAP System<br />

ist jedoch möglich.<br />

nf-5 Erweiterbarkeit 0 Nicht bewertbar da die Software nicht komplett fertiggestellt<br />

ist. Grundsätzlich sind Erweiterungen der Eclipse-Plattform<br />

mit Plugins möglich.<br />

nf-6 Zuverlässigkeit 2 Die Datenbank hat ebenso wie das gesamte HANA-System<br />

noch keinen finalen Systemst<strong>and</strong> erreicht.<br />

nf-7 Geschwindigkeit 4 Aufgrund der In-Memory Technologie ist die Geschwindigkeit<br />

viel höher als bei konventionellen Systemen.<br />

660


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

as-1 Datenquellen 2 Als Datenquelle für Analysen steht nur die HANA Datenbank<br />

zur Verfügung, diese kann jedoch Daten aus verschiedenen<br />

Datenquellen aufnehmen.<br />

as-2<br />

as-3<br />

Kennzahlenmodellierung<br />

Dimensionsmodellierung<br />

3 Es können Kennzahlen definiert werden, die mittels frei<br />

erstellbaren mathematischen Formeln aus den Daten berechnet<br />

werden.<br />

0 Die Dimensionen werden bei der Erstellung von Views<br />

automatisch generiert.<br />

as-4 Cube-Funktionalität 0 Aufgrund der In-Memory-Technologie werden zurzeit keine<br />

Cubes benötigt.<br />

Tabelle 6.3: Bewertung Analytical Services SAP HANA<br />

6.4<br />

Vergleich Analytical Services<br />

Nr. Kriterium Gew. SAP HANA Microsoft SSAS<br />

nicht funktional<br />

IBM Cognos<br />

Framework<br />

Manager<br />

nf-1 Unabhängigkeit vom Hersteller 4% 2 3 3<br />

nf-2 Support & Dokumentation 6% 4 4 4<br />

nf-3 Benutzerfreundlichkeit 6% 3 3 3<br />

nf-4 Integrierbarkeit 7% 1 2 3<br />

nf-5 Erweiterbarkeit 7% n. b. 1 1<br />

nf-6 Zuverlässigkeit 7% 2 3 3<br />

nf-7 Geschwindigkeit 3% 4 n. b. 3<br />

funktional<br />

as-1 Datenquellen 15% 2 3 4<br />

as-2 Kennzahlenmodellierung 25% 3 3 4<br />

as-3 Dimensionsmodellierung 20% n. b. 3 3<br />

Bewertung 2,55 2,835 3,32<br />

Tabelle 6.4: Vergleich Analytical Services<br />

Bei dem Vergleich der Anwendungen der verschiedenen Anbieter für Analytical Services ist zu<br />

berücksichtigen, dass die Entwicklung im Fall von SAP HANA noch nicht abgeschlossen ist und<br />

Änderungen möglich sind. Zudem kann HANA seine beworbenen Geschwindigkeitsvorteile aufgrund<br />

des Bewertungsmaßstabs und der verwendeten Datenmengen nicht zur Geltung bringen. Zusätzlich ist<br />

die Integrierbarkeit bei SAP HANA kaum gegeben, da lediglich eine Integration mit bestehenden<br />

SAP-Systemen möglich ist. Im Gegensatz dazu ist SSAS zwar für den Einsatz mit Microsoft-<br />

Produkten optimiert, setzt jedoch die Verwendung von Windows zwingend voraus. IBM Cognos<br />

Framework Manager besitzt umfangreiche Integrationsmöglichkeiten. Die Anwendung kann auf den<br />

661


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

gängigen Betriebssystemen Linux, Unix und Windows installiert werden. Die Zusammenarbeit mit<br />

den Datenbanken Oracle DB, DB2, MS SQL Server, Sybase und Informix wird unterstützt. Allen drei<br />

Fällen ist gemein, dass keine funktionalen Erweiterungen vorgesehen sind und dem Nutzer die<br />

Basisfunktionalität zur Verfügung gestellt wird. Dokumentation und Support sind bei allen drei<br />

betrachteten Anwendungen positiv aufgefallen. SSAS und Cognos unterstützen im Gegensatz zu<br />

HANA unterschiedliche Datenbanken als Quelle. HANA kann hingegen nur auf die eigene Datenbank<br />

zugreifen.<br />

Abschließend ist zu sagen, dass IBM Cognos Framework Manager gemäß der Bewertungsgrundlage<br />

mit geringem Vorsprung vor SSAS am positivsten bewertet wird. SAP fällt auch aufgrund der<br />

eingangs genannten Gründe eher negativ auf. Allerdings ist das Ergebnis als subjektives Empfinden<br />

durch die Verwendung der Anwendungen in den Teilgruppen zu interpretieren.<br />

7. Reporting<br />

Das Reporting erfolgt in der Teilgruppe Analytisches CRM über IBM Cognos. Jinengo verwendet<br />

sowohl die Komplettlösung Qlikview von Qliktech als auch die Microsoft SQL Server Reporting<br />

Services (SSRS). Smart Wind Farm nutzt die SAP HANA XS-Engine in Kombination mit Microsoft<br />

Excel. Excel wiederum findet in allen Teilgruppen Anwendung.<br />

7.1<br />

Microsoft SQL Reporting Services<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Microsoft ist als großer etablierter Anbieter von St<strong>and</strong>ardsoftware<br />

wenig insolvenzgefährdet. Die Software lässt sich im<br />

Unternehmen verwenden, lässt sich aber nicht eigenständig<br />

anpassen.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Es werden zahlreiche Hilfestellungen von Seiten Microsofts<br />

geboten (sowohl produktintegriert als auch online). Zudem<br />

gibt es durch die große Verbreitung des Produkts viel externe<br />

Hilfestellung, z.B. in Blogs und Foren.<br />

2 Die Software lässt sich nicht individuell an eigene Bedürfnisse<br />

anpassen, ist allerdings in den meisten Teilen intuitiv<br />

bedienbar (insbesondere durch Assistenten & GUI).<br />

Fortgeschrittene Reporting-Anforderungen sind dabei jedoch<br />

zum Teil nur durch großen Aufw<strong>and</strong> implementierbar. Es<br />

müssen vereinzelt softwarespezifische Begriffe erlernt<br />

werden.<br />

nf-4 Integrierbarkeit 2 Die Software lässt sich insbesondere in Microsoft-<br />

Umgebungen gut integrieren. Die Software setzt allerdings<br />

den Einsatz von Windows zwingend voraus.<br />

662


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

nf-5 Erweiterbarkeit 1 Die Software verfügt bereits über einen großen Funktionsumfang,<br />

lässt sich allerdings nicht eigenständig erweitern.<br />

nf-6 Zuverlässigkeit 3 Die Software ist in ihrer Systemreife weit fortgeschritten.<br />

nf-7 Geschwindigkeit 0 Nicht bewertbar.<br />

r-1 Datenquellen 3 Als Datenquellen werden insbesondere die relationale sowie<br />

Datenbank sowie multidimensionale Quellen (SSAS)<br />

unterstützt. Zudem lassen sich auf Drittanbieterdatenbanken,<br />

XML-Dateien sowie SAP NetWeaver BI zugreifen.<br />

r-2 Darstellungsform 2 Reports werden mithilfe von Webtechnologien oder PDF<br />

dargestellt. Die graphische Gestaltung ist dabei überwiegend<br />

rudimentär und unästhetisch. Interaktive Reports mit Drill-<br />

Drown, Roll-Up, etc. sind möglich.<br />

r-3 Report-Assistenten 3 Die Erstellung individueller Berichte ist über die Software<br />

sowie über ein Webportal möglich. Die Erstellung verläuft<br />

dabei auf Wunsch über einen Assistenten mit Vorschaufunktion.<br />

r-4 Bereitstellung 3 Reports können automatisiert per Mail verschickt, per<br />

Webportal aufgerufen und in SharePoint integriert werden.<br />

Tabelle 7.1: Bewertung Reporting Microsoft SQL Reporting Services<br />

7.2<br />

Qlikview<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

2 Mit QlikView erstellte Reports, Dashboards oder Self-<br />

Service-BI Lösungen sind ausschließlich mit QlikView zu<br />

öffnen. Es lassen sich eigenständige Server einrichten und<br />

selbstständig warten.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Für QlikView gibt es von Seiten des Herstellers eine<br />

ausführliche und verständliche Dokumentation in den<br />

gängigsten Sprachen. Für weitere Fragen kann die sehr belebte<br />

QlikView Community konsultiert werden.<br />

2 Durch seine Dokumentation und die allseits bekannten<br />

Symbole für gängige Funktionalitäten ist QlikView recht<br />

benutzerfreundlich. Komplexere Datentransformationen<br />

lassen sich mit einer eigenen Skriptsprache implementieren<br />

sind aber nicht trivial und ohne Vorkenntnisse umsetzbar.<br />

nf-4 Integrierbarkeit 1 QlikView Applikationen lassen sich sowohl über mobile<br />

Geräte darstellen, als auch in Browsern aufrufen. Für Benutzer<br />

der kostenlosen Personal Edition ist eine Weitergabe von<br />

Applikationen nur an lizenzierte Nutzer möglich. QlikView<br />

funktioniert nur unter aktuellen Windows Betriebssystemen.<br />

nf-5 Erweiterbarkeit 4 Mit JavaScript und HTML ist es möglich beliebige Extension-<br />

Objekte zu schreiben. Diese Objekte können Daten beliebig<br />

aus QlikView abfragen und transformieren.<br />

663


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

nf-6 Zuverlässigkeit 3 Die Software ist für den betrieblichen Kontext gut ausgereift<br />

und weist eine sehr geringe Fehlerhäufigkeit auf. Debugging<br />

ist möglich aber der Funktionsumfang bei diesem sehr stark<br />

eingeschränkt. Rücksetzung auf alte Zustände funktioniert nur<br />

mit Unterstützung durch eine Servervariante. Nicht bei rein<br />

lokalen Installationen.<br />

nf-7 Geschwindigkeit 0 QlikView verfolgt einen In-Memory Ansatz. Die Geschwindigkeit<br />

der Anwendung hängt daher stark von Art und<br />

Verfügbarkeit des Arbeitsspeichers ab. Allerdings ist eine<br />

korrekte Einschätzung im Rahmen unserer technischen<br />

Möglichkeiten nicht sinnvoll.<br />

r-1 Datenquellen 3 Daten können sowohl aus statischen Dateien (Flatfile, Excel,<br />

XML), als auch aus Datenbanken mit Hilfe von ODBC /<br />

OLEDB Treibern eingelesen werden.<br />

r-2 Darstellungsform 4 QlikView ermöglicht durch die flexible Anpassbarkeit nahezu<br />

jegliche vorstellbare Form der Datendarstellung, -kombination<br />

und –aufbereitung.<br />

r-3 Report-Assistenten 3 Reports zu erstellen ist umständlich und die Ergebnisse sind<br />

visuell nicht ansprechend. In Abgrenzung dazu sind die<br />

Analyse Dashboards Pixel-Genau und sehr umfangreich<br />

konfigurierbar. Eine graphische Oberfläche ermöglich das<br />

Einstellen aller Parameter.<br />

r-4 Bereitstellung 0 Unter Verwendung der Server Variante von QlikView lassen<br />

sich Reports/Dashboards bereitstellen und mit einem<br />

Rechtesystem abrufbar machen. Eine Darstellung ist, neben<br />

QlikView selbst, über mobile Geräte und Browser möglich.<br />

Kam in unserem Fall nicht zum Tragen kam.<br />

Tabelle 7.2: Bewertung Reporting Qlikview<br />

7.3<br />

IBM Cognos Report Studio<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Die Software ist nach Erwerb im Hause einsetzbar. Eine<br />

Abhängigkeit bzgl. der Verfügbarkeit der Software vom<br />

Hersteller existiert daher nicht. Allerdings lassen sich<br />

selbstständig keine Änderungen am Quellcode der Software<br />

vornehmen. Bei Insolvenz des Unternehmens ist mit etwaigen<br />

Updates nicht zu rechnen. Das Unternehmen IBM ist derzeit<br />

wenig insolvenzgefährdet.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Support durch IBM ist sowohl über die umfangreiche frei<br />

verfügbare firmeneigene Webdokumentation für Installation,<br />

Einrichtung und Nutzung als auch kostenpflichtig für eine<br />

individuelle Problemlösung möglich.<br />

3 Die Oberfläche ist klar strukturiert und nach geringer<br />

Einarbeitungszeit lassen sich die meisten gewünschten<br />

Funktionen mit wenig Zeitaufw<strong>and</strong> finden und einsetzen. Für<br />

Anfänger und Einsteiger in die Berichtsentwicklung dürften<br />

die Möglichkeiten überfordern.<br />

664


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

nf-4 Integrierbarkeit 3 IBM Cognos Report Studio kann auf gängigen Betriebssystemen<br />

wie AIX, HP Itanium, HP-UX, Linux, Solaris, Windows<br />

verwendet werden.<br />

nf-5 Erweiterbarkeit 1 Es sind keine Plugins oder Vergleichbares zur Erweiterung<br />

des Funktionsumfangs verfügbar<br />

nf-6 Zuverlässigkeit 3 Für eine reine Web-Applikation bietet Cognos Report Studio<br />

eine ungemein hohe Zuverlässigkeit an. Es läuft überwiegend<br />

stabil und Abstürze sind meist nur durch Auswahl des<br />

Internetbrowsers hinzunehmen.<br />

nf-7 Geschwindigkeit 4 Das Erstellen und Aufrufen der Berichte in der Entwicklungsumgebung<br />

läuft schnell und flüssig. Es konnten in keiner<br />

Weise Einschränkungen festgestellt werden. Das Ausführen<br />

der Berichte nimmt selbstverständlich je nach Datenmenge<br />

etwas Zeit in Anspruch.<br />

r-1 Datenquellen 1 Cognos Report Studio kann nur mit zuvor vom Framework<br />

Manager erstellten und veröffentlichten Packages oder Cubes<br />

vom Cognos Transformer arbeiten. Zwar besteht darüber die<br />

Anbindung an zahlreiche Datenquellen, aber auch eine<br />

Abhängigkeit des vorgelagerten Tools.<br />

r-2 Darstellungsform 4 Daten im Bericht können auf sämtlichen Wegen dargestellt<br />

werden, Cognos Report Studio setzt fast keine Grenzen. Es<br />

sind zahlreiche Diagramm- und Tabellentypen auswählbar, die<br />

wiederum viele individuelle Anpassungen zulassen. Innerhalb<br />

von OLAP-Datenquellen lassen sich auch Drill-Downs in<br />

Diagrammen oder Tabellen umsetzen.<br />

r-3 Report-Assistenten 2 Da das Report Studio für Ad-hoc bzw. schnell erstellte<br />

Berichte nicht geeignet ist, sind dementsprechende Vorlagen<br />

nur sehr rudimentär vorh<strong>and</strong>en. Einige Kernobjekte wie<br />

Diagramme oder Tabellen können zwar auch mit einem<br />

einfachen Wizard angelegt werden, darin liegt aber nicht die<br />

Kernfunktion vom Report Studio.<br />

r-4 Bereitstellung 4 Mit Cognos Report Studio einher geht die Einrichtung eines<br />

Web-Portal (bei CEWE das VIS) worüber das Tool gestartet<br />

wird. Das Portal lässt sich fast vollständig individuell<br />

anpassen und stellt die Berichte zur Verfügung. Berichte<br />

können auch zeitlich getriggert an gewünschte Adresse<br />

versendet werden. Berichte können als HTML-, PDF-, Excel-,<br />

CSV- oder XML-Datei exportieren und ermöglichen somit<br />

auch eine umfangreiche Integration in <strong>and</strong>ere Tools.<br />

Tabelle 7.3: Bewertung Reporting IBM Cognos Reporting Studio<br />

7.4<br />

Microsoft Excel<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

3 Microsoft ist als großer etablierter Anbieter von St<strong>and</strong>ardsoftware<br />

wenig insolvenzgefährdet. Excel lässt sich nur als<br />

Teil des Office-Pakets von Microsoft erwerben.<br />

665


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Es werden zahlreiche Hilfestellungen von Seiten Microsofts<br />

geboten (sowohl produktintegriert als auch online). Zudem<br />

gibt es durch die große Verbreitung des Produkts viel externe<br />

Hilfestellung, z.B. in Blogs und Foren.<br />

3 Excel zählt mit zu den benutzerfreundlicheren Microsoft-<br />

Produkten. Durch zahlreiche Online-Hilfen und Anleitungen,<br />

sowie das gewohnte Microsoft Look-And-Feel ist der Nutzer<br />

schnell in der Lage Ergebnisse zu erzielen.<br />

nf-4 Integrierbarkeit 4 Als Teil der Office Lösung von Microsoft braucht man sich<br />

bei der Integrierbarkeit von Microsoft Excel keine Sorgen<br />

machen. Nahezu jeder kennt es, oder hat es schon mal genutzt.<br />

Durch das typische Microsoft Look-<strong>and</strong>-Feel wird dem Nutzer<br />

diese Integration sehr leicht gemacht.<br />

nf-5 Erweiterbarkeit 4 Excel lässt sich über Plug-Ins und gegebenenfalls mittels<br />

.NET (Visual Basic bzw. C#) um diverse benötigte<br />

Funktionalitäten erweitern. Die letzten Versionen (2010 und<br />

2013) erlauben die Entwicklung von Custom-Ribbons und<br />

Plug-Ins.<br />

nf-6 Zuverlässigkeit 3 Seit dem ersten Auftreten von Excel im Jahr 1987 (davor<br />

unter <strong>and</strong>erem Namen) wurde es permanent weiterentwickelt<br />

und verbessert, was für die Reife des Programms stehen sollte.<br />

Es verfügt auch über rudimentäre Daten Wiederherstellungsfunktionalitäten.<br />

nf-7 Geschwindigkeit 3 Bei den Datenmengen mit denen wir zu tun hatten, zeigte sich<br />

Excel sehr performant. Die Skalierung nimmt man selbst über<br />

die Auswahl der Daten vor.<br />

r-1 Datenquellen 3 Excel ist in der Lage Daten aus verschiedensten Quellen<br />

abzurufen. Über die entsprechenden ODBC-Treiber oder OLE<br />

DB-Provider lässt sich mit Excel auf alle gängigen<br />

Datenbanken zugreifen. Leider stellt sich das Zusammenspiel<br />

von Excel mit neueren Webservices problematisch dar.<br />

r-2 Darstellungsform 3 Excel verfügt über diverse Darstellungsformen zur<br />

Visualisierung und Analyse von Daten, bleibt dabei aber<br />

hinter <strong>and</strong>eren Programmen zurück, da es einfach nicht die<br />

Interaktivität im Umgang mit den Daten liefert, die <strong>and</strong>ere<br />

Programme liefern. Die Bewertung bezieht sich auf die letzte<br />

Version 2013 mit der PowerView-Funktion.<br />

r-3 Report-Assistenten 2 In Excel ist man bei der Erstellung seiner Reports und der<br />

Darstellung der gewünschten Daten weitestgehend auf sich<br />

allein gestellt.<br />

r-4 Bereitstellung 1 Mit Excel selbst ist es nicht möglich die Reports automatisch<br />

zu verschicken oder bereitzustellen.<br />

Tabelle 7.4: Bewertung Reporting Microsoft Excel<br />

666


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

7.5<br />

Vergleich Reporting<br />

Nr. Kriterium Gew. QlikView<br />

nf-1<br />

nicht funktional<br />

Unabhängigkeit vom<br />

Hersteller<br />

Microsoft<br />

Excel<br />

Microsoft<br />

SSRS<br />

IBM<br />

Cognos<br />

Report<br />

Studio<br />

4% 2 3 3 3<br />

nf-2 Support & Dokumentation 6% 4 4 4 4<br />

nf-3 Benutzerfreundlichkeit 6% 2 3 2 3<br />

nf-4 Integrierbarkeit 7% 1 4 2 3<br />

nf-5 Erweiterbarkeit 7% 4 4 1 1<br />

nf-6 Zuverlässigkeit 7% 3 3 3 3<br />

nf-7 Geschwindigkeit 3% n. b. 3 n. b. 4<br />

funktional<br />

r-1 Datenquellen 10% 3 3 3 1<br />

r-2 Darstellungsform 20% 4 3 2 4<br />

r-3 Report-Assistenten 20% 3 2 3 2<br />

r-4 Bereitstellung 10% n. b. 1 3 4<br />

Bewertung 3,025 2,8 2,575 2,85<br />

Tabelle 7.5: Vergleich Reporting<br />

Die Anforderungen der einzelnen Teilgruppen an ihre für das Reporting genutzten Tools variierten.<br />

Dies sieht man daran, dass sich die „nicht bewertbaren“ Kategorien in wenigen Fällen decken. In<br />

<strong>and</strong>eren Bereichen liegen die Tools nah beiein<strong>and</strong>er. IBM Cognos Report Studio hat als einzigen<br />

richtigen Kritikpunkt die Tatsache, dass als Datenquellen der Cognos Transformer bzw. der Cognos<br />

Framework Manager genutzt werden müssen. Microsofts SSRS hat dabei Defizite bei den zur<br />

Verfügung stehenden Darstellungsformen, sowie der Erweiterbarkeit und Benutzerfreundlichkeit.<br />

Anh<strong>and</strong> der Nutzwertanalyse lässt sich feststellen, dass MS Excel wenige Möglichkeiten zur<br />

automatisierten Bereitstellung der Reports gibt.<br />

Alle vier Tools wurden als gut bzw. sehr gut bei den Kriterien „Support & Dokumentation“,<br />

„Zuverlässigkeit“ und „Darstellungsform“ bewertet. Microsoft Excel und IBM Cognos sammeln viele<br />

Punkte in den nicht-funktionalen Kriterien während QlikView und Microsoft SSRS bei einigen<br />

Kriterien sehr schlecht bewertet wurden. Umgekehrt ist es bei den funktionalen Kriterien. Dort haben<br />

Microsoft SSRS und QlikView konsistent gute Noten während Microsoft Excel und IBM Cognos<br />

durchwachsene Bewertungen erhalten.<br />

667


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

8. Data Mining<br />

IBM SPSS Modeler wird hauptsächlich von der Teilgruppe Jinengo und in begrenztem Umfang von<br />

Analytisches CRM eingesetzt. Die Anwendung wird mit dem von Smart Wind Farm genutzten R<br />

verglichen.<br />

8.1<br />

IBM SPSS Modeler<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit<br />

vom Hersteller<br />

1 Es sind nur die vom Hersteller angebotenen Funktionen<br />

verfügbar. Zusätzliche Pakete werden vom Anbieter<br />

angeboten. Eigenprogrammierung ist im System nicht<br />

möglich.<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

4 Umfangreiche Dokumentation, Hilfe-Fenster und White Paper<br />

von IBM .<br />

3 Ohne Programmierkenntnisse anwendbar. Übersichtliche<br />

Darstellung des Programms und seiner Optionen. Keine<br />

versteckten Menüs etc.<br />

nf-4 Integrierbarkeit 2 Lokale Installation auf Windows OS als auch Server Variante<br />

möglich.<br />

nf-5 Erweiterbarkeit 2 Addons werden nur von IBM vertrieben.<br />

nf-6 Zuverlässigkeit 2 Debugging nicht möglich, in dem Anwendungsfall aber nicht<br />

sehr sinnvoll. Die Fehlermeldungen geben ausreichend<br />

Aufschluss über die Ursache, so dass viele Fehler schnell<br />

behoben werden können.<br />

nf-7 Geschwindigkeit 0 Abhängig von den Daten und der Systemumgebung. In<br />

unserer Anwendung keine relevante Aussage möglich.<br />

dm-1 Datenquellen & -ziel 4 Alle St<strong>and</strong>ard Datenquellen können angebunden werden.<br />

dm-2 Unterstützte<br />

Methoden<br />

dm-3 Prozessmanagement,<br />

Datenvisualisierung<br />

& Evaluierung<br />

3 Die Algorithmen werden in 3 Kategorien unterteilt<br />

(Clustering, Assoziation, Classification). Jede Kategorie<br />

beinhaltet gängige Algorithmen zur Analyse. Ändern oder<br />

hinzufügen von Algorithmen ist nicht einfach möglich.<br />

4 Es stehen sowohl graphische als auch Auswertungen in<br />

Tabellenform zur Verfügung. Die Ergebnisse sind exportierund<br />

speicherbar. Der Algorithmus ist über ein graphisches<br />

Interface kalibrierbar.<br />

Tabelle 8.1: Bewertung Data Mining IBM SPSS Modeler<br />

668


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

8.2<br />

R<br />

Nr. Kriterium Bew. Begründung<br />

nf-1 Unabhängigkeit 4 Es h<strong>and</strong>elt sich um Open Source Software, die beliebig<br />

vom Hersteller<br />

verändert werden darf (in Form neuer Libraries)<br />

nf-2<br />

nf-3<br />

Support &<br />

Dokumentation<br />

Benutzerfreundlichkeit<br />

3 Es existieren umfangreiche Dokumentationen und eine große<br />

Community, die Hilfestellung leistet. Die Dokumentation<br />

bezieht sich jedoch oft nur auf einzelne Libraries und ist daher<br />

teilweise schwierig zu finden.<br />

2 Es stehen zwar GUIs für R zur Verfügung, allerdings sind<br />

diese nicht für alle Zwecke einsetzbar. Für das Data Mining<br />

muss mit Konsoleneingaben gearbeitet werden. Nach einer<br />

gewissen Einarbeitungszeit ist die Software sehr einfach<br />

bedienbar.<br />

nf-4 Integrierbarkeit 3 R kann auf allen Plattformen eingesetzt werden.<br />

nf-5 Erweiterbarkeit 4 Aufgrund der Möglichkeit, eigene Libraries zu schreiben,<br />

bzw. fremde Libraries einzubinden, ist R beliebig erweiterbar.<br />

nf-6 Zuverlässigkeit 3 Das System besitzt eine sehr fortgeschrittene Systemreife.<br />

Debugging steht nur für die Eigenentwicklung von Libraries<br />

zur Verfügung, wird sonst jedoch auch nicht benötigt.<br />

nf-7 Geschwindigkeit 0 Abhängig von den Daten und der Systemumgebung. In<br />

unserer Anwendung keine genaue Aussage möglich.<br />

dm-1 Datenquellen & -ziel 4 Alle St<strong>and</strong>ard Datenquellen können angebunden werden. Als<br />

Datenziel stehen beispielsweise Objekte oder Dateien zur<br />

Verfügung, es kann nicht direkt in eine Datenbank<br />

geschrieben werden.<br />

dm-2 Unterstützte<br />

Methoden<br />

dm-3 Prozessmanagement,<br />

Datenvisualisierung<br />

& Evaluierung<br />

4 Für R existieren tausende zusätzliche Libraries für spezielle<br />

Anwendungszwecke. Auch für das Data Mining stehen viele<br />

Libraries zur Verfügung. Es können sowohl Methoden<br />

geändert als auch neue definiert werden.<br />

4 Es stehen sowohl graphische als auch Auswertungen in<br />

Tabellenform zur Verfügung. Die Ergebnisse sind exportierund<br />

speicherbar. Die Qualität der Methoden kann evaluiert<br />

werden, beispielsweise durch Kreuzvalidierung.<br />

Tabelle 8.2: Bewertung Data Mining R<br />

669


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

8.3<br />

Vergleich Data Mining<br />

Nr. Kriterium Gew. R IBM SPSS Modeler<br />

nicht funktional<br />

nf-1 Unabhängigkeit vom Hersteller 4% 4 1<br />

nf-2 Support & Dokumentation 6% 3 4<br />

nf-3 Benutzerfreundlichkeit 6% 2 3<br />

nf-4 Integrierbarkeit 7% 3 2<br />

nf-5 Erweiterbarkeit 7% 4 2<br />

nf-6 Zuverlässigkeit 7% 3 2<br />

nf-7 Geschwindigkeit 3% n. b. n. b.<br />

funktional<br />

dm-1 Datenquellen & -ziele 15% 4 4<br />

dm-2 Unterstützte Methoden 25% 4 3<br />

dm-3 Prozessmanagement, Datenvisualisierung<br />

& Evaluierung<br />

20% 4 4<br />

Bewertung 3,635 3,105<br />

Tabelle 8.3: Vergleich Data Mining<br />

SPSS Modeler und R sind zwei umfassende Tools zur Lösung von Data Mining Anwendungsfällen.<br />

Da Data Mining ein sehr komplexes Thema ist, und tiefgreifendes Vorwissen zur korrekten<br />

Anwendung der Algorithmen notwendig ist, sind auch die Tools dementsprechend komplex. Während<br />

SPSS Modeler von IBM eine lizensierte Software ist, wird R unter den Open Source Richtlinien<br />

bereitgestellt und ist für jedermann zugänglich. Daraus begründen sich auch die Hauptunterschiede der<br />

beiden Produkte. Während R sehr offen konfigurierbar und erweiterbar ist, wird SPSS Modeler als<br />

fertiges Produkt vertrieben, welches nur durch zusätzliche Kosten erweiterbar ist. Um R sinnvoll<br />

einsetzen zu können braucht man mehr Ressourcen und Know-how, das im Unternehmen aufgebaut<br />

werden muss. SPSS Modeler kann relativ zügig installiert werden und erste Ergebnisse sind schneller<br />

erzielt, allerdings nur im Rahmen der vorgegeben Möglichkeiten. Zudem bietet es Garantie- und<br />

Supportleistungen, die bei R nicht gegeben sind. Auf der <strong>and</strong>eren Seite besitzt R eine große Online<br />

Community für die Beantwortung von Fragen und Neuentwicklungen. Zusammenfassend lässt sich<br />

sagen, dass keines der beiden Tools als „besser“ bezeichnet werden kann, da dies vom jeweiligen<br />

Anwendungszweck und Unternehmenseigenheiten abhängig ist. Beide Tools bieten eine sehr große<br />

Auswahl an Data Mining Methoden und sind beide beliebte und sehr ausgereifte Produkte.<br />

670


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

9. Fazit<br />

Ziel dieser Dokumentation war es, einen Technologievergleich in Bezug auf die eingesetzten<br />

Anwendungen in den jeweiligen Teilgruppen durchzuführen. Zu diesem Zweck wurden folgende BI<br />

Komponenten definiert:<br />

- Database<br />

- ETL<br />

- Analytical Services<br />

- Reporting<br />

- Data Mining<br />

Die im Rahmen der <strong>Projektgruppe</strong> eingesetzten Softwarelösungen wurden anschließend diesen<br />

Feldern zugeteilt. Die Einordnung von SAP HANA in diesen Rahmen erwies sich als schwierig.<br />

HANA versteht sich als integriertes Komplettsystem, es wurde daher mehreren der oben genannten<br />

Komponenten zugeordnet. Der Microsoft SQL Server ist ein ähnlich integriertes System wie HANA,<br />

lässt sich jedoch auf Grund der Gliederung in Subsysteme, wie SSIS, SSAS und SSRS, eindeutig den<br />

einzelnen Komponenten zuordnen.<br />

Zu den Komponenten wurden verschiedene Kriterien als Bewertungsgrundlage der Anwendungsfelder<br />

herausgearbeitet. Die Bewertungskategorien sind jeweils in übergreifend gültige nichtfunktionale<br />

Anforderungen sowie komponentenspezifische funktionale Anforderungen unterteilt. Bei der Auswahl<br />

der Kriterien wurde eine gemeinsame Schnittmenge aus den spezifischen Anforderungen gebildet. Die<br />

einzelnen Gewichtungen der Kriterien wurden über die Teilgruppen hinweg abgestimmt.<br />

Auf Grund der zur Bewertung der Softwarelösungen herangezogenen Methode der Nutzwertanalyse,<br />

erfolgt die Beurteilung der Kriterien auf subjektiver Basis. Die Anwendungsfälle sind thematisch<br />

vonein<strong>and</strong>er abgegrenzt; die Kriterien können daher nicht gleichwertig bewertet werden. Zudem<br />

wurde in den Teilgruppen nicht der gesamte Funktionsumfang der Softwarelösungen genutzt; er kann<br />

somit auch nicht vollständig in die Bewertung einfließen. Die einzelnen Bewertungen entst<strong>and</strong>en<br />

somit subjektiv aus den einzeln gesammelten Erfahrungen der Teilgruppen, sind jedoch anschließend<br />

diskutiert und reflektiert worden. Ein unumstößliches Ergebnis hätte die <strong>Projektgruppe</strong> nur dann<br />

erhalten können, wären alle Softwarelösungen im gleichen Anwendungsfall eingesetzt worden.<br />

Die Bewertung der einzelnen Komponenten lässt erkennen, dass die untersuchten Softwarelösungen<br />

vonein<strong>and</strong>er abweichende Schwerpunkte haben. So ist etwa Microsoft Excel im Gegensatz zu<br />

QlikView kein auf Reporting ausgelegtes Werkzeug, kann jedoch als solches verwendet werden. Der<br />

Bekanntheitsgrad und die leichte Integrierbarkeit in bestehende IT-L<strong>and</strong>schaften ermöglichen den<br />

vielfältigen Einsatz von Microsoft Excel u. a. als Reporting-Tool. QlikView hingegen ist mit Aufw<strong>and</strong><br />

bei der Integration und Einrichtung sowie Schulungsaufw<strong>and</strong> verbunden. Die aus dem Technologie-<br />

671


Projektbericht Cuberunner<br />

Technischer Vergleich<br />

vergleich gewonnene Erkenntnis ist daher, dass keine der bewerteten<br />

einzelnen Komponenten als universell einsetzbar zu bezeichnen ist.<br />

Softwarelösungen in den<br />

Schlussfolgernd ist dem Technologievergleich zu entnehmen, dass jede in den Teilprojekten<br />

eingesetzte Anwendung den gewünschten Verwendungszweck erfüllt hat. Da die Anforderungen und<br />

Schwerpunkte in den Teilprojekten jedoch nicht einheitlich sind, ist es nicht unmittelbar möglich, die<br />

Bewertung auf <strong>and</strong>ere Anwendungsfälle zu übertragen.<br />

Insgesamt kann festgehalten werden, dass sich die verwendeten Technologien in BI Projekten<br />

durchaus verwenden lassen. Jedoch hat die Erfahrung der <strong>Projektgruppe</strong> gezeigt, dass die Auswahl<br />

von Softwarelösungen für einen bestimmten Einsatzzweck im Vorfeld kritisch hinterfragt werden<br />

muss. Die unterschiedlichen Schwerpunkte der Anwendungen haben gezeigt, dass nicht jede<br />

Softwarelösung für jedes Einsatzgebiet uneingeschränkt geeignet ist. Es empfiehlt sich daher, in der<br />

Vorbereitungsphase eines BI Projektes eine umfangreiche Analyse der zur Auswahl stehenden<br />

Anwendungen durchzuführen. Es kann dadurch einem später erforderlichen, mit viel Aufw<strong>and</strong><br />

verbundenen Wechsel vorgebeugt werden.<br />

672


<strong>Projektgruppe</strong> Cuberunner<br />

Fazit <strong>Projektgruppe</strong><br />

<strong>Projektgruppe</strong> <strong>Business</strong> <strong>Intelligence</strong><br />

Projektdokumentation<br />

Fazit<br />

673


<strong>Projektgruppe</strong> Cuberunner<br />

Fazit <strong>Projektgruppe</strong><br />

674


<strong>Projektgruppe</strong> Cuberunner<br />

Fazit <strong>Projektgruppe</strong><br />

Fazit<br />

Rückblickend lässt sich festhalten, dass die Organisation der <strong>Projektgruppe</strong> eine besondere Herausforderung<br />

darstellte. Die Gruppengröße von 13 Personen sowie die Aufteilung der Studierenden in drei Projekte<br />

erforderten ein hohes Maß an Koordinations- und Kommunikationsaufw<strong>and</strong>. Durch regelmäßige Treffen<br />

und das Engagement aller Projektteilnehmer konnten diese Herausforderungen gemeistert werden.<br />

Die Zielsetzungen der einzelnen Teilgruppen waren durch wechselnde Ansprechpartner, unterschiedliche<br />

Vorstellungen und äußere Einflüsse einem stetigen W<strong>and</strong>el ausgesetzt. Die wechselnden Anforderungen,<br />

mit denen die Studierenden konfrontiert waren, machten eine hohe Flexibilität erforderlich.<br />

In den Projekten konnten die Studierenden sowohl Erfahrungen mit bestehenden Softwarelösungen sowie<br />

mit Eigenentwicklungen sammeln. In der Projektzeit wurden neben den technologischen auch die organisatorischen<br />

Kenntnisse der Studierenden erweitert.<br />

Bezüglich der Ergebnisse der <strong>Projektgruppe</strong>n lässt sich festhalten, dass diese auch in Zukunft Verwendung<br />

finden werden. CEWE wird die Projektergebnisse des Projektes „gestochen scharfe Fragen stellen“<br />

betrieblich einsetzen und weiterführen. Die Ergebnisse des Projektes Jinengo werden von der Abteilung<br />

Very Large <strong>Business</strong> <strong>Applications</strong> (VLBA) der Universität Oldenburg als wissenschaftliches Projekt fortgesetzt.<br />

Das Projekt der Smart Wind Farm Control Gruppe wird einerseits aus thematischer Sicht als wissenschaftliches<br />

Projekt der Abteilung VLBA fortgesetzt und <strong>and</strong>ererseits aus technischer Sicht als Grundlange<br />

für eine weiterführenden <strong>Projektgruppe</strong> genutzt. Der Technologievergleich stellt eine Entscheidungsbasis<br />

für <strong>and</strong>ere Anwendungsfälle dar. Der Vergleich beantwortet unter <strong>and</strong>erem folgende, grundlegende<br />

Fragestellungen:<br />

- Wie gut ist ein Tool für den Einsatz im BI-Umfeld geeignet?<br />

- Wozu kann ein Tool im BI-Umfeld verwendet werden?<br />

- Welche Funktionen gibt es und wie gut oder schlecht sind diese?<br />

Zusammenfassend lässt sich festhalten, dass von der <strong>Projektgruppe</strong> aussagekräftige Ergebnisse erarbeitet<br />

worden sind. Viele der Ergebnisse werden daher Anwendung in zukünftigen Einsatzbereichen finden. Es<br />

zeigt sich weiterhin, dass die Studierenden in den praxisnahen Anwendungsfällen sowohl inhaltlich als<br />

auch methodisch dazugelernt haben. Die Erkenntnisse des letzten Jahres haben den Studierenden geholfen,<br />

zukünftig kompetenter auf komplexe Aufgabenstellungen im Umfeld von Projekten reagieren zu<br />

können.<br />

675

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!