Tipps und Tricks rund um Word
Funktion DATABASE - Berechnungen
- Generelle Funktion
- SELECT-Anweisung
- Beispiel: Kursleiter, Kurse und Bürotage
- Beispiel: Wohnungen und Besitzer
- Beispiel: Offene Rechnungen pro Kunde
- Beispiel: Liste der Kursleiter mit Anzahl
- Beispiel: Liste der Reiseteilnehmer in Serienbrief (Blog)
- Fehler "Ungültiges Seriendruckfeld"
- Fehler: zu wenig Zeichen werden ausgelesen
Summe
In den Spalten "Umsatz 2012" und "Umsatz 2013" stehen mehrere Werte, die addiert werden sollen. Achtung! Es geht nicht, die Summe als letzte Zeile unter die Tabelle zu setzen. Sie brauchen ein komplett neues DATABASE-Feld nur für die Summe. Die Tabelle kann eine Überschrift bekommen; wenn Sie das vermeiden wollen, lassen Sie den Schalter \h weg.
Dazu dient SUM, das innerhalb von SELECT verwendet wird. SUM benötigt unbedingt die Angabe der Spalte in Accent Graves sowie ein AS mit einer Wiederholung des Spaltennamens:
\s "SELECT SUM (`Umsatz 2012`) AS `Gesamt 2012`, SUM (`Umsatz 2013`) AS `Gesamt 2013` FROM `Umsatz$`"
Zusätzlich kann die Summe auch formatiert werden mit FORMAT:
\s "SELECT FORMAT (SUM (`Umsatz 2012`), '#,##0 €') AS `Gesamt 2012`, FORMAT (SUM (`Umsatz 2013`), '#,##0 €') AS `Gesamt 2013` FROM `Umsatz$`"
Die Spaltennamen müssen auch nach AS in Accent Graves gefasst werden, weil sie alle einen Leerschritt beinhalten. Zur Verwendung der Accent Graves und Anführungszeichen lesen Sie Punkt b.
Ein Beispiel für diese Berechnung finden Sie im Beispiel: Offene Rechnungen pro Kunde
Zählen und Gruppieren
Das ist ein Beispiel für die Verwendung von DATABASE ohne einen Seriendruck. Aus einer Excel-Tabelle soll eine Namensliste von Kursleitern erstellt werden, bei der jeder Name nur einmal erscheint und die Anzahl der Kurse daneben angezeigt wird.
Achtung! Es kann nur eine Spalte verwendet werden. Wenn ich neben "Name" auch noch die Spalte "Vorname" anzeigen lasse, gibt es Fehlermeldungen:
Fehler: In der Abfrage ist der angegebene Ausdruck "Vorname" nicht als Bestandteil einer Aggregatfunktion enthalten. |
Und: Word konnte die Datenquelle nicht öffnen. |
Ich stelle deswegen in der Excel-Liste eine Spalte zusammen aus Vor- und Nachnamen.
{database \d "D:\\Seminare\\Planung2.xlsx" \s "SELECT `Name`, count(`Kurs`) as Anzahl FROM `Kurse1$` group by `Name` order by `Name`;" \h}
• "count(Spaltenname)" zählt die Kurse
• „group by“ gruppiert nach den Namen der Referenten
"Count" ohne "Group by" kann nur als Gesamtsumme verwendet werden.
\d "D:\\Seminare\\Planung2.xlsx" \s "SELECT count(`Kurs`) as Gesamt FROM `Kurse1$`;" \h
gibt als Ergebnis:
Ein Beispiel für diese Berechnung finden Sie im Beispiel: Liste der Kursleiter mit Anzahl
Weitere Berechnungsfunktionen sind:
• MIN (Spalte) - Kleinster Wert in der Spalte
• MAX (Spalte) - Höchster Wert in der Spalte
• AVG (Spalte) - Durchschnittswerte der Spalte