Skip to main content

From Tableau to Holistics

info

This document was written in Oct 2024, and may have become inaccurate as Holistics and Tableau continue to improve their products.

Introduction

This document aims to give a high level comparison between Holistics and Tableau, and to smoothen to the transition for existing Tableau customers to Holistics.

High level difference

TODO

Migrating from Tableau to Holistics

1. Data Source Connection

While Tableau offers connection to every possible type of data source imaginable, Holistics workflow is designed for SQL data sources. See a list of supported data sources.

If you have data coming from sources like Google Analytics, Facebook, Hubspot, etc, consider using a dedicated EL (Extract and Load) tool to consolidate your data in one of the supported data sources.

2. Identify Database (Source) Tables currently used for reporting in Tableau

While your production database may have many database tables, not all of them might be used in your existing dashboards. Identify the list of database reporting tables used in your workbook.

This can either be done manually or, if you are feeling adventurous, using the Tableau Metadata API (tutorial) or even Tableau Data Catalog.

3. Identify and Document Calculated Fields (Workbook & Data Source)

List down all existing Tableau calculated fields in your calculations. You can retrieve this either via eyeball, Metadata API, or Tableau Catalog. You can document this either via text, spreadsheets, or dbdocs.

4. Import Identified Models/Tables to Holistics project folder

Your modelling layer automatically initializes with am empty project structure. You have the ability to create and structure your project folder(s) in any manner desired. An example is to create one parent folder 'Models' and under it a child folder(s) to house your tables according to your desired categorization. One example is to create a child folder "Table Models" then proceed to point Holistics to your Identified Tables in your data source using steps described here.

[Optional] Modify Dimensions Properties (Implementing formatting options)

If you had performed data type formatting on certain dimensions in Tableau, i.e changing data format for a numerical or date field, you can effect similar changes in Holistics by clicking on the 3 dots beside the desired dimension and select “edit”. You can then proceed to modify the format using options in the drop down under “Format” or even use set custom format if applicable

5. Identify Custom SQL Models and Map to Holistics Query Models

Note: If you use Dbt for transformations, skip this step. This documentation provides more details on setting up dbt integration with Holistics for Cloud/Core options.

To migrate your Custom SQL Queries to Holistics, just copy the entire query block from Tableau and Paste in the SQL editor interface displayed when you use the Transform(H v.30)/Query(H v4.0) model option to create new models in Holistics. You can read these docs to learn more about these types of models in Holistics.

After pasting, ensure to remove all square brackets wrapping model and field references respectively and replace them with Holistics format as seen below

a. Tableau:

select 
[o].[id] as [order_id]
, [o].[user_id]
, [o].[created_at] as [order_created_at]
, [oi].[quantity]
from [ecommerce_order_items] AS [oi]
left join [ecommerce_orders] AS [o] on [oi].[order_id] = [o].[id]
left join [ecommerce_products] AS [p] on [oi].[product_id] = [p].[id]

b. Holistics:

select 
{{#o.id}} as order_id
, {{#o.user_id}}
, {{#o.created_at}} as order_created_at
, {{#oi.quantity}}
from {{ #ecommerce_order_items AS oi }}
left join {{ #ecommerce_orders AS o }} on {{#oi.order_id}} = {{#o.id}}
left join {{ #ecommerce_products AS p }} on {{#oi.product_id}} = {{#p.id}}

Map Tableau Calculated Data Source Fields to Custom Dimensions and Holistics Measures on appropriate Holistics Models

Inspect the dimensions, source table, and logic applied to your Tableau Calculated Data Source Fields, then apply the same logic in your Holistics Custom Dimension definition using the same dimensions by selecting "+Add field" then "Custom Dimension" on the modelling UI for that Table/Model. Click here to find out more. It is important to note that if the calculated field in Tableau is an aggregation, then you should select 'Measure' after clicking "+Add Field". This doc on Adding Measures to Holistics Models provides more details.

A sample of definition syntax in Tableau vs Holistics is shown below:

Sample Calculated Field Syntax Tableau: A conditional classification

Untitled

Sample Calculated Field Syntax Holistics: A conditional classification

Note that in Holistics you can easily use a "case when" to achieve this classification. Ensure it is written in the SQL dialect of your DB Engine. The sample below is for a PostgreSQL instance.

Untitled

After listing out your tables, map out the relationship between your database tables used in your dashboards.

7. Map out existing relationships between Tables

Some tools that may help facilitate this can do this either via text, spreadsheet, or dbdiagram.io.

  • Note: Holistics BI will also let you create relationships across these tables naturally in-app, and expose their definition as text (the next heading gives insight about this)

8. Combining Data

This concept is termed creating datasets in Holistics. In Holistics, a Dataset is a "container" holding several data models together so they can be explored together, and dictating which join path to be used in a particular analytics use case.

In other words, Dataset is like a mini data mart that enables two things:

  • Data Exploration: Dataset can be shared to Explorers (non-technical users) to do self-service exploration of the data.
  • Creating Charts: All Charts in Holistics have to be created from a dataset. This is done either by the Analyst or the Explorer

This is similar to the process of defining relationships across selected tables needed for various reporting cases in Tableau. See this docs for more details on Datasets creation in Holistics. Please make sure to click on the number representing your current Holistics version (3.0 or 4.0).


Open Markdown
Let us know what you think about this document :)