Skip to content

Reporting Tools Overview

As a Cyber specialist, I have had to develop quite a few security dashboards over the years. This has lead me down a path of data engineering, combining my expertise in Cyber engineering with data. While working with different reporting tools, I have come to know some of them quite well, and in this blog post, I will share some of my thoughts on the different tools, and give you a bit of insight to which one to choose for your next project.

Looker Studio

Looker Studio is one of my favourites. Not only is it free for the cloud offering, you also get a rich set of visualiations, allowing you to build some intricate dashboards.

If you wanted to move the dashboard to another tenant, you will not be able to do it, since Looker Studio does not offer an export / import function. Also if you wanted to do some very complex calculation, like do a double aggregation, it won't be able to accomodate that.

Like most dashboards, it does support calculated fields (or metrics). It has a number of built-in data collectors, so connecting to things like BigQuery, mySQL, SQL Server or Postgres will be a breeze.

If cost is your driving factor, do consider Looker Studio as a starting point.

✅ Advantage ❌ Disadvantage
Free Limitations with very complex calculations
SaaS service Cannot import or export dashboards
Good set of visualisations

ObservableHQ Framework

ObservableHQ Framework is another favourite of mine. This one for me shines because you can build dashboards as code. Every dashboard is a markdown file where you can embed your own SQL. This is great for repeatable dashboards, where the same design can be copied across.

Unlike the other tools, Observable Framework is a "static site generator". So all the data, and other components are all downloaded to the browser to be rendered locally. All the SQL code run in a local DuckDB database (inside your browser). Now do consider this. In order to serve the dashboard to your users, you have to provide your own web server, and secure it yourself. The data file may contain sensitve data, and this is distributed to the browser. If you don't want your users to have access to some of the content, you will need to prevent it from being generated.

It also has zero support for extracting data - that's on you. You need to develop your own data collector process. The advantage is that with a few lines of Python (or your language of choice) you can connect to any data source, download as json, csv of parquet, and ObservableHQ will be able to read that file just fine. Or alternatively, just provide the data files, and you're good to go.

✅ Advantage ❌ Disadvantage
Free when you self-host No build-in security when running locally
Dashboard as code No infrastructure - deploy on your own web server
SaaS offering is not to expensive You have to develop your own data extractors
Rich set of visualisations Data set is downloaded to the browser
Runs SQL
Dashboard is generated locally

Metabase

Metabase is awesome. It works great, it runs well, is a little tricky to wrap your head around, but once you get that a "question" is basically a SQL query, you're off to the races. With little effort, you can build beautifully looking dashboards. It works great.

I really can't fault it. They do have a SaaS offering, and you can host it free locally. So you can spin up an instance. See my previous article on how to host your own reporting platform.

✅ Advantage ❌ Disadvantage
Free when you self-host Not easy to import / export on a free plan
Rich set of visualisations

Apache Superset

Apache SuperSet is a good contender. It felt a bit unpolished. I had some difficulties getting it running, but overall, it was similar to Metabase - the same idea of building a query first, and then joining the queries into a dashboard.

With this one, there is no SaaS offering. If you want it, it is all self hosted.

✅ Advantage ❌ Disadvantage
Free You have to host it yourself
Rich set of visualisations

Grafana

Grafana is another heavy weight in the observability space. It is used by many clients all over the world. Apart from just being a reporting frontend, it can also ingest data from various data sources.

Grafana is free when you host it yourself. See my previous article on how to host your own reporting platform.

✅ Advantage ❌ Disadvantage
Free when you self-host Some limitations with visualisations

PowerBI

PowerBI is the master of the universe. This one has it all. Very rich features, built-in DAX language engine for complex queries. It can do it all. From a pure feature and visualisation perspective, I've not seen a tool that comes close to PowerBI.

Unlike the others, PowerBI is not cheap. It is free to develop, but quite expensive to share the reports. Unless you're a heavy-licensed Microsoft Azure shop, with plenty of E1 licenses, chances are that PowerBI might just be out of your reach.

Apart from cost, I did find the UI a bit funny. There are attributes you can set on the right-hand menu, but there's also attributes you can modify on the ribbon menu at the top. If you don't know what to look for, you can spend hours going through the one menu, when you should be looking at the other. Apart from the funny UI for developers, it is quite capable.

✅ Advantage ❌ Disadvantage
Develop for free Expensive to run in the Cloud
Very rich set of visualisations Desktop tool is tricky to learn
Very rich set of features
Can export / import dashboards

Feature Comparison

Feature Looker Studio Observable Metabase Apache SuperSet Grafana PowerBI
SaaS option?
Self-hosted (Free)
Dashboards as code
Run SQL DAX
Cost Free $ $ Free $$ $$$