The agreed definitions, running inside Snowflake.
The Snowflake Native App is how the meaning your business owns reaches Snowflake: it produces the Snowflake semantic views that Cortex Analyst reads, and keeps them in step when a definition or a source schema changes — reviewed by your team before anything ships.
The Snowflake Native App produces Snowflake semantic views used by Cortex Analyst, inside your Snowflake account.
From your definition to your platform, in five reviewed steps.
Every step produces something your team can read and approve — nothing changes in your platform without a review.
- 01
Observe
Inspect physical tables, columns and relationships in your platform.
- 02
Connect meaning
Map business definitions to their physical implementation.
- 03
Refine
Resolve the platform details that make a semantic model usable.
- 04
Deploy
Produce the native semantic artifact for your selected platform.
- 05
Maintain
Review changes to definitions, schemas and their mappings together.
Already have Ossie models? Start with the Native App in your platform, then connect Duodata's business definitions when your team needs shared ownership and meaning.
When a source column changes, you see what it touches.
A renamed column surfaces the one affected mapping. The business definition and the reported totals stay the same — only the connection is updated, after review.
Mapping and native output match the observed schema.
1 · Observed schema
DEMO.GOLD.REVENUE_BY_QUARTER
Snowflake database DEMO, schema GOLD, table REVENUE_BY_QUARTER
- CREDITS NUMBER(18,2)
- DISCOUNTS NUMBER(18,2)
- GROSS_REVENUE NUMBER(18,2)
- QUARTER DATE
2 · Mapping
| Logical | Physical |
|---|---|
| gross_revenue | GROSS_REVENUE |
| discounts | DISCOUNTS |
| credits | CREDITS |
Business definition unchanged: net revenue = gross revenue − discounts − credits.
3 · Totals
- Q2 net revenue
- $9.3m
- Q3 net revenue
- $9.8m
Mapping current
format: schema.yaml
version: "1.0"
schemas:
- source:
database: DEMO
schema: GOLD
type: snowflake
tables:
REVENUE_BY_QUARTER:
columns:
CREDITS: {type: "NUMBER(18,2)", is: [notnull]}
DISCOUNTS: {type: "NUMBER(18,2)", is: [notnull]}
GROSS_REVENUE: {type: "NUMBER(18,2)", is: [notnull]}
QUARTER: {type: DATE, is: [notnull]}name: revenue_semantics
description: Fictional quarterly revenue example.
tables:
- name: revenue
base_table:
database: DEMO
schema: GOLD
table: REVENUE_BY_QUARTER
time_dimensions:
- name: quarter
expr: QUARTER
data_type: DATE
facts:
- name: gross_revenue
expr: GROSS_REVENUE
data_type: NUMBER
- name: discounts
expr: DISCOUNTS
data_type: NUMBER
- name: credits
expr: CREDITS
data_type: NUMBER
metrics:
- name: net_revenue
expr: SUM(gross_revenue) - SUM(discounts) - SUM(credits)Fictional example. Nothing here runs against a warehouse.
Start a free pilot
Bring one business question and the model you want to deploy in Snowflake. We agree the scope of a free pilot together before we start.
- 01One business question
- 02One owner of the definition
- 03The data it depends on
- 04A review on your platform
- Start a free pilotWatch demo
