cube icon indicating copy to clipboard operation
cube copied to clipboard

Epic: Connectors for additional BI tools

Open rpaik opened this issue 2 years ago • 17 comments

Continue to provide SQL connectors for leading BI tools.

Work items include:

  • [x] Add a connector for Metabase
  • [x] Add a connector for Tableau
  • [x] Add a connector for PowerBI
  • [x] Add a connector for Excel
  • [x] Add a connector for Google Datastudio
  • [ ] Add a connector for Google Sheets
  • [x] Explore/prioritize opportunities for other BI tools

rpaik avatar Jan 10 '22 17:01 rpaik

I'd heavily push for PowerBI, and then I'd also really like to see a cube Pivot table driver for Excel

MarkGStacey avatar Jan 24 '22 15:01 MarkGStacey

+1 powerbi and tableau

ifokeev avatar Jan 24 '22 16:01 ifokeev

+1 Metabase

johanjvrens avatar Feb 25 '22 11:02 johanjvrens

+1 metabase +1 google datastudio +1 google sheets

abdel-87 avatar Mar 13 '22 15:03 abdel-87

I'd heavily push for PowerBI, and then I'd also really like to see a cube Pivot table driver for Excel

An Excel pivot table driver would truly be next level. Almost nothing in the modern data stack is directly accessible from Excel (while being easy to use like a cube), yet Excel is the most common analytics tool in the world. If we want a headless BI tool that everything flows through this is a must.

astorrs avatar Mar 25 '22 14:03 astorrs

+1 Grafana

johanjvrens avatar May 10 '22 12:05 johanjvrens

+1 Holistics

abdel-87 avatar May 10 '22 13:05 abdel-87

Beekeeper—thanks, @sspaeti!

igorlukanin avatar Jun 17 '22 14:06 igorlukanin

In addition to Tableau, PowerBI connection, I'll add Cube connection to Databricks SQL Analytics and Snowflake SQL. This will give data engineers one SQL notebook to query both derived metrics in the Cube and data in Lakehouse.

LXiang-JLL avatar Jun 22 '22 17:06 LXiang-JLL

+1 Google Datastudio

chaos87 avatar Jul 11 '22 10:07 chaos87

+1 Google Sheets

elhe26 avatar Jul 13 '22 23:07 elhe26

please add a connector for thoughtspot

musharma888 avatar Jul 14 '22 21:07 musharma888

please consider qlikview 🙏🏿

jose-bernard-receeve avatar Jul 20 '22 08:07 jose-bernard-receeve

Nice @rpaik Big big vote up for Google Sheets! Very happy to help test and think through workflow. Over at CodeSandbox we're frequently building Dashboards in Apache's superset and the operations team needs a little more flex sometimes, so we're now copying data, instead of using either connected sheets or stream it in some other form.

oskarabc avatar Aug 05 '22 21:08 oskarabc

+1 on datastudio

kaizendae avatar Aug 06 '22 09:08 kaizendae

+1 for Evidence

archiewood avatar Aug 11 '22 18:08 archiewood

+1 Tableau +1 googlesheet

jinyangzhen avatar Sep 21 '22 10:09 jinyangzhen

+1 DBeaver Universal Database Tool

johanjvrens avatar Sep 22 '22 11:09 johanjvrens

@musharma888 For Thoughtspot you can select Redshift as the origin. We are currently working on adding official support to TS but most queries already work out-of-the-box.

paco-valdez avatar Sep 29 '22 20:09 paco-valdez

@johanjvrens For DBeaver select postgres as the type of DB and you will be able to connect to it. The same applies to other DB IDEs like Jet Brains Datagrip, VS Code and others.

paco-valdez avatar Sep 29 '22 20:09 paco-valdez

I've tried to connect via Postgre protocol to the docker container 'cubejs/cube' (the latest image) from SeekTable (cubejs was configured for real PostgreSQL DB) but got this strange error on any query (even for just "select 1"):

XX000: Internal: Error during planning: No field named 'typ_and_elem_type.typtype'. Valid fields are 'typ.oid', 'typ.typnamespace', 'typ.typname', 'typ.typrelid', 'typ.typnotnull', 'typ.relkind', 'typ.typtype', 'typ.elemtypoid', 'elemtyp.oid', 'elemtyp.typname', 'elemtyp.typtype', 'elemtyp.typrelid', 'elemtyp.typreceive', 'elemcls.oid', 'elemcls.relkind', 'elemproc.oid', 'elemproc.proname'.

SeekTable uses official Npgsql (.NET) driver.

VitaliyMF avatar Oct 02 '22 10:10 VitaliyMF

I've found the reason: Npgsql driver requires a special option in the connection string Server Compatibility Mode=NoTypeLoading (btw, it makes sense to mention about that for .NET users), when specified SeekTable was able to use Cube.js as a data source without problems; date-part dimenions (year/month/day) and report parameters (SQL filters) work just fine, so SeekTable can be considered as a pretty compatible with Cube.js and it is already mentioned as a supported data source for SeekTable.

@rpaik @paveltiunov is it possible to add SeekTable to this list https://cube.dev/docs/config/downstream ? Let me know if I can help with that somehow.

VitaliyMF avatar Oct 03 '22 09:10 VitaliyMF

I've tried to connect cube.js with Chartbrew (https://chartbrew.com/) using SQL API, but I obtain the following error :

Unable to parse: ParserError("Expected equals sign or TO, found: ZONE")
QUERY: SET client_min_messages TO warning;SET TIME ZONE INTERVAL '+00:00' HOUR TO MINUTE;

It seems that Charbrew uses Sequelize to connect to a PostgreSQL DB.

fabricebaranski avatar Oct 18 '22 13:10 fabricebaranski

Hi,

Is there work being done on a XMLA connector or something similar? Such an API would allow the BI tools to preserve the information as it is defined in the schema of the cube: the user would see dimensions instead of only columns.

In the issue below there is a reference to an XMLA project, but that is all that I can find: https://github.com/cube-js/cube.js/issues/3752

phohomi avatar Oct 27 '22 04:10 phohomi

Hi, Have you found a solution for google sheets ? I think, we can use some paid gsheets add-on like coefficient.io But, we would like to find a free solution :) Thanks to all

beubeu13220 avatar Jan 18 '23 18:01 beubeu13220

Microstrategy!

tiyure avatar Feb 03 '23 12:02 tiyure

+1 cumul.io

abdel-87 avatar Jul 23 '23 22:07 abdel-87

Continue to provide SQL connectors for leading BI tools.

Work items include:

  • [x] Add a connector for Metabase
  • [x] Add a connector for Tableau
  • [x] Add a connector for PowerBI
  • [x] Add a connector for Excel
  • [x] Add a connector for Google Datastudio
  • [x] Add a connector for Google Sheets
  • [x] Explore/prioritize opportunities for other BI tools

+1 to add https://www.querybook.org +1 to add https://intl.finebi.com

YuriyGavrilov avatar Oct 03 '23 19:10 YuriyGavrilov

Since creating this epic, we have improved the support of the PostgreSQL dialect for the SQL API. I recommend testing any BI tool that supports PostgreSQL connections. It's even possible to connect to Excel using the official Postgres odbc connector.

Link for windows: https://www.postgresql.org/ftp/odbc/versions/msi/

The version I tested that works is “psqlodbc_13_02_0000-x64-1.zip”

paco-valdez avatar Oct 03 '23 21:10 paco-valdez

we have improved the support of the PostgreSQL dialect for the SQL API

@pacofvf in this regard, maybe you know about plans to support 'GROUP BY CUBE' syntax for SQL queries? I mentioned above that SeekTable is able to connect to Cube.js via PostgreSql driver (with a special connection string option) and it works good for common aggregates (COUNT, SUM, AVG, MIN, MAX) and subtotals are also ok because for these aggregate functions it is possible to calculate subtotals on BI tools side. However, for custom-SQL metrics - like 'count unique' via COUNT(distinct user_id) - subtotals can be technically calculated only on a DB side, and for that cases SeekTable can generate queries like

SELECT col1, col2, COUNT(distinct user_id) as count_unique_user_id FROM orders GROUP BY CUBE (col1, col2)

to load subtotals/grand total and show them in a pivot table report accordingly. Almost all popular DBs support GROUP BY CUBE (the only exception so far is MySql, actually). I guess other BI tools that use 'direct query' DB connections also are capable to show subtotals for this kind of measures only they can be returned in SQL query results.

VitaliyMF avatar Oct 04 '23 06:10 VitaliyMF