Data Visualizations with Sigma
Now that you have built an app that processes consumer data and generates some sort of output tables, you can add data visualizations to your app.
Sigma Integration Diagrams
See the below diagram for an overview of how Seek and Sigma integrate during the app build process.
Once apps have been deployed with attached Sigma dashboards, users can interact with the dashboards to explore the data in the app. The below diagram shows how Seek generates dynamic Sigma embed links to securely display the correct data to users.
Sigma Integration Steps
0. Prerequisites
Build out an SBT app locally. Use sbt run-app
to get _test
versions of all the app output tables written into your snowflake environment. These tables will be used to build your Sigma dashboard against.
1. Create Sigma Datasets
Create a sigma dataset for each app model you want to include in the dashboard. Use a SQL dataset so we can include a user attribute in the dataset definition. This user attribute will be used to allow the dashboard to support different app variants. The definition should look something like this:
select *
from {{system::CurrentUserAttributeText::sbt_model_name}}
2. Create + Publish Sigma Workbook
Create a sigma workbook that references the sigma dataset(s) you created in step 1. Build out the dashboard, filters, etc. as needed. Publish the version of the dashboard you want available in Insight Cloud. Copy the workbook id from the URL.
3. Assign sigma workbook id to app
Assign the sigma workbook id to the app in the app yaml configuration. This will tell Insight Cloud which dashboard to embed for this app.
Note - we intend to change this step to happen in the Insight Cloud UI, but for now it needs to be done in the app yaml.
4. Upload + Publish Seek App
Use sbt upload-app
and sbt publish-app
to upload and publish the app to Insight Cloud. Once the app is published, that will be the current version available to all users on the platform.
5. Embedded Sigma Dashboard
The embedded version of the dashboard will react dynamically to the user requesting it by:
- Switching the Snowflake connection based on user's settings
- Set the sigma user attributes used to select target tables based on the variant of the app the user is requesting