Archiv der Kategorie: Rezensionen

Daten abfragen und verarbeiten mit Power Query und der Sprache M

Der Titel des Buchs heißt schlicht M und bezieht sich auf die in Excel und Power BI enthaltene Abfragesprache. Genau betrachtet ist sie aber nicht Bestandteil dieser Programme, sondern von Power Query. Behandelt werden in diesem Buch somit auch zwei leicht unterschiedliche Abfragesprachen. Die Menübefehle unterscheiden sich zwar etwas, sind aber mit etwas Fantasie leicht zu erkennen.
Sucht man im Internet nach Power BI, wird auch dieses Buch gefunden. Das ist nicht ganz richtig, aber auch nicht ganz falsch. Um Daten entsprechend grafisch darstellen zu können, muss man sehr oft diese Basisdaten entsprechend aufbereiten. Und hier bietet dieses Buch eine unschlagbare Hilfe. Viele kleine und sehr gut nachvollziehbare Beispiele erleichtern das Verständnis und den Einstieg.
Power Query bietet den Zugriff auf die unterschiedlichsten Datenquellen. Dies be-schreibt Kapitel 2. Damit lässt sich die erste Hürde elegant überspringen. Wer früher mit Microsoft Query arbeiten musste, weiß dies besonders zu schätzen.
Wichtig ist, dass die Ursprungsdaten nicht verändert werden. Die Veränderung er-folgt in der Abfrage. Und diese lässt sich dann automatisch oder auch manuell aktua-lisieren.
Ein Kernstück von Power Query ist die Transformation der importieren Daten, die in Kapitel 3 beschrieben wird. Mit Hilfe des Abfrageeditors lassen sich die Daten filtern, Zeilen und Spalten löschen, Überschriften aus Zeileninhalten generieren, Datentypen bestimmen und ganz wichtig, bereits durchgeführte Transformationsschritte einzeln wieder löschen.
In Kapitel 4 wird die erweiterte Transformation behandelt. Das Weiteren lassen sich Daten ersetzen und nach oben bzw. nach unten ausfüllen. In diesem Zusammenhang lassen sich Zeilen und Spalten vertauschen, wie dies aus Excel bekannt sein dürfte und dort als Transponieren bezeichnet wird. Spalten lassen sich verbinden oder aber auch teilen. Eine in meinen Augen hilfreichste Möglichkeit ist das entpivotieren. Hiermit lassen sich Daten, die sich in Spalten befinden, in Zeilen auflisten. Eine Mög-lichkeit, die manuell ausgeführt, einen sehr großen Arbeitsaufwand bedeuten würde.
In Kapitel 5 wird die Anpassung von Rohdaten beschrieben. Hier geht es um die Transformation von Texten, Zahlen und Datumswerten. Eine besonders wirkungsvolle Rechenoperation ist das Gruppieren der Daten, mit der die Struktur der Tabelle kom-plett verändert wird und dabei die Daten zusammengefasst werden.
Kapitel 6 zeigt den Zugriff auf Webseiten. Die Besonderheit hierbei ist, dass nur die benötigten Spalten bei einer Aktualisierung importiert werden. Neue oder namentlich geänderte Spalten werden nicht berücksichtigt.
Wie relationale Datenbanken abgefragt werden können, beschreibt Kapitel 7. Als zeitsparender Trick wird das Query Folding behandelt, das mit den komplexen Opera-tionen schnell ein Ergebnis liefert.
Kapitel 8 zeigt ausführlich, wie sich unterschiedliche Quellen kombinieren und auch zusammenführen lassen. Eine Supermöglichkeit besteht darin, die Dateien eines Ord-ners automatisch einzulesen. Neue Dateien müssen nur in diesen Ordner kopiert wer-den. Voraussetzung ist allerdings, dass sie die gleiche Struktur haben.
In Kapitel 9 wird nun deutlich, warum der Titel des Buchs „M“ lautet. Per Code wer-den bedingte Spalten hinzugefügt, mit Datums- und Rechenfunktionen gearbeitet sowie benutzerdefinierte Spalten mittels Funktionen erstellt und berechnet.
In Kapitel 10 wird der Umgang mit „M“ vertieft. Zunächst wird der Abfrage-Editor vorgestellt und seine Funktionsweise beschrieben. Vorgestellt wird die Grundstruktur des Abfrage-Codes und wie die Schritte und Schrittnamen zu verstehen sind. Mit Hil-fe dieses Editors wird dann der Abfragecode bearbeitet. Dabei werden Schritte zu-sammengefasst, den Programmcode durch Kommentare leserlicher gemacht und Tipps gegeben, wie sich Fehler im M-Code vermeiden lassen.
Kapitel 11 darf beim Lesen ruhig übersprungen werden, da die Intelli-Sense-Technologie in der Zwischenzeit implementiert wurde. Intelli-Sense ermöglicht es, bei Eingabe eines Buchstabens eine Liste von Befehlsvorschlägen angeboten zu be-kommen, aus der dann der gewünschte Befehl ausgewählt werden kann.
In Kapitel 12 werden Werte und Datentypen behandelt, und zwar die einfachen und die übergeordneten. Unter letzteren werden Listen, Records und Tables verstanden. Tabellen lassen sich sowohl aus Datensätzen als auch direkt erstellen. Auch hier kommt wieder die Sprache „M“ zum Einsatz. Außerdem werden über eine eigene Re-gisterkarte weitere Bearbeitungswerkzeuge angeboten. Des Weiteren werden auch spezielle Datentypen behandelt. Hierzu gehört Type (Datentyp) und Function. Unter Function wird hier eine Zuordnungsvorschrift verstanden, bei der eine bestimmte An-zahl von Werten an die Funktion übergeben und ein einzelner Wert zurückgegeben wird.
In Kapitel 13 wird es richtig „tricky“. Es wird gezeigt, wie sich Abfragen flexibel ge-stalten lassen. Üblicherweise sind Abfragen linear aufgebaut. Mit „M“ lassen sie sich auch nicht-linear gestalten. Ebenfalls nicht ohne Programmierung würden sich unter-schiedliche Tabellenzeilen vergleichen lassen. Das bedarf auch mit Hilfe der Sprache „M“ einiger vorbereitender Schritte. Flexibel gestalten lassen sich auch sogenannte Parameterabfragen. Mit Hilfe von Platzhaltern, die in den Code eingefügt werden, lässt sich die Abfrage von außen steuern. Platzhalter, die von außen vorgegeben werden können, sind der Pfad und der Name der abzufragenden Datei.
Allerdings lassen sich diese Parameter auch aus anderen Quellen vorgeben. Dies funk-tioniert in diesem Fall natürlich mit dem Query Editor in Excel eleganter, aber auch in Power BI lassen sich die Parameter in einer Excel-Datei speichern. Die Vorgehenswei-se unterscheidet sich zwar von der in Excel, ist aber nicht viel komplizierter.
Fehler führen nur dann zu Problemen, wenn sie nicht behandelt, also nicht abgefan-gen werden. In Kapitel 14 wird gezeigt, wie man Fehlern vorbeugen kann. Zu einer solchen Vorbeugung gehört beispielsweise, zu verhindern, dass einer Spalte ein un-gültiger Spaltentyp zugewiesen wird. Eine der beschriebenen Maßnahmen ist das ge-zielte Ersetzen von störenden Zeichen. Ein anderes Problem, das bereits im Vorfeld umgangen werden kann, ist die Verwendung von Spaltennummern statt von Spal-tennamen. Gezeigt wird in diesem Kapitel auch, wie sich Zeilen mit Fehlerwerten ent-fernen lassen. Eine klassische Möglichkeit, die auch hier behandelt wird, ist „try“. Ausdrücke, die möglicherweise einen Fehler erzeugen, werden in eine entsprechende Anweisung gepackt und bei Auftreten des Fehlers entsprechend behandelt. Allerdings gibt es auch Fehler, die nicht vorhergesehen werden können. Und diese lassen sich dann auch nicht adäquat behandeln. Aber gemeldet werden sie dann trotzdem, um den Anwender zu informieren. Dies erfolgt durch entsprechende Fehlermeldungen.
Kapitel 15 ist das umfangreichste des Buches. Von Seite 145 bis 292 werden die M-Funktionen vorgestellt und beispielhaft behandelt. Es würde allerdings den Rahmen dieser Rezension sprengen, diese alle vorzustellen. Für den Leser des Buches bieten diese Funktionen jedoch im Bedarfsfall einen Quell an nützlichen Informationen.
Genügen diese Funktionen im Einzelfall nicht, so wird in Kapitel 16 gezeigt, wie sich eigene Funktionen erstellen lassen. So lassen sich Funktionen innerhalb einer Abfrage erstellen. Sollen Funktionen mehrfach verwendet werden, so können sie als eigene Abfrage geschrieben werden. Weiter wird beschrieben, wie Funktionen, die aus meh-reren Schritten aufgebaut sind, erstellt werden. Ebenso werden rekursive Funktionen vorgestellt. Wollen Sie Ihre Kollegen ebenfalls in den Genuss Ihrer Funktionen kom-men lassen, so können Sie natürlich den Funktionscode weitergeben. Eleganter ist es aber, Ihre Funktion als M-Erweiterung zu speichern. Beschrieben werden die Aktivie-rung und die Vorbereitung.
Vielleicht haben Sie es ja bereits vermisst? Aber auch lässt sich VBA einsetzen. Besser gesagt mit M kombinieren. So lassen sich beispielsweise Abfragen per VBA aktualisie-ren. Oder Sie können den Abfrage-Code per VBA anpassen. Damit nicht genug, es lassen sich auch die Abfrageergebnisse per VBA auslesen. All das wird in Kapitel 17 beschrieben.
Ohne Datenschutz und Firewall geht heute Garnichts mehr. Und diese Themen wer-den in Kapitel 18 behandelt. Vergessen wird beim Thema Datenschutz nicht, dass nicht nur Daten abgefragt, sondern auch gesendet werden. Und hier muss sicherge-stellt sein, dass keine geschützten Daten nach außen gelangen. Für diesen Schutz werden drei Datenschutzstufen zur Verfügung gestellt. Diese heißen privat, Organisa-tion und öffentlich. Diese Schutzstufen lassen sich für jede Datenquelle einzeln ein-stellen. Um die Fehlersuche entsprechend zu erleichtern, werden Tipps gegeben, wo-rauf bei der Erstellung der Abfragen zu achten ist. Es wird übrigens auch darauf hin-gewiesen, dass die gemachten Einstellungen nur für den eigenen Computer gelten. Wird die Abfrage weitergegeben oder in Power BI veröffentlicht, greifen die von Ihnen gemachten Vorkehrungen nicht.
Zeit ist relativ stellte bereits Einstein in seiner Relativitätstheorie fest. Allerdings meinte er natürlich etwas anderes, als die Zeit, die beim Warten auf ein Abfrageer-gebnis vergeht. Doch ernsthaft, in Kapitel 19 wird beschrieben, wie Abfragen schnel-ler entworfen werden können, wie sich der Zeitbedarf beim Aktualisieren verringern lässt und um dies dann auch beweisen zu können, wie sich die Geschwindigkeit mes-sen lässt.
Mein Fazit
Wer sich mit Power BI oder Excel professionell beschäftigt und Daten aus unter-schiedlichsten Datenquellen abfragen muss, kommt um dieses Buch nicht herum. Na-türlich gibt es auch andere Bücher zum Thema Power BI, die sich mit Power Query und den damit zu erstellenden Abfragen beschäftigen, allerdings mehr im Kurzdurch-lauf. Fokus liegt hier meist auf der grafischen Darstellung und der Auswertung der Daten.
Meine Empfehlung
Wer sich mit Datenquellen beschäftigen muss, deren Inhalte eigentlich „nicht aus-wertbar“ sind oder immer wieder sehr viel manuelle Nacharbeit erfordern, ist mit die-sem Buch bestens bedient. Er spart viel Zeit und man kann bei sorgfältiger Erstellung der Abfragen sicher gehen, dass die gelieferten Ergebnisse belastbar sind. Und damit hat sich der Autor Ignaz Schels aus meiner Sicht eine 5 Sterne-Wertung redlich ver-dient.
Wolfram E. Mewes
2. Oktober 2019

