Skip to main content

Modeling with Snowflake Semantic Views

Snowflake Semantic Views — a way to define business metrics and logic directly in your database, using a native schema-level object. For more information, see documentation.

info

Snowflake Semantic Views is in public beta on Team and Enterprise plans.

Reach out to [email protected] to learn more or request a demo.

With Snowflake Semantic Views, you can explore and analyze trusted measures, dimensions, and joins defined in Snowflake — all from Hex’s no-code Explore experience. This means less time rewriting calculations and reconciling discrepancies, and more time digging deeper into analyses and delivering consistent insights to the business.

Concepts

To effectively leverage your Snowflake Semantic Views within Hex, check how key concepts translate between the two platforms.

SnowflakeHex
viewmodel
tabledataset
relationshipjoin
factdimension
dimensiondimension
metricmeasure

Viewing transient joins

Only the join paths originating from the currently selected dataset are shown. Intermediary datasets in a join sequence will only display subsequent joins. When the final dataset in a join is selected, no preceding joins are shown in the Explore interface.

For example, consider the join sequence: CUSTOMERSORDERSPRODUCT.

Selecting CUSTOMERS: shows joins to ORDERS and PRODUCT.

Selecting ORDERS: shows only the join to PRODUCT (with ORDERS as the starting point).

Selecting PRODUCT: shows no joins.

Best Practices for Relationship Naming

Provide clear and descriptive names for relationships when defining them in Snowflake. Snowflake will auto-generate default names if none are given, which may be unclear when viewed in Hex. In Explore, relationship names appear in the format <relationship_name> (logical_table_name). For example: ACCOUNT_TO (CUSTOMERS).

Prepare the model for import into Hex

Users can create a Semantic View in Snowflake Cortex Studio, or use DDL commands from a Hex notebook. We recommend using DDL statements to create Semantic Views. Please reference the Snowflake documentation on how to use SQL to set up a Semantic View.

Supported Features

Not all Snowflake features translate directly in Hex; check the following table to see what is supported.

FeatureSupported
Dimension features
Time, String, Number, Boolean
Measure features
Count, Count distinct, Sum, Average, Min, Max, String, Time, Boolean
Join features
left join
inner join
Other features
Filters