If your team has already modelled its data as a semantic view in Snowflake, you don't need to build it again in Astrato. Import the view, and its tables, joins, dimensions and measures come straight into a new semantic layer. From there it works like any other semantic layer: versioned, checked for issues, and ready to power your workbooks, business questions and AI assistants.
You'll see exactly what's coming across before anything changes, and nothing goes live until you publish.
You can import a view into a new semantic layer from the list of semantic layers, or into an empty layer you already have from the editor. Either way, Astrato uses your own Snowflake access, so you'll only see the views your Snowflake role is allowed to see.
Import into a new semantic layer
In Data & AI → Semantic Layers, select Create, then Snowflake Semantic View. The entry is listed only when your workspace has a Snowflake data connection.
Choose the Datasource. Only Snowflake connections are listed, and your only one is chosen for you.
Choose the Semantic view. Views are grouped by database and schema.
Read what comes across: the panel analyses the view and shows the same summary and warnings as the editor's Import semantic view window, described below.
Optionally change the Name. It defaults to the view's name.
Select Import.
Result: Astrato creates the semantic layer, imports the view into it, and opens it in the editor. The import is saved as a version called Imported Snowflake semantic view followed by the view's name, as it is from the editor. If the import fails, the new layer is removed again and the panel says why.
To make other kinds of layer from the same menu, see Create a semantic layer.
Import into an empty layer in the editor
Before you start:
Your semantic layer uses a Snowflake connection. The import doesn't appear for other connections.
The semantic layer is empty — no tables, dimensions or measures yet. An import starts a model; it never mixes into one you've already built. If you want to import into a layer that has work in it, import into a new semantic layer instead.
Your Snowflake role can see the semantic view.
Find the semantic view
Open your empty semantic layer in the Semantic Layer Editor.
Click Add, then choose Tables & Views to open the data browser.
Expand the schema that holds your semantic view. Any semantic views in that schema appear under a Semantic views heading, above the schema's tables and marked with Snowflake's semantic view icon.
Review and import it
Click the semantic view you want. The Import semantic view window opens and shows Scanning the semantic view… while Astrato reads it.
Read the summary. It tells you how many tables, joins, dimensions and measures will come across — for example 7 tables, 6 joins, 55 dimensions and 24 measures.
Check for warnings. If everything has an Astrato equivalent, you'll see No warnings — the model imports cleanly. If not, you'll see Review n warnings before importing, followed by a list of what won't come across exactly. The section on understanding the warnings, further down this page, explains what they mean.
Click Import.
Result: the tables appear on the map, laid out and joined, with your dimensions and measures ready to use. Astrato saves the result as a version called Imported Snowflake semantic view followed by the view's name, so you can always come back to the exact state of the import in Version history.
Note: once you click Import, it can't be cancelled part-way through. That's fine, because nothing is published. If you change your mind, restore an earlier version or start again with a new semantic layer.
Nothing is published until you say so
Importing changes your working copy only. Your workbooks and dashboards don't see the new model until you publish it. That gives you time to look around, rename things, add descriptions and fix anything the warnings pointed out.
When you're happy, publish it the usual way. See Publish your changes.
What comes across
The import brings over everything in your semantic view that has an exact equivalent in Astrato:
Tables, including tables defined by SQL in the view.
Relationships, which become joins between your tables.
Dimensions, which stay dimensions.
Facts, which become fields on their tables. A number that no metric uses becomes a simple sum measure, so you can still use it.
Metrics, which become measures. Average metrics written as
AVG(...)keep their average.Filters, which become true-or-false dimensions in a Filters category. A metric that uses a filter becomes a measure with that filter applied.
Astrato reads the full definition Snowflake stores for the view, rather than rebuilding it from your table list. That's why more of your business logic survives the trip.
Understanding the warnings
Snowflake semantic views and Astrato semantic layers don't line up perfectly. When something can't come across exactly, Astrato leaves it out and tells you, instead of guessing what you meant. Each warning names the exact item it's about.
The most common warnings are:
Something was skipped because Astrato has no equivalent. Private facts and private metrics are skipped, because Astrato has no way to mark a field as private. Some metric formulas aren't supported yet, and those metrics are skipped too.
Some extra information wasn't imported. Synonyms, tags, filter labels and Cortex Search settings have no place in Astrato, so they're left behind. The item itself still comes across.
A name was changed. Astrato needs every table and measure name to be unique. If two clash, one is given a longer name, and the warning tells you both names.
A column was added. If a metric uses a column the view never declared, Astrato adds that column to the table so the metric can still be imported.
None of these stop the import, and the imported semantic layer can still be published. Treat the list as a to-do list. Rebuild any skipped measure by hand if you need it, and check that renamed items make sense to the people who'll use them.
Tip: if you want a record of the warnings, take a screenshot or copy them before you click Import. The list isn't shown again once the import is done.
When the view changes in Snowflake
Your semantic layer remembers which semantic view it came from. If someone changes that view in Snowflake later, the editor spots it the next time you open the layer. It shows you what changed, and lets you take each change one item at a time. Nothing changes in Astrato until you choose. See When an imported Snowflake semantic view changes.
You can see the link on the map. Each imported table carries Snowflake's semantic view icon in its header, and hovering over the icon shows which view the table came from.
Going the other way
You can also turn an Astrato semantic layer into a Snowflake semantic view. Astrato gives you the SQL, and you run it in Snowflake yourself. See Create a Snowflake semantic view.
Let an AI assistant do it
If you've connected an AI assistant such as Claude or ChatGPT, you can ask it to find and import a semantic view for you. It has to preview the import before it can run it, just as you do, and it never publishes. Ask it to show you the summary and warnings before it goes ahead. To set one up, see Connect an AI assistant.
If you don't see the Semantic views heading
What it means: Astrato didn't find any semantic views it can offer in that schema.
Likely causes:
The semantic layer isn't empty. Imports are only offered to an empty layer; import into a new semantic layer instead.
The semantic layer doesn't use a Snowflake connection.
The semantic view lives in a different schema.
Your Snowflake role can't see the semantic view. In this case Astrato can't tell the difference between "there's no view" and "you aren't allowed to see it".
How to fix it: start from a new, empty semantic layer on your Snowflake connection, and expand the schema where the view lives. If it still doesn't appear, ask your Snowflake administrator to check that your role can see the semantic view.
Next: learn how versioning works, so you know how to go back if you need to after an import.