BIG DATA

 

Der Autor Pavlo Baron schreibt über sich selbst:

In 20 Jahren meines IT-Lebens habe ich so einiges gesehen und erlebt, worüber es sich lohnt, zu schreiben. Zum Teil auch Dinge, über die es sich lohnt, zu schmunzeln. Aber auch solche, über die es sich lohnt, zu lachen. Und wenn ich über etwas schreibe, so möchte ich, dass es mindestens mit einem Lächeln gelesen wird. Stellenweise mit einem Grinsen. In einigem Fällen sogar mit lautem Lachen.

Technische Bücher können trocken und langweilig sein. Sind sie meistens auch. Es gibt keinen Grund, warum ich die Anzahl solcher Bücher erhöhen sollte, nur weil ein Baum bereits sterben musste und ein leeres Blatt Papier einsam und unvollständig aussieht.

Das Buch BIG DATA besteht aus 5 Kapiteln die sich in

  1. Management Summary
  2. Was?
  3. Wie?
  4. Womit?
  5. Way Forward

aufteilen.

Im ersten Kapitel wird beschrieben, um was es sich bei BIG DATA eigentlich handelt und wie man damit umgeht.

Schön finde ich den Satz: BIG DATA ermöglicht es den Menschen mit höherer fachlicher Kompetenz, Entscheidungen so einfach und qualifiziert wie möglich zu treffen.

