Skip to content
Duodata
The business intent layer for Snowflake and Databricks

Put business intent to work in your data platform.

Deploy agreed business definitions as native semantics in Snowflake and Databricks — and build the layers behind them with a delivered engineering workflow.

From business meaning to platform execution

Defined by the business

Net revenue

= gross revenue − discounts − credits

Owner
Finance
Used for
Quarterly reporting

Model, mappings and native output

Your business meaning, ready for AI

One agreed definition with an owner, a time grain and the words people use to ask for it.

Choose your platform

Your platform executes the calculation. Pick one; you don't need both.

Answer in Cortex Analyst

Net revenue grew 5.4% from Q2 to Q3.

Definition used: net revenue = gross revenue − discounts − credits (owner: Finance), served through Semantic Views.

Fictional example

Why it matters

An assistant will find a revenue column. Whether it is the right one is your problem.

gross_revenue exists in three tables with three meanings. Without an agreed definition mapped to a column, the assistant picks one — fluently.

Question

“How much did revenue grow?”

AI answer without the business definition

Revenue grew 10%.

Gross revenue: $10.0m → $11.0m. The gross-revenue answer is 4.6 percentage points above the growth Finance reports.

Explore the technical details

Gross revenue, Q2 vs Q3 2026

Growth: 10.0%

Revenue components by quarter, 2026
ComponentQ2Q3
Gross revenue$10.0m$11.0m
Discounts$0.5m$0.8m
Credits$0.2m$0.4m
Net revenue$9.3m$9.8m

Fictional example in USD. Not customer data.

Business

Your people know what the numbers mean.

Finance knows what counts as net revenue. Operations knows which shipments count as flown. Duodata captures that meaning in plain language, with an owner. Your existing reports and models are the starting point.

How business ownership works
Engineering

Your platform runs it natively.

Engineers map that meaning to real tables and deploy it as Unity Catalog metric views or Snowflake semantic views — in your account, your Git and your release process.

See the engineering view
Try it

Rename a source column. Watch the mapping catch it.

An observed schema, a business mapping and the native output — kept distinct, the way the real workflow keeps them.

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 fact to physical column
LogicalPhysical
gross_revenueGROSS_REVENUE
discountsDISCOUNTS
creditsCREDITS

Business definition unchanged: net revenue = gross revenue − discounts − credits.

3 · Totals

Q2 net revenue
$9.3m
Q3 net revenue
$9.8m

Mapping current

Observed schema · schema.yamlyaml
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]}
Snowflake semantic view · revenue_semantics.yamlyaml
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.

Choose your depth

Start where your role starts.

Platforms

Built for Snowflake and Databricks.

Duodata puts business meaning to work in Databricks and Snowflake — where your data and AI assistants already run.

For engineering teams

Native Apps and a delivered engineering workflow.

Databricks App

Deploy and maintain Unity Catalog metric views used by AI/BI Genie.

Explore Databricks App

Snowflake Native App

Deploy and maintain Snowflake semantic views used by Cortex Analyst.

Explore Snowflake Native App

Delivered data workflows

Transformations, facts, dimensions and reconciliation, built with your engineers.

Explore Delivered data workflows
Free pilot

Start a free pilot

We work through one business question with you: agree its meaning, map it to the relevant data and review how it works on Snowflake or Databricks. We agree the scope together before we start.