Skip to content
Duodata
Engineering

Two ways we work with your engineering team.

Native semantic deployment for Snowflake and Databricks, and a delivered workflow for the transformations, facts and dimensions behind it.

Offer 01 · Native semantic deployment

Deploy and maintain semantics in Snowflake and Databricks.

Bring business meaning, physical schemas and open models into one engineering workflow. Deploy native semantic views in Snowflake and metric views in Databricks.

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

When a physical column changes

A rename surfaces the affected mapping for review. You update the mapping explicitly; the business definition stays the same.

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.

Offer 02 · Delivered engineering workflow

Build and maintain the layers behind your AI.

Use business definitions, source mappings and engineering standards to build transformations, facts and dimensions, then validate the results from source to output.

  1. 01

    With your engineers

    Delivered alongside your team and their AI coding and deployment tools.

  2. 02

    Your Git, your standards

    Code lands in your repositories, reviewed under your conventions.

  3. 03

    Your platform runtime

    Runs in Databricks or Snowflake through your deployment workflow; existing ingestion stays as it is.

  4. 04

    Facts and dimensions

    Silver-to-gold transformations shaped by business definitions.

  5. 05

    Maintained formulas

    Definition and schema changes handled as reviewed updates.

  6. 06

    Reconciliation

    Source → silver → gold → semantic checks on each change.

Free pilot

Start a free pilot

Pick one workflow: a semantic model to deploy, or the facts and dimensions behind a business question. We agree the scope of a free pilot together before we start.