Und dies, obwohl der Autor den Begriff “Big Data” für unsinnig hält, ihn aber in Anführungsstrichen im gesamten Buch verwendet. Er konzentriert sich mehr auch die Inhalte, die sich hinter dem Begriff verbergen.

Anhand der Fragestellungen Was? Wie? Womit? beschreibt der Autor, wie Daten gewonnen werden können, was in den Daten als Information enthalten ist, wie sich diese Informationen aus der analytischen/wissenschaftlichen Perspektive gewinnen lassen und Womit, also mit welchen Werkzeugen sich dies bewerkstelligen lässt.

Diese kurze Zusammenfassung wird dem Inhalt des Buchs sicherlich nicht gerecht, in dem der Autor manchmal recht sarkastisch bestimmte Zustände und Vorgehensweisen beschreibt.

Aufgeräumt wird auch mit Schubladendenken, das nur in Schwarz und Weiß unterscheidet. Dies geschieht unter anderem am Beispiel der der Vs Volume, Velocity und Variety, allerdings nur eine kurze Episode.

Des Weiteren werden falschen Fragestellungen, wie sie in Kommentaren oder Kolumnen zu lesen sind, richtig gestellt und entsprechend beantwortet.

Informativ sind auch die kleinen Abschweifungen, die auf interessante Aspekte aufmerksam machen, ohne dass damit die rote Linie verlassen wird. Hierzu zählen auch die lesenswerten, eingestreuten Links.

