Using Calculations

Modeling Best Practices

Modeling in Sigma is a collaborative process that can involve people that traditionally wouldn’t see anything but a dashboard. This collaboration lets business experts lend their knowledge to the model, without the dozens of back and forth emails it generally takes to get the correct information in.

While anyone with the correct permissions can jump in at any point, read on for our recommended approach.

Step 1: Set It Up For Success

Who: BI Team

What: Connect to your data warehouse, set up relationships between tables, and flag the tables to start with.

Sigma is about bringing everyone together in a single platform but it all still starts with the data team. But with us, the set up takes a few minutes or hours instead of weeks or months. Follow the steps below, and everyone in Sigma will be set up for success!

Connect to your Data

The very first step in starting with Sigma is connecting to your cloud data warehouse. As soon as you connect, Sigma creates a specific type of data block called a table block for all of the tables in your warehouse. Navigate to table blocks in Sigma using the existing structure of your data warehouse. What makes table blocks different from tables is the additional information you can now add.

Within Sigma, you can set up relationships between tables, add descriptions to table blocks, add descriptions to columns, choose which columns are added by default to worksheets created from the table blocks and more.

Find Your Core Data

The next step is to identify the tables with the core business data. This is the basic information that forms the backbone of several more specific use cases. This is often customer data, product usage data, demographics, and opportunity data.

You’re looking for the bread and butter tables.

These are the first tables to model and flag, so that business analysts know where to start.

Model Relationships

Now that you have the list of the basic tables you are going to model, it’s time to start setting up relationships.

Relationships in Sigma generate a Linked Column in worksheets built on the Data Block. This linked column allows anyone using the worksheet to pull in additional columns from the linked data block, without ever having to perform a join.

All of the relationships that already exist in your database are pulled into Sigma. If you have foreign keys set up in your warehouse, you should automatically see those relationships in the Relationship tab in Sigma.

From the Relationships tab, you can set up additional relationships within Sigma. Define which data blocks to connect to, and what type of join to perform. You can set up a single, or multiple join keys.

All of the work in creating joins is done during modeling, leaving business users to explore the ecosystem of data.

Get Descriptive

Set up the context for the data blocks with Block descriptions and column descriptions. All table descriptions that exist in the database are pulled into Sigma.

The BI team should add additional descriptions that will help guide people unfamiliar with the database. Don’t worry about tracking down information about each column of data, business analysts can add that themselves.

Endorse Your Data Blocks

Now that you’ve set up the data blocks, let people know where to start! You can badge Data Blocks as Endorsed, Warning, or Deprecated. That lets people know where they should -- and shouldn’t -- start.

When adding a badge to a block, you can add a note as well. Your name and the date are automatically included in the flag. The note can be used to let people know what to use the Endorsed data block. The note can also give more depth to the Warning Flag.

Step 2: Use What You Got

Who: BI Team

What: Use existing SQL to create data blocks in Sigma

If you just set up your cloud data warehouse and Sigma is the first tool to touch the data, skip to step 3. Otherwise, we’re sure that you have chunks of SQL that you’ve been using for analytics. The good news is you can use that work you’ve already done. Take the code you’ve created, and transform them into reusable Data Blocks that Sigma users can utilize as a base for analysis.

Copy, Paste, Create

Got SQL laying around? You can use it in Sigma to create reusable Data Blocks for any user to build on. Just copy and paste your SQL into Sigma’s SQL runner, run it, then click “Save as SQL Block”.

Once you’ve turned your SQL code into a SQL Block, you can set up relationships, add descriptions, and endorse the Data Block the same way you can do with Table Blocks.

Set Up Relationships

You can set up relationships between all types of data blocks on the same connection. This means you can set up smaller SQL queries, then link to more information. Joins will only be performed when the data is actually used in the worksheet, resulting in faster and cheaper queries.


Let everyone know what data is in the data block. If calculations are done within the SQL, we recommend adding a description about the calculation in the column description. This keeps everyone on the same page.


Now that everything is set up, let people know that it’s ready to go!

Step 3: Bring in the Analysts

Who: Business Analysts

What: Add business specific knowledge to block, create worksheets and blocks with specific business metrics.

Now that you’ve set it up so that people can more easily find their way through the database, it’s time to bring in the business analysts to add in the subject area specific knowledge. Business analysts bring their subject matter expertise to bear when adding in column descriptions indicating exactly what the data is, setting up calculations for metrics and KPIs, and lending additional information about how different data fits together for their use case.

In Sigma, business analysts use worksheets to build out use case analysis, which can then be turned into a Worksheet Block so others can continue to build on their work.

Invite Collaborators

Now that the basic models are set up, invite Business Analysts to add additional context to the Data Blocks and start building Data Blocks for specific use cases.

Build Worksheet Blocks

Worksheet Blocks are different from table blocks because you have the ability to build calculations and analysis into the Data Block. This is similar to SQL Blocks, except rather than writing the SQL you can build the calculations in Sigma.

Worksheet blocks are a good way to share key metrics and KPIs, as well as set up a single source of truth for common analytical questions.

Review, Tag, Materialize

Once the business analysts have created the worksheet blocks, the data team can review as needed. Worksheet Blocks can be tagged as Endorsed, so all users know where to start. Large Worksheet Blocks with complex joins can be put on a materialization schedule to help speed up query time.

Step 4: Benefit from the Work

Who: All Sigma Users

What: Start building and creating Analysis

Modeling with Sigma is an iterative process, that easily continues as people use the system. As new use cases are discovered, new Worksheet Blocks can be built, materialized and tagged. The best way to find new use case? Get people in there and using the tool.

We’ve made modeling a collaborative process rather than a top down project.

Set Up Folders

Set up your teams and folders so that users know where to start looking for the data that’s most relevant to them.

Items in Team Workspaces are visible only to members of the team. Items in the Organization Workspace and the folders in the Organization Workspace are visible to everyone in the Organization.

Think About Search

Descriptive titles elevate the correct Worksheets, Dashboards and Data Blocks in search. Users can apply filters to easily find exactly what they are looking for. Setting up a naming convention and making sure you are descriptive are the best ways to help people find what they need.

Roll Out Sigma!