Inhalt | 7 |
Vorwort | 13 |
1 Grundlagen der Abfrage-Logik | 15 |
2 Abrufen: Verbindungen zu externen Quellen herstellen | 17 |
2.1 Einfache Abfrage auf Excel-Datei | 19 |
2.2 Aktualisieren der Abfrage | 22 |
2.3 Abfragen automatisch aktualisieren | 24 |
3 Transformieren: Aufbereiten der abgerufenen Daten | 27 |
3.1 Der Abfrage-Editor | 27 |
3.2 Transformationsschritte löschen | 29 |
3.3 Zeilen filtern | 30 |
3.4 Überschriften (Header) einfügen | 31 |
3.5 Spalten entfernen | 31 |
3.6 Werte ersetzen | 32 |
3.7 Datentypen bestimmen | 32 |
3.8 Transformationsschritte prüfen und benennen | 36 |
3.9 Abschließen der Transformation | 37 |
3.10 Erneutes Bearbeiten der Abfrage | 37 |
4 Erweiterte Transformationen | 39 |
4.1 Nach unten bzw. oben ausfüllen | 41 |
4.2 Zeilen und Spalten vertauschen (Transponieren) | 42 |
4.3 Spalten verbinden | 43 |
4.4 Entpivotieren | 44 |
4.5 Spalten teilen und Abschluss der Transformation | 45 |
5 Anpassen der Rohdaten | 47 |
5.1 Texttransformationen | 47 |
5.2 Datumstransformationen | 50 |
5.3 Zahlentransformationen | 51 |
5.4 Gruppieren | 52 |
6 Abfragen auf Webseiten | 55 |
6.1 Webabfrage auf eine Tabelle | 55 |
6.2 Webabfrage ohne Tabellen | 58 |
7 Abfragen auf relationale Datenbanken | 63 |
7.1 Beispiel mit Oracle-Datenbank | 63 |
7.2 Query Folding | 69 |
8 Mehrere Quellen kombinieren | 73 |
8.1 Abfragen anfügen | 73 |
8.2 Abfragen zusammenführen | 76 |
8.3 Alle Dateien in einem Ordner einlesen | 81 |
9 Spalten hinzufügen – erste Schritte mit M | 87 |
9.1 Bedingte Spalten | 87 |
9.2 Datums- und Rechenfunktionen | 91 |
9.3 Benutzerdefinierte Spalten | 91 |
9.3.1 Spaltenformeln für Berechnungen eingeben | 92 |
9.3.2 Bedingungslogik mit if | 93 |
9.3.3 M-Funktionen | 94 |
10 Abfragecode bearbeiten mit M | 97 |
10.1 Die Bearbeitungsleiste | 97 |
10.2 Das Editor-Fenster | 98 |
10.3 Erstellen einer leeren Abfrage | 99 |
10.4 Die Grundstruktur des Abfrage-Codes | 100 |
10.5 Schritte und Schrittnamen verstehen | 101 |
10.6 Fehler im M-Code vermeiden | 103 |
10.7 Schritte zusammenfassen | 104 |
10.8 Kommentare | 105 |
11 Eingabehilfen mit Visual Studio | 107 |
11.1 Die Vorteile von Visual Studio | 108 |
11.2 Installation | 109 |
12 Werte und Datentypen | 113 |
12.1 Einfache Datentypen | 113 |
12.1.1 Null | 113 |
12.1.2 Logical (true/false) | 113 |
12.1.3 Number (Zahl) | 115 |
12.1.4 Time (Zeit) | 116 |
12.1.5 Date (Datum) | 116 |
12.1.6 Datetime (Datum/Uhrzeit) | 117 |
12.1.7 Datetimezone (Datum/Uhrzeit/Zeitzone) | 117 |
12.1.8 Duration (Dauer) | 118 |
12.1.9 Text | 119 |
12.1.10 Binary (Binär) | 122 |
12.2 Übergeordnete Datentypen | 122 |
12.2.1 List (Liste) | 122 |
12.2.2 Record (Datensatz) | 124 |
12.2.3 Table (Tabelle) | 125 |
12.3 Spezielle Datentypen | 128 |
12.3.1 Type (Datentyp) | 128 |
12.3.2 Function (Funktion) | 130 |
13 Abfragen flexibel gestalten | 133 |
13.1 Nicht-lineare Abfragen | 133 |
13.2 Unterschiedliche Tabellenzeilen vergleichen | 139 |
13.3 Abfragen mit Parametern | 142 |
13.3.1 Power-Query-Parameter | 142 |
13.3.2 Parameter aus anderen Quellen | 146 |
14 Fehlerbehandlung | 151 |
14.1 Fehler vorbeugen | 151 |
14.2 Error-Werte entfernen | 152 |
14.3 Fehler abfangen mit try | 154 |
14.4 Fehlermeldungen erzeugen | 155 |
15 M-Funktionen | 159 |
15.1 Das Syntax-Schema | 159 |
15.2 Abruf der Funktionsliste | 160 |
15.3 Listenfunktionen | 164 |
15.3.1 Listenerstellung | 164 |
15.3.2 Informationen über Listenelemente | 167 |
15.3.3 Berechnungen | 171 |
15.3.4 Ordnung und Reihenfolge | 172 |
15.3.5 Auswahl | 176 |
15.3.6 Transformationen | 181 |
15.3.7 Vergleiche mehrerer Listen | 188 |
15.4 Datensatzfunktionen | 189 |
15.4.1 Erstellung und Umwandlung | 189 |
15.4.2 Informationen über Datensätze | 191 |
15.4.3 Auswahl | 191 |
15.4.4 Transformationen | 193 |
15.5 Tabellenfunktionen | 196 |
15.5.1 Informationen über Tabellen | 197 |
15.5.2 Umwandlungen | 200 |
15.5.3 Spalten | 201 |
15.5.4 Zeilen | 208 |
15.5.5 Ordnung und Sortierung | 221 |
15.5.6 Erstellung | 224 |
15.5.7 Transformationen | 227 |
15.5.8 Arbeiten mit mehreren Tabellen | 235 |
15.5.9 Sonstige | 238 |
15.6 Textfunktionen | 238 |
15.6.1 Erstellung und Konvertierung | 238 |
15.6.2 Informationen über Texte | 242 |
15.6.3 Auszüge von Textteilen | 244 |
15.6.4 Modifikationen | 245 |
15.6.5 Transformationen | 247 |
15.7 Zahlenfunktionen | 252 |
15.7.1 Informationen über Zahlen | 252 |
15.7.2 Rechenoperationen | 253 |
15.7.3 Rundung | 256 |
15.7.4 Zufallszahlen | 258 |
15.7.5 Trigonometrie | 259 |
15.7.6 Konvertierung und Formatierung | 261 |
15.8 Logical-Funktionen | 267 |
15.9 Datumsfunktionen | 268 |
15.9.1 Erzeugung und Umwandlung | 268 |
15.9.2 Informationen über Datumswerte | 270 |
15.9.3 Berechnungen | 276 |
15.9.4 Vergleiche mit 'Jetzt' | 277 |
15.10 DateTime-Funktionen | 281 |
15.10.1 Erzeugung und Umwandlung | 281 |
15.10.2 Vergleiche mit 'Jetzt' | 284 |
15.11 DateTimeZone-Funktionen | 286 |
15.12 Duration-Funktionen | 291 |
15.13 Zeitfunktionen | 294 |
15.14 Hilfsfunktionen | 296 |
15.14.1 Comparer-Funktionen | 296 |
15.14.2 Replacer-Funktionen | 298 |
15.14.3 Combiner-Funktionen | 299 |
15.14.4 Splitter-Funktionen | 302 |
16 Eigene Funktionen erstellen | 307 |
16.1 Funktionen innerhalb einer Abfrage | 307 |
16.2 Das Schlüsselwort each | 308 |
16.3 Funktionen als eigene Abfrage | 309 |
16.4 Funktionen, die aus mehreren Schritten bestehen | 312 |
16.5 Rekursive Funktionen | 316 |
16.6 Funktionsbeschreibungen in der Metadata | 318 |
16.7 Funktionen teilen | 321 |
16.7.1 Aktivierung und Vorbereitung | 321 |
16.7.2 Funktionserweiterungen | 322 |
17 M und VBA | 325 |
17.1 Abfragen per VBA-Befehl aktualisieren | 325 |
17.1.1 Schaltflächen zum Aktualisieren nutzen | 325 |
17.1.2 Aktualisieren bei Ereignissen | 328 |
17.2 Abfrage-Code per VBA anpassen | 329 |
17.3 Abfrageergebnisse mit VBA auslesen | 332 |
18 Datenschutz und Firewall | 335 |
18.1 Datenschutz bei verschiedenen Datenquellen | 335 |
18.2 Der Formula.Firewall-Fehler | 336 |
19 Tipps für mehr Geschwindigkeit | 339 |
19.1 Schnelleres Entwerfen der Abfrage | 339 |
19.2 Schnelleres Aktualisieren | 339 |
19.3 Messen der Geschwindigkeit | 341 |
Index | 345 |
Leere Seite | 2 |