Skip to content

When an imported Snowflake semantic view changes

4 min read · Updated 3 Nov 2026

A semantic layer imported from a Snowflake semantic view remembers which view it came from and which element of the view each table, field, join, dimension, measure, and business question was imported from. When the view changes in Snowflake, the Semantic Layer Editor tells you what changed and lets you take each change one element at a time. Nothing changes in your semantic layer until you choose to apply a change.

When you open the semantic layer, Astrato reads the Snowflake semantic view again as part of the same background source check described in When your database schema changes. The semantic view is read again each time you open the semantic layer, even when the rest of the check is reused. Click the source status icon in the header to run a fresh check at any time.

Each imported element is compared with its counterpart in the semantic view:

Result Meaning What you can do
Changed in Snowflake The element’s definition in the semantic view is different from the one you last accepted. Use Snowflake version
Removed from Snowflake The semantic view no longer contains the element. Remove
No longer importable The semantic view still contains the element, but Astrato can no longer import it — for example, it became private or uses an expression Astrato does not support. Remove
New in Snowflake The semantic view contains an element your semantic layer does not have. Import
Renamed in Snowflake A dimension, measure or verified query has a new name in the semantic view, and its definition is otherwise unchanged. Use Snowflake name

Elements you created in Astrato are never compared, changed, or removed by this check.

If Astrato cannot read the semantic view — because your Snowflake role cannot see it, or the connection is unavailable — the result is Snowflake semantic view not checked. Nothing is reported as removed until the view can be read again.

When a change is found, a banner at the top of the editor summarizes how many elements changed, were removed, or are new. Click Review changes to open Issues, where each change is listed under its table, join, measure, dimension, or business question. The same change and its action also appear in the affected element’s own panel.

  • Use Snowflake version replaces the element’s definition with the one in Snowflake. The element keeps its Astrato name, so anything that refers to it keeps working. Other changes you made to that element in Astrato are replaced.
  • Remove deletes the element. The issue lists the dimensions, measures, joins, and business questions that use it; repair those afterwards.
  • Import adds the new element. When it depends on another new element — for example, a new dimension on a new column — import that one first. The button stays disabled until the dependency is in your semantic layer.

Applying a change creates an ordinary draft edit. Review it, validate the draft, and publish when you are ready. You can undo it or restore an earlier version like any other edit.

If you keep your own version of an element instead of taking the Snowflake version, the change stays listed on later checks, so it is not forgotten.

You can rename imported elements in Astrato. The link to the semantic view is kept, so a later change in Snowflake is still matched to the renamed element, and applying it keeps your name.

A business question imported from a verified query is checked like any other imported element: a changed query offers the new question, a query Astrato can no longer express is No longer importable, and a new verified query is offered as a new business question.

When a dimension, measure or verified query is renamed in Snowflake and nothing else about it changed, it is listed as Renamed in Snowflake. Use Snowflake name sets its label to the new name and keeps its Astrato name, so anything that uses it keeps working. A business question has no label, so it keeps its name and only follows the renamed query. If the definition changed as well, or the rename cannot be matched to exactly one element, it appears as one element removed and one new element instead, so check what uses the old element before removing it.

Semantic layers imported before Astrato began recording this link are not checked. To detect changes for one of them, import the semantic view into a new semantic layer.