Vom Translogica-TMS zur Zahl, die die Disposition akzeptiert
Der naheliegende Weg ist ein BI-Werkzeug, das sich direkt an die Datenbank des TMS hängt und die Tabellen abfragt, in die das System beim Speichern schreibt. Bei unserem Translogica-TMS ist das eine SQL-Server-Datenbank, und Metabase unterstützt SQL Server offiziell vom ältesten unterstützten Stand bis zur jeweils aktuellen Version. Technisch funktioniert der Direktaufruf sofort. Er trägt trotzdem nur so lange, bis jemand eine Zahl hinterfragt.
Warum der Direktaufruf nach einer Woche aufhört
Ein Erfassungssystem ist auf Schnelligkeit beim Schreiben gebaut, und Auswertungen haben eine andere Lastform. Die Tabellen sind normalisiert, ein Bericht über Frächterkosten pro Tour ist ein Join über Auftrag, Sendung, Tour, Fahrzeug und Adressen, und dieser Join läuft bei jedem Klick neu gegen die Platte, auf der gerade die Disposition arbeitet. Die Doku von Metabase empfiehlt für diesen Fall ausdrücklich eine Replik oder eine Datenbank, die für Analysen optimiert ist, und trennt die Abfrageverbindung von der schreibenden Verbindung. Auf der Microsoft-Seite ist dasselbe Muster seit Jahren dokumentiert: Leselast auf eine Zweitkopie verlagern, damit der Primärknoten für das Tagesgeschäft frei bleibt. Dagegen steht die Erfahrung aus der Praxis, dass kleine Reportabfragen auf einem gesunden System kaum auffallen, und ebenso die Warnung, dass die Zweitkopie selbst ein Betriebsrisiko ist. Strittig ist also, ab welcher Last man umzieht. Strittig ist nicht, dass Ad-hoc-Scans und Buchungsläufe verschiedene Lastformen sind.
Dazu kommt etwas, das keine Lastmessung löst: Das Schema gehört dem TMS-Anbieter. Translogica sitzt in Innsbruck und ist als GmbH im Firmenbuch eingetragen; eine öffentlich gepflegte Entwicklerdokumentation mit stabilen Tabellenzusagen habe ich nicht gefunden, nachdem ich die Anbieterseiten, die Modulübersicht und die Stellenausschreibungen durchgangen habe. Welches TMS wir on-prem betreiben, steht in einem früheren Beitrag. Beim nächsten Update kann eine Spalte einen anderen Sinn haben, und die Berichte laufen dann weiter, ohne zu melden, dass sie etwas anderes zusammenzählen.
Der Datenweg, den wir betreiben
Auf der TMS-Seite genügt ein eigener Lesezugriff, kein geteiltes Administratorkonto. Der Import läuft zeitgesteuert und schreibt je Themenbereich eine Parquet-Tabelle: Auftragstamm, Sendungen, Touren, Frächterleistungen, abrechnungsrelevante Sichten. Diese Dateien liegen auf einer Maschine, die für Auswertungen da ist, und werden dort mit DuckDB gelesen. Metabase hängt an dieser Auswertungsdatei und zusätzlich an ein paar Direktverbindungen für Fragen, die den aktuellen Stand brauchen.
Gemessen am laufenden Bestand auf unserer BI-Maschine, Stand 01.10.2026: 30 Dashboards, 1.048 gespeicherte Fragen, 84 Tabs, neun Datenbankverbindungen, sechs aktive Nutzer. Die See umfasst 1,2 Gigabyte, verteilt auf Themenbereiche, deren Verzeichnisse zuletzt am selben Tag geschrieben wurden. 1.048 Fragen sind keine 1.048 Berichte; ein großer Teil ist Arbeitsbestand und Veraltetes, das man beim Aufräumen mit sich herumträgt.
Vier Fehlerquellen, an denen Logistikzahlen sterben
Kein Zeitstand auf dem Bericht. Eine Zahl ohne den Satz „Datenstand: Import vom 30.09., 14:05" ist eine Behauptung. Beim Bewerten von Alter hilft eine Unterscheidung, die wir uns erst klarmachen mussten: Eine Tabelle aus einem geplanten Import darf veraltet heißen, wenn der Lauf nicht durchgekommen ist. Eine Tabelle, die aus Ereignissen gespeist wird, ist ruhig, wenn niemand gebucht hat, und das ist kein Ausfall. Die Regel steht, die Umsetzung ist bei uns eine Lücke: Der Import schreibt Wasserstände je Themenbereich in eine Datei, und am 01.10.2026 stand genau ein Eintrag darin, bei 27 Tabellen in der Auswertungsdatenbank. Ein Wasserstand auf jeder Auswertung ist damit etwas, das wir selbst noch nicht haben.
Leere Spalten, die nicht fehlschlagen. Wir wollten den nächstgelegenen eigenen Truck zu einer Sendung anzeigen. In der Fahrzeugtabelle der See standen am 01.10.2026 genau 366 Sätze, und die Spalte für den letzten Positionszeitpunkt war in keinem einzigen davon gefüllt, wie zwei weitere Adressspalten derselben Tabelle auch. Keine Abfrage meldet so etwas als Fehler, ein Report rechnet mit „kein Treffer" weiter. Ohne diese Messung hätten wir eine Funktion auf Live-Positionen gebaut und die Ursache zwei Wochen später gesucht. Gebaut wird jetzt eine Rechnung über disponierte Touren und Entfernungen, die Positionsfrage ist als offene Baustelle beim Anbieter notiert.
Definitionen ohne Eigentümer. Marge auf einer Tour ist Erlös aus dem Auftrag minus Frächterkosten aus der Sendung, so haben wir es gerechnet, und diese Zeile steht jetzt mit einem Namen daneben. Oft übersehen wird der zweite Fall: fakturierte Erlöse und beauftragte Erlöse sind zwei Zahlen, und ein Unterschied von fünf Prozent zwischen Controlling und Disposition ist fast immer zwei SQL-Varianten geschuldet.
Version der See. Unsere Auswertungsdatei schreibt ein Skript, und ein Treiber in der Metabase-Anwendung liest sie; beide müssen dieselbe Dateiformatlinie sprechen. DuckDB sichert die Abwärtskompatibilität des eigenen Formats seit Version 0.10 zu, auf Parquet ist das nicht übertragbar, weil Kompatibilität dort je Implementierung zu prüfen ist. Die Regel vom 01.09.2026 für uns: Erst die Writer-Version anheben und einen Importlauf prüfen, dann die Metabase-Anwendung gegen den passenden Treiber neu bauen. Umgekehrt stehen die Reports, während sonntags die Ursache gesucht wird.
Dieselbe Kennzahl, zwei Zahlen
Die amtliche Güterkraftverkehrsstatistik in Deutschland weist für den Stand 30.03.2026 unter anderem 20.685 Millionen Lastkilometer und 6.351 Millionen Leerkilometer aus, dazu 231,5 Millionen Lastfahrten und 140,7 Millionen Leerfahrten. Daraus ausgerechnet: Der Leerlaufanteil beträgt 23,5 Prozent bezogen auf Kilometer und 37,8 Prozent bezogen auf Fahrten. Zwei richtige Zahlen für eine Kennzahl, getrennt durch die Frage nach dem Bezugsgrund.
Der Grund für diese Genauigkeit liegt in der Marge. Die Branchendatenanalyse der Arbeiterkammer Wien zur Speditions- und Logistikbranche weist für das Geschäftsjahr 2022 auf Basis von 48 Unternehmen mit 12,3 Milliarden Euro Umsatz eine durchschnittliche ordentliche EBIT-Quote von 3,7 Prozent aus. Bei dieser Marge entscheidet der Bezugsgrund darüber, ob eine Verbesserung um einen Prozentpunkt auf einer der beiden Zahlen überhaupt existiert. Jede Kennzahl in einem Logistik-Dashboard braucht deshalb ihren Nenner im Namen: Leerkilometeranteil heißt die eine, Leerquote die andere.
Was die Werkzeugechnik noch mitzählt
Drei Punkte, die vor einer Auswahl geklärt sein sollten, alle aus der Anbieter- und Projektdoku:
Unterstützungsdauer. Metabase Version 63 ist am 07.07.2026 erschienen und läuft am 01.11.2026 aus der Unterstützung, die Langzeitversion 58 bis 17.02.2027; nicht-LTS-Zweige bekommen in der Regel rund zwei Monate. Unsere Anwendung steht gemessen auf 0.63.13, die nächste Veröffentlichung derselben Linie ist 0.63.18 vom 16.09.2026. Ein Upgrade-Fenster von vier Wochen ist bei einer BI-Anwendung, an der die Disposition hängt, eine Planungsaufgabe und keine Formalie.
Zwei Dinge heißen cache. Der Abfrage-Cache liegt in der Metabase-Metadatenbank und greift nur, wenn die Abfrage über Metabase läuft; in der freien Ausgabe gibt es adaptives Caching mit einer Zeiteinstellung je Datenbank. Ein Modell kann dagegen als vorgerechnete Tabelle zurückschreiben, und das ist ein anderer Mechanismus mit anderen Folgen für Ihre Datenbank. Wer in einer Ausschreibung Cache liest, sollte nachfragen, welcher gemeint ist.
Wer Auswertungen über Personen betreibt, braucht die Protokollierung dazu. Nutzungs- und Meta-Analysen, also wer welche Auswertung sieht, herunterlädt oder abonniert, sind in der freien Ausgabe nicht enthalten und Teil der Bezahlfunktionen. Bei Auswertungen mit Personalbezug ist das kein Komfortpunkt.
Wer Personendaten auswertet, ist in Österreich früher dran
Die Verordnung über die Datenschutz-Folgenabschätzung (DSFA-V, BGBl. II Nr. 278/2018) verlangt in Paragraf 2 Absatz 2 eine Folgenabschätzung unter anderem für Verarbeitungen, „die eine Bewertung oder Einstufung natürlicher Personen – einschließlich des Erstellens von Profilen und Prognosen – umfassen für Zwecke, welche die Arbeitsleistung ... betreffen und ausschließlich auf einer automatisierten Verarbeitung beruhen". Dieselbe Bestimmung nennt die Ausnahme: Bei Beschäftigungsverhältnissen gilt sie nicht, wenn eine Betriebsvereinbarung oder die Zustimmung der Personalvertretung vorliegt. Ein Absatz weiter werden Arbeitnehmer als schutzbedürftige betroffene Personen genannt, und eine eigene Zeile betrifft das Zusammenführen von Datensammlungen aus verschiedenen Zwecken. Für eine Spedition heißt das: Ein Dashboard, das Disponenten oder Fahrer nach Zahl und Güte bewertet, braucht die Unterlage vor dem ersten Bild.
Was die Arbeit ist und was nicht
Die Software ist der billige Teil: Metabase ist ein Container, die See ist ein Verzeichnis mit Parquet-Dateien, ein Lesezugriff ist eine Zeile SQL. Was Zeit kostet, liegt um diese Dateien herum, und bei uns ist das nie ein Projekt gewesen. Zwischen dem 26.08.2026 und dem 01.10.2026 ist die Dashboardzahl von 29 auf 30 gestiegen; der Aufwand derselben Wochen steckte in Definitionen, die auf eine Zeile und eine Abfrage gekürzt sind, in einem Import, der seinen Wasserstand zeigt, und in den zwei Messungen oben, die eine geplante Funktion umgeworfen haben.
Vier Voraussetzungen vor dem ersten Dashboard
- Ein eigener Lesezugriff auf das TMS mit eigenem Login, damit nachvollziehbar bleibt, welche Abfrage von wo kam.
- Ein Name pro Kennzahl, inklusive Nenner. Eine Zeile Text und eine Abfrage, keine Diskussion im Meeting.
- Ein vereinbarter Rhythmus für den Import und ein sichtbarer Wasserstand auf jeder Auswertung.
- Ein Test, der einen fehlgeschlagenen Import laut macht. Ein Bericht, der nach einem Importfehler den Stand von gestern zeigt, ist schlechter als kein Bericht.
Wenn Sie auf Ihrem TMS oder ERP so eine Strecke einrichten wollen, mache ich das, von der Lesezugriffs-Frage bis zur dritten belastbaren Zahl: Kontakt. Der Anfang ist klein, ein Leserechte-Zugang und drei Zahlen, die Ihre Disponenten jeden Tag brauchen.
Weiterführende Quellen
- Metabase-Unterstützung für SQL Server, Versionsband: https://www.metabase.com/docs/latest/databases/connections/sql-server
- Metabase-Doku zur Entlastung der Produktivdatenbank: https://www.metabase.com/docs/latest/troubleshooting-guide/my-dashboard-is-slow
- Metabase-Unterstützungsdauer je Version, inklusive LTS-Linien: https://www.metabase.com/version-support/
- Metabase-Cache-Mechanik und was die freie Abdeckung enthält: https://www.metabase.com/docs/latest/configuring-metabase/caching
- Metabase-Funktionsumfang freie Ausgabe gegen Bezahlteil: https://www.metabase.com/paid-features/
- DuckDB, Nebenläufigkeit beim Öffnen derselben Datei: https://duckdb.org/docs/stable/connect/concurrency
- DuckDB, Abwärtskompatibilität des Dateiformats ab Version 0.10: https://duckdb.org/docs/stable/internals/storage
- Apache Parquet, Formatbeschreibung: https://parquet.apache.org/docs/overview/
- Microsoft, Leselast auf Zweitkopie verlagern: https://learn.microsoft.com/en-us/sql/database-engine/availability-groups/windows/active-secondaries-readable-secondary-replicas-always-on-availability-groups
- Fachlicher Einwand gegen die Zweitkopie als Heilmittel: https://www.sqlskills.com/blogs/jonathan/availability-group-readable-secondaries-just-say-no/
- Amtliche Güterkraftverkehrsstatistik Deutschland, Eckwerte Stand 30.03.2026: https://www.bmv.de/SharedDocs/DE/Artikel/G/amtliche-gueterkraftverkehrsstatistik.html
- Eurostat, Straßengüterverkehr in der EU, Datenstand Juli 2026: https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Road_freight_transport_statistics
- Arbeiterkammer Wien, Branchendatenanalyse Spedition und Logistik: https://wien.arbeiterkammer.at/service/studien/WirtschaftundPolitik/branchenanalysen/Speditionen_und_Logistik_2024.pdf
- DSFA-V im RIS, geltende Fassung vom 01.10.2026: https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=20010375
- Translogica GmbH, Innsbruck, Produktübersicht: https://www.translogica.net/
Kann Metabase nicht einfach direkt auf die TMS-Datenbank?+
Ja, und einen Tag lang ist das auch die richtige Antwort. Metabase unterstützt SQL Server offiziell vom ältesten unterstützten Stand bis zur aktuellen Version. Die Doku des Projekts selbst rät für Auswertungen trotzdem zu einer Replik oder einer Analyse-Datenbank und empfiehlt, die Verbindung für Abfragen vom Schreibpfad zu trennen. Genau diese Trennung übernimmt bei uns eine eigene Importstrecke.
Wie oft muss der Import laufen?+
Nach dem Bedarf der Disposition, und die Antwort muss auf dem Bericht stehen. Ein Fünf-Minuten-Lauf bringt eine Nachladezeit, die bei einer Spätdisposition niemand einsehen will, und ein Nachtdurchlauf macht Tagesentscheidungen mit Zahlen von gestern. Entscheidend ist der sichtbare Wasserstand je Auswertung und ein Test, der einen fehlgeschlagenen Import laut meldet.
Müssen wir bei Auswertungen über Disponenten und Fahrer etwas Rechtliches beachten?+
In Österreich ja, und zwar vor dem ersten Dashboard. Die DSFA-V der Datenschutzbehörde verlangt ab BGBl. II Nr. 278/2018 für Verarbeitungen, die natürliche Personen für Zwecke der Arbeitsleistung bewerten oder einstufen und ausschließlich automatisiert laufen, eine Datenschutz-Folgenabschätzung. Die Ausnahme ist eine Betriebsvereinbarung oder die Zustimmung der Personalvertretung. Wer eine Fahrer- oder Disponenten-Leistung ohne diese Unterlage auswertet, fängt am falschen Ende an.
senn-tech