Das Wie? bedeutet  Extraktion von Informationen aus Daten, also eine wissenschaftliche, keine akademische Aufgabe. Auf über 70 Seiten wird das Wie? beschrieben und auch hier mit falschen Fragestellungen aufgeräumt.

Wichtiger ist aber hier, konkrete Handlungsanweisungen zu erhalten. Dazu zählt beispielsweise, dass die einzige sinnvolle Investition die in Ihre Mitarbeiter ist.

Sie erfahren, was “Big Data-Schmerzen” sind und wie sie erzeugt werden. Beleuchtet wird auch die IT-Strategie im Big Data-Licht. In einem weiteren Unterkapitel wird die datenzentrierte Arbeit behandelt, zu der auch die Unterscheidung bei der Bearbeitung der Daten zwischen schnell und gleich zählt. Es weiteres Unterkapitel behandelt die richtige Benutzung der IT-Instrumente.

Besonders interessant finde ich das Unterkapitel Big Data-Perspektiven, bei dem es um die Speicherung großer Datenmengen, deren Aufbereitung und ihre Bereitstellung geht. Außerdem wird die Analyse großer Daten in Echtzeit angesprochen und zuletzt deren Visualisierung.

Abgeschlossen wird das Wie? mit  Anmerkungen des Autors zum Thema Datenschutz und Datensicherheit.

Auf weiteren 80 Seiten wird das Womit? behandelt. Der ganze Zoo der Big Data-Technologien, wie der Autor dies nennt, wird hiervorgestellt. Nach der Behandlung der theoretischen Grundlagen werden alte und neue Technologien beleuchtet, RDBMS, NoSQL, NewSQL In-Memory und wie sie alle heißen.

Ein Thema sind auch die Programmiersprachen. Reicht eine aus und wenn Nein, welche Sprache eignet sich wofür?

Spannend ist auch die Fragestellung: Was geschieht mit meinen aktuellen Errungenschaften?

Das fünfte und letzte Kapitel beschäftigt sich mit den aktuellen Trends, dem Start mit Big Data, die sich ergebenden finanziellen Aspekte und der Frage: Wo und wie kann ich mich weiter informieren?

Den einzigen Schwachpunkt in diesem sonst wirklich ausgezeichneten Buch sehe ich in dem etwas schmalbrüstigen Stichwortverzeichnis. Hier hätte der Autor etwas mehr investieren können.

Lesen sollten dieses Buch meiner Meinung nach nicht nur IT-Entscheider, sondern alle, die sich beruflich mit Daten beschäftigen müssen. Wollen Sie sich wirklich mit dem Thema Big Data ausführlich beschäftigen, dann haben Sie hier eine Lektüre vorliegen, die anspruchsvoll ist aber auch sehr informativ. Interessant ist aber auch der aufgelockerte Schreibstil, der einem das eine oder andere Mal ein Lächeln auf die Lippen zaubert.

 Erschienen ist das Buch übrigens im Hanser Verlag