Bessere Dashboard-Engine (spaltenübergreifende Widgets, beliebige Visualisierungen)

Ich würde mir gerne so ein Dashboard bauen:

Wenn man sich anschaut, was dafür aktuell in Portfolio Performance fehlt, dann sind das primär zwei Sachen:

  1. Man kann Elemente spaltenübergreifend platzieren.
  2. Man kann jede Visualisierung platzieren, auch die Klassifikationen.

Die perfekte Mischung als Vorbild aus der Open Source Welt wäre Redash:

Damit mache ich alles bei mir im Unternehmen. Redash hat relativ wenig Funktionen, aber das Grundprinzip der Dashboard-Erstellung ist sehr gut durchdacht und umgesetzt. Vielleicht können sich die Entwickler mal Redash anschauen, ob man die Prinzipien davon übernehmen kann.
In diesem Video zeige ich am Anfang die Bearbeitung eine Redash-Dashboard:

Letztendlich ist der Hauptunterschied, dass Redash mit einem festen 6-Spalten-Raster arbeitet und auch feste Zeilenhöhen hat und man jedes Element in diesem Raster frei anordnen kann (es rutscht immer nach oben auf, um leere Zeilen zu vermeiden).
Und man kann eben jede Visualisierung in jedem Dashboard einsetzen.

Mit ist klar, dass Ihr vermutlich Limitierungen der aktuellen Dashboard-Engine habt und dass ein Austausch ein riesen Aufwand sein wird, daher ist das eher eine langfristige Sache.
Vielleicht könnte man es kurzfristig lösen, dass man einen Webserver in PP integriert, der einem den Zugriff auf die Daten und Datenstrukturen als JSON-Files ermöglicht, dass man einfach eine BI-Software wie Redash separat aufsetzt und sich selbst Dashboards baut.
Oder noch besser alternativ zu der XML-Speicherung eine Option anbieten, dass man eine MariaDB-Datenbank hinterlegen kann, in der alle Daten gespeichert werden. Dann wird die Auswahl der BI-Lösungen noch größer und man könnte auch einfacher die Daten manipulieren (z.B. selbst einen Stammdatenimporter für Fundamentaldaten bauen) und PP ist “nur” ein Frontend für die Datenbank.

1 Like

Dazu: Chart der Klassifizierungen als Widget in Dashboards, Einzahlungen auf Konten erscheinen nicht im Widget "Monatliche Investitionen" - #6 by chirlu

Hi @ako,

ich habe auch nach einer Möglichkeit gesucht, die Dashboards in Portfolio Performance flexibler und individueller anzupassen und fand Deine Idee mit redash.io sehr gut.

Ich habe daher die Portfolio Performance API, die Andreas testweise implementiert hatte, mal etwas weiter aufgebohrt und mit der Kommer-Beispieldatei ein Redash-Dashboard aufgebaut.

Da Du Dich mit Redash auszukennen scheinst (im Gegensatz zu mir :wink:) würde ich mich über ein Feedback freuen.

Das Dashboard ist hier verfügbar:

Neben dem Ergänzen von weiteren Kennzahlen zur PP-API sind insbesondere noch folgende Punkte/Fragen offen:

  1. Wie kann analog zu den PP-Dashboards am besten ein Datums-Selektor realisiert werden? Soweit ich gesehen habe, unterstützt die QRDS-Datenquelle keine Parameter in der ursprünglichen JSON-Query. Und jedes mal alle Daten abzufragen ist z.B. bei Kursdaten/Performance-Kennzahlen nicht sinnvoll/nicht möglich.

  2. Die JSON-Datasource scheint standardmäßig nicht mehr als 2 Ebenen im JSON-Object abbilden zu können:

  3. Können die Redash-Dashboards irgendwie regelmäßig per Email verschickt werden?

Vermutlich wird nichts anderes übrig bleiben, als eine eigene Redash-Datasource zu schreiben, oder?

Viele Grüße,
Chris

4 Likes

Das sieht schon mal cool aus!

  1. Du kannst im Query-Editor unter “Add Parameter” z.B. einen “Date Range” Parameterset hinzufügen und das bei der Integration auf “Dashboard Level” stellen und dann hat man eine ziemlich mächtige Datumsauswahl auf dem Blitz (z.B. “Last Month”)

  2. Die JSON-Schnittstelle ist nicht so cool. Du kannst aber die Datasource “Query Results” anlegen, dann steht Dir unter der ID der Query diese als neue Tabelle bereit. Der im Query-Editor zu benutzender SQL-Syntax ist dann von SQLite:

SELECT
	a.name,
	b.count 
FROM query_123 AS a 
JOIN query_456 AS b
  		ON a.id = b.id

Und so kann man bel. viele Teil-JSONs miteinander kombinieren. Wenn man den Refresh-Schedule entsprechend einstellt, wird das auch alles ordentlich gecacht und die Performance geht hoch. Wenn Parameter drinnen sind, wird die Abfrage nicht gecacht. Daher ggfs. erst die Rohdaten zusammenbauen, das mit einen Refreash-Schedule versehen (dann ist es gecacht) und dann das wieder das als Query Result benutzten und da den Parameter drauf legen. Das ist so das Optimum, das man aus Redash rausholen kann:

SELECT
	a.name,
	b.count 
FROM cached_query_123 AS a 
JOIN cached_query_456 AS b
  		ON a.id = b.id
  1. Die E-Mail-Funktionen von Redash sind eher bescheiden. Du kannst nur Alerts verschicken. Redash für Live-Dashboards optimiert. Für E-Mail-Versand ist Metabase GitHub - metabase/metabase: The simplest, fastest way to get business intelligence and analytics to everyone in your company deutlich besser optimiert. Früher waren die Dashboards in Metabase nicht so flexibel wie in Redash, daher habe ich mich stark auf Redash fokussiert, allerdings scheint in den letzten Jahren deutlich mehr Dynamik in Metabase zu sein.
1 Like

zu 1.: ja, das ist klar, allerdings muss ja eine Kombination aus JSON-Datasource + QRDS (“Query Results”) für die PP-API zum Einsatz kommen, und in der initialen JSON-Datasource kann ich dann keine Parameter verwenden.

zu 2.: ja, genau das nutze ich bereits inkl. der Cached Queries. Das ist ganz cool gemacht, aber wie gesagt kann die JSON-Datasource offensichtlich leider nicht mehr als 2 Ebenen…

zu 3.: cool, Metabase werde ich mir auch mal anschauen :+1: