The Fuse BI Connector is a read-only Amazon Redshift database. Anything that can talk to Redshift — or to PostgreSQL, since Redshift speaks a dialect of it — can build on it. This page covers what you need regardless of tool, then the specifics for the common ones.
Connecting
Your Fuse contact provides the endpoint, port, database name, schema and read-only credentials. Most tools connect one of three ways:
|
Method |
When to use it |
Notes |
|---|---|---|
|
Native Redshift connector |
First choice wherever the tool offers one |
Best performance and type handling. Available in Power BI, Tableau, Looker, Qlik, Sigma and most modern tools. |
|
PostgreSQL connector |
Where there is no Redshift option |
Works because Redshift is Postgres-derived. Some functions and type mappings differ, so test date and numeric columns carefully. |
|
JDBC / ODBC driver |
Java or desktop tools, Excel, bespoke applications |
Download the current driver from AWS. Keep it updated — older drivers handle newer Redshift types poorly. |
Two things to sort out before you start building. First, SSL should be enabled on the connection — check your tool defaults to it rather than assuming. Second, your organisation's outbound IP range may need allow-listing before the connection will open at all; if the connection times out rather than rejecting your credentials, that is usually why. Raise both with your Fuse contact.
Live query or extract?
Every tool offers some version of this choice, under different names — Import vs DirectQuery, Extract vs Live, cached vs direct.
|
|
Extract / import |
Live / direct query |
|---|---|---|
|
Best for |
Dashboards people use daily |
Ad-hoc exploration, very large tables you do not want to copy |
|
Speed for the reader |
Fast — data sits in the tool |
Depends on Redshift and network each time |
|
Freshness |
As of the last refresh |
Current |
|
Load on Redshift |
Concentrated at refresh time |
Every interaction issues a query |
For most Fuse reporting, extracts refreshed nightly are the right default. The underlying data does not change second by second, and dashboards will be far more responsive. Use live query for the engagement tables only if you genuinely need same-day figures and can accept slower dashboards.
Patterns you will need to translate
These are the modelling problems the Fuse schema will hand you. The problem is the same in every tool; only the syntax changes. Each one can also be solved in SQL before the data reaches your tool, which is often the simplest answer.
Notes for specific tools
|
Tool |
What to know |
|---|---|
|
Power BI |
Native Redshift connector. Do the polymorphic filtering and profile pivot in Power Query. For the manager hierarchy, duplicate the users query and create an inactive relationship on |
|
Tableau |
Native Redshift connector. Use Custom SQL for the polymorphic filters and the profile pivot rather than fighting the relationship model. Extracts with incremental refresh keyed on |
|
Looker / Looker Studio |
In Looker, model the polymorphic joins as separate views with |
|
Qlik Sense |
Qlik's associative model joins on identical field names, which is dangerous here — |
|
Metabase |
Connect via the Redshift or Postgres driver. Save the polymorphic filters, engagement union and profile pivot as SQL-based Models so the questions people build on top are already correct. Set the semantic types on key columns so Metabase's automatic summarisation behaves. |
|
Sigma / Omni / Hex |
These query Redshift live. Push the joins and filters down into SQL or the tool's dataset layer once, then let people explore on top of that. Because everything runs live, be more careful than usual about scanning |
|
Excel or Google Sheets |
Fine for a one-off extract, not for a recurring dashboard. Use ODBC from Excel, or export from a SQL client for Sheets. Aggregate in SQL first — the engagement tables will exceed row limits quickly. |
|
SQL client / data warehouse pipeline |
If you are loading Fuse data into your own warehouse, model the polymorphic tables as separate typed tables at load time, and materialise the engagement union and profile pivot as views. Everything downstream then gets a clean model for free. |
Redshift specifics worth knowing
Column names are lowercase
Redshift folds unquoted identifiers to lowercase. Reference columns in lowercase, and if you quote them, quote them in lowercase.
Several column names are reserved words
The Fuse schema uses type, value, status, position, group, role and state as column names. group in particular (on question_sets) will break a query if you do not quote it:
SELECT "group", position FROM question_sets;
Some tools quote everything automatically; some do not. If a query fails with a syntax error near an innocuous-looking column, this is usually why.
Timestamps are UTC
All created_at, updated_at, starts_at and similar columns are UTC. Convert to local time before grouping by day, or your daily figures will be shifted — and for organisations spanning time zones, decide once which zone your reporting uses and apply it consistently. Peak-hour analysis is meaningless without this.
Filter early, aggregate in SQL
Redshift is columnar and fast at aggregation, and moving fewer rows into your BI tool beats moving more. Select only the columns you need rather than everything, constrain by date range, and let Redshift do the grouping wherever the tool allows it. Exclude user_scorm_reporting_data.suspend_data from any import — it is a large opaque blob with no reporting value.
Sizing expectations
views is normally the largest table by a wide margin, followed by gamification_activities and the other engagement tables. Plan your refresh strategy around views specifically; everything else is comparatively small.
A sensible build order
-
Connect and confirm you can read a small table such as
communities. -
Build your date table.
-
Bring in
users, plus the profile pivot, as your people dimension. -
Add the dimension tables you need —
communities,contents,topics. -
Add one fact table and get a single number to tie against the Universal Analytics dashboard before you build anything else.
-
Only then add the remaining facts.
Reconciling one number early is much cheaper than reconciling twenty at the end.