Skip to main content
Snowflake semantic views and Malloy are close cousins — both are dimension, measure, and relationship graphs over SQL tables. That makes this one of the cleanest migrations: Credible reads your semantic view definition, maps it almost concept-for-concept to Malloy, and — where you connect it — validates against Snowflake’s own verified queries.

What Credible Reads

Your native SEMANTIC VIEW objects — logical tables, relationships, facts, dimensions, and metrics — or any legacy Cortex Analyst YAML models. The agent works from the exported definition (the CREATE SEMANTIC VIEW DDL or the YAML). Connecting to Snowflake — via SQL (DESCRIBE SEMANTIC VIEW, SHOW SEMANTIC VIEWS) or the Snowflake-managed MCP server (Cortex) — is optional: it lets the agent read views in place and run parity queries under Snowflake’s own RBAC.

What Comes Across

The everyday modeling carries over. Here’s how the bigger pieces land — and where they get better:

The Migration Flow

Credible reads the semantic view definition, translates logical tables and relationships to sources and joins (facts to row-level dimensions, metrics to measures), enriches with #(doc)/#(index) tags seeded from synonyms and comments, and — where you connect it — validates against Snowflake.

What Credible Handles

  • Two coexisting formats — a deployment may use native SEMANTIC VIEW objects, legacy Cortex Analyst YAML on a stage, or both. Credible detects which and reads each accordingly.
  • Facts vs. metrics — a fact is a row-level expression; a metric is its aggregation. Credible keeps them distinct (fact → row-level dimension, metric → measure) so you can still re-aggregate at different grains. Collapsing them would lose that.
  • Verified queries are the best thing to validate against — Credible replays each question→SQL pair and diffs the result against the migrated Malloy. (Verified SQL references logical names, not physical tables.)

Before & After

A CREATE SEMANTIC VIEW statement:
FACTS become row-level dimensions that feed measures; METRICS become measures. WITH SYNONYMS and COMMENT fold into #(doc) (Malloy has no synonym primitive, so alternate names go in the description for retrieval), and PRIVATE facts map to access modifiers so they feed measures without being independently queryable. More than a reformat. Semantic views map almost 1:1, so the gain is what surrounds them — composable follow-up queries, Context Engine discovery, and one model that reaches agents, apps, and BI beyond Cortex. See what you gain →

Next Steps

Migration Overview

The method behind every migration

Publishing

Package and publish your migrated model