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.
Since Cube.js now provides an official way to connect it to Metabase, there is no need for this repo anymore so I'm making it read-only. It was a great journey to learn the "basic" of Clojure, to make this project work and to see how the data flows between the 2 apps.
Thanks to all the people who helped me working on this in any way!
Due to an unfortunate move by someone at my previous company, the "original" repo became private and we lost all the stars, so I leave this screenshot here as a memento :)
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.
- 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
- Aggregations like sum, count and distinct. This must be done in Cube.js not in Metabase.
- Metabase v0.35.0 or newer
Download from the releases.
- Create the docker images:
make docker
- Build the driver:
make build
cp cubejs.metabase-driver.jar /path/to/metabase/plugins/
Note: you have to restart Metabase to load new plugins
- Create the docker images:
make docker
- Start a whole test environment:
make start
- 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