Superset ist ein mächtiges Tool zur Datenauswertung
11.04.2024, Christian Mäder

Für einen unserer Kunden konfigurieren wir zurzeit Superset. Damit können die Benutzenden der Software unseres Kunden – ausgehend von vorgegebenen Dashboards – eigene Auswertungen und Reports erstellen. So können alle Benutzer:innen für sich exakt die Informationen zusammenstellen, die sie für ihre Arbeit benötigen.

Was ist Superset?

In Superset haben die Benutzenden die Möglichkeit, aus einer oder mehreren Datenquellen Dashboards mit Kennzahlen und Diagrammen sowie periodisch erstellte Reports zu generieren. Diese Reports sind interaktiv. Hat eine Auswertung beispielsweise eine geografische Dimension, kann die Auswertung mit einem Klick auf eine Unterregion eingeschränkt werden. Alle Kennzahlen und Diagramme passen sich entsprechend an.

Ein Screenshot, welcher ein Dashboard in Superset zeigt.

Bei Superset handelt es sich um eine Software, die ursprünglich von AirBnB entwickelt wurde. Die Rechte wurden später der Apache Software Foundation übertragen, unter dessen Dach die Weiterentwicklung stattfindet. Technisch baut die Software unter anderem auf Python, Flask und SQLAlchemy auf.

Wieso Superset?

Für einige unserer Kund:innen kommt eine BI Lösung wie Microsoft PowerBI oder Google Looker nicht infrage. Erstens sind die Lösungen oft zu teuer. Und zweitens sind diese Lösungen meist für die Firmen-interne Nutzung konzipiert:

  • Sie lassen sich nicht in ein Produkt einbinden, welches dann Dritten angeboten wird.
  • Viele bestehende BI-Lösungen sind nur als SaaS (Software-as-a-Service) verfügbar. Das erschwert die Integration in die eigenen Produkte.
  • Und für einige unserer Kund:innen ebenfalls wichtig ist, dass sie aus regulatorischen Gründen für sensible Daten die Cloud nicht ohne Weiteres nutzen können.

In Superset haben wir die Möglichkeit, die den Benutzenden zur Verfügung stehenden Daten einzuschränken. So kann erreicht werden, dass die eine Abteilung die Daten einer anderen Abteilung nicht zu sehen bekommt, der gemeinsame Vorgesetzte dies jedoch kann. Mit unserer Erweiterung können wir die Rollen der Benutzenden, welche diese Einschränkungen bestimmen, aus Keycloak laden. (Wir können dies auch für jedes andere IAM System konfigurieren.)

Deshalb Superset

Superset kann mit allen modernen Datenbanken (darunter PostgreSQL, MySQL, Oracle, Google BigQuery, Snowflake, u.v.m) und vielen weiteren Datenquellen (SAP Hana, Google Sheets, Apache Solr). Damit können – bei entsprechender Vorbereitung der Systeme – Daten aus mehreren Quellen zusammengezogen und gemeinsam ausgewertet werden. Die Dashboards können für die Benutzer:innen vorgegeben oder durch diese von Grund auf erstellt werden.


Superset enthält wichtige Funktionen, die mit anderen Lösungen teilweise nur schwer einzurichten sind:

  • Rollen für Dashboards, sodass gewisse Benutzer:innen die Dashboards bspw. nur betrachten können.
  • Benutzer:innen können Auswertungen abonnieren, um diese regelmässig via E-Mail oder Slack zu erhalten.
  • Benutzer:innen können Alerts abonnieren und erhalten eine Benachrichtigung, wenn bestimmte Ereignisse eintreten, bspw. ein Schwellwert überschritten wird.
  • Die Daten sämtlicher Datenquellen können für einzelne Benutzer:in oder Gruppen eingeschränkt werden, sodass bspw. nur die Daten zur eigenen Abteilung eingesehen werden können.
  • Alle Ansichten können in andere Webapplikationen integriert werden («Embedding»).
  • Superset integriert in fast jedes Single-Sign-On (SSO) System via OpenID Connect (OIDC) oder OAuth 2.

Für Kund:innen mit spezifischen Anforderungen können Erweiterungen programmiert werden. Denkbar ist die Einbindung weitere Datenquellen, bspw. Google Analytics oder das eigene CRM oder ERP System. Ebenso denkbar sind spezifische Diagramm-Arten, wie etwa eine Karte als Basis für Datenpunkte. Weil Superset eine Open-Source-Software unter Apache 2 Lizenz ist, sind der Anpassbarkeit der Software an die eigenen Bedürfnisse kaum technische oder juristische Grenzen gesetzt und die Software kann grundsätzlich ohne Nutzungsgebühr eingesetzt werden.

Bei der Konzeption, Integration und Erweiterung von Superset können die Spezialist:innen von nxt unterstützen. Wir freuen uns auf deine Anfrage!

Unser Superset Container

Superset kommt bereits mit einem Container-Image. Dies ist jedoch sehr minimalistisch und kann so nicht ohne Weiteres verwendet werden. Wir haben das Container-Image ergänzt und als «Superset Container» bei uns veröffentlicht. So kann Superset viel schneller und einfacher mit Docker und Docker-Compose ausprobiert und installiert werden.

Im Vergleich zum offiziellen Container-Image enthält es:

  • Die Python-Module, um eine Verbindung zu einer PostgreSQL Datenbank herzustellen.
  • Eine erweitere Konfiguration, um Superset auch über Umgebungs-Variablen und Secret-Files zu konfigurieren.
  • Eine Keycloak-Konfiguration, welche Rollen der Benutzer:innen aus Keycloak übernehmen kann.

Da dieses Image keine kundenspezifischen Änderungen enthält, können wir es mit der Community teilen. Technisch versierte Personen können unser Container-Image direkt von GitLab beziehen. Wir freuen uns auf Rückmeldungen.

Fazit

Die ersten Erfahrungen, die wir mit Superset sammeln konnten, waren durchwegs positiv. Die Ansprüche, die unser Kunde und die wir an die Software stellten, konnten bislang erfüllt werden – oder wir konnten Superset selbstständig dahin gehend erweitern.