Superset / Preset
Apache Superset (opens in a new tab) is a popular open-source data exploration and visualization platform. Preset (opens in a new tab) is a fully-managed service for Superset.
Here's a short video guide:
Connect from Cube Cloud
It is recommended to use Semantic Layer Sync to connect Cube Cloud to Superset or Preset. It automatically synchronizes the data model with Superset or Preset.
Navigate to the Integrations page, click Connect to Cube, and choose Apache Superset or Preset to get detailed instructions.
Connect from Cube Core
You can connect a Cube deployment to Superset or Preset using the SQL API.
In Cube Core, the SQL API is disabled by default. Enable it and configure the credentials to connect to Metabase.
Connecting from Superset or Preset
Superset and Preset connect to Cube as to a Postgres database.
Creating a connection
In Superset or Preset, go to Data > Databases, then click + Database to add a new database:
Querying data
Your cubes will be exposed as tables, where both your measures and dimensions are columns.
Let's use the following Cube data model:
cubes:
- name: orders
sql_table: orders
measures:
- name: count
type: count
dimensions:
- name: status
sql: status
type: string
- name: created
sql: created_at
type: time
Using the SQL API, orders
will be exposed as a table. In Superset, we can
create datasets based on tables. Let's create one from orders
table:
Now, we can explore this dataset. Let's create a new chart of type line with "Orders" dataset.
We can select the COUNT(*)
as a metric and created_at
as the time column
with a time grain of month
.
The COUNT(*)
aggregate function is being mapped to a measure of type
count in Cube's
Orders data model file.
Additional configuration
Pre-aggregations
To allow queries from Superset to match pre-aggregations in Cube, the
allow_non_strict_date_range_match
property must be set to true
in the
pre-aggregation definition. This is because Superset uses loose date ranges when
generating SQL queries.