Skip to content

hackstrap/metabase-cubejs-driver

 
 

Repository files navigation

NOTE

CubeJS has an official SQL API now, so try that before using this driver, since it could be more reliable and well supported. You can find more info here.

metabase-cubejs-driver

Latest Release GitHub license

Cube.js driver for Metabase. With this driver you can connect your Cube.js server to Metabase just like a DB.
Metabase fetches all schemas (cubes) and that's all: you can make queries, filter the results and create beautiful charts and dashboards.

Explanation:

Cube.js Metabase
measure metric & field
dimension field
time dimension field

NOTE: The driver is under development so expect some bugs and missing features. If you find one please create an issue.

Features

Working

  • Auto generate data model from the schema fetched from the Cube.js API meta endpoint
  • Auto create metrics from the measures. (These metrics are "invalid" when you try to edit them but still usable in queries.)
  • native queries with variables
  • custom questions
  • filters, orders, limit

Not working

  • Aggregations like sum, count and distinct. This must be done in Cube.js not in Metabase.

Installation

Requirements

  • Metabase v0.35.0 or newer

Get the driver

Download

Download from the releases.

Build with Docker

  1. Create the docker images: make docker
  2. Build the driver: make build

Build without Docker

Use this guide.

Copy to your Metabase plugins

cp cubejs.metabase-driver.jar /path/to/metabase/plugins/
Note: you have to restart Metabase to load new plugins

Usage

  1. Add and configure your Cube.js "DB" Add new DB
  2. Inspect your Data Model Data Model
  3. Create a query
    • Native Native query
    • Custom question Custom question
  4. Explore the data Results

Development

Roadmap

v1.0.0

Testing the driver

  1. Create the docker images: make docker
  2. Start a whole test environment: make start

Contributing

  • Any type of contributions are welcomed
  • If you find a bug, missing feature or a simple typo just create an issue
  • If you can fix/implement it create a pull request

License

GNU Affero General Public License v3.0 (AGPL)

About

Connect Metabase with Cube.js.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Clojure 91.6%
  • Makefile 4.6%
  • JavaScript 2.5%
  • Other 1.3%