Semantic Layer Sync Semantic Layer Sync synchronizes the data model of a semantic layer from Cube to BI tools. Itβs the easiest way to connect a BI tool to Cube.Documentation Index
Fetch the complete documentation index at: https://cubed3-igor-core-418-duplicate-view-definitions-break-deplo.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Support for Preset and Superset is available on all plans.
Support for Tableau is available on Enterprise and above plans.
| Cube | BI tool |
|---|---|
| Deployment, branch | Database |
| Cube, view | Dataset, table, data source |
| Measure, dimension, segment | Column, dimension, metric |
Supported tools
Semantic Layer Sync supports the following BI tools. Check relevant pages for details on configuration and features for specific tools:Apache Superset
Preset
Tableau
Creating syncs
You can create a new sync by navigating to IDE β Integrations and clicking + Create Sync. Follow the steps in the wizard to create a sync with any of supported BI tools.Configuration
Under the hood, Semantic Layer Sync is configured using thesemantic_layer_sync
option in the configuration file.
This function accepts a security context and returns an array of configured
syncs. It can also be asynchronous, allowing for dynamic definition of syncs,
e.g., loading the configuration from a remote API endpoint.
Each sync is configured with a mandatory name and a type as well as the
config object with BI-specific credentials, e.g., a workspace URL and an API
key. config also includes the database name that will be created and updated
in the corresponding BI tool.
A sync can be disabled by setting active to false; such syncs will not run
automatically. If active is undefined, a sync is considered enabled.
Example configuration with a single disabled sync:
Multitenancy
If multiple security contexts are defined via thescheduledRefreshContexts configuration option,
semanticLayerSync can provide custom configuration for each of them.
You can synchronize the data model of each tenant to a different BI tool or a
different database in a single BI tool, or implement another scenario that makes
sense in your use case.
Example configuration for the case when each department wants have their data
model synchronized to a dedicated database in a BI tool:
admin data model should be
synchronized with a couple of BI tools:
Running syncs
Cube automatically runs configured syncs every time a new build is deployed. Additionally, you can configure syncs to run on schedule. Finally, you can manually trigger any sync to run. During the sync, Cube will either create from scratch or update a database in the corresponding BI tool and the data model associated with it. Syncing a branch in development mode will create a separate database, leaving the one associated with the production branch intact.On build
When the data model is updated, all configured syncs will automatically run.On schedule
You can use thescheduleInterval option to specify the interval for running
a particular sync on schedule. This is useful for cases when you expect that
a BI tool might be temporarily unavailable via its API; the next scheduled sync
will likely succeed anyway.
scheduleInterval option accepts values in the every [number] [period]
format, where [number] can be any positive integer, and [period] can be
any value from the following list: day, hour, minute, or days, hours,
minutes.
Shared deployments and auto-suspended Dedicated deployments
canβt run syncs on schedule.