Transformation Overview
Transformation is where raw data becomes useful. After extraction lands data in Snowflake, transformation shapes it into clean, well-structured models that analysts and reporting tools can consume directly. Rime handles the entire transformation process — you configure what you want through the UI, and Rime generates and executes the underlying models.
What transformation does
Raw data extracted from source systems arrives in Snowflake as-is: untyped, unnormalised, and often messy. Transformation applies a series of operations to turn that raw data into reliable, analytics-ready tables:
- Cleaning — casting types, renaming columns, removing duplicates, handling nulls
- Structuring — organising data into a consistent modelling pattern (dimensions, facts, hubs, links)
- Aggregating — building mart-layer tables that answer specific business questions
- Testing — running automated data quality checks after each transformation run
The output is a set of Snowflake tables and views that analysts query directly or connect to tools like Power BI.
Supported methodologies
Rime supports two data modelling methodologies. You choose one per transformation project.
Kimball (default)
The traditional dimensional modelling approach, and the right choice for most organisations. Data flows through four layers:
- Staging — cleaned and typed copies of raw source tables
- Dimensions — descriptive reference tables (customers, products, locations)
- Facts — measurable event tables (orders, transactions, page views)
- Marts — aggregated views for specific business domains (finance, marketing, operations)
See Kimball Methodology for configuration details.
Data Vault
A methodology designed for large-scale, auditable data warehouses where full history tracking and flexible schema evolution are priorities. Data flows through:
- Hubs — business key tables
- Links — relationship tables between hubs
- Satellites — descriptive attributes with change tracking
- Business vault — calculated fields and derived relationships
- Marts — business-friendly views
Data Vault requires Business tier or above. See Data Vault for details.
The transformation flow
Setting up a transformation follows a consistent pattern regardless of methodology:
- Select source tables — choose which raw tables to include. Rime lists all tables available in your Snowflake raw schema.
- Choose methodology — Kimball or Data Vault. This determines the modelling layers and configuration options available.
- Configure models — define staging rules, keys, grain, dimensions, facts, or hub/link/satellite mappings depending on your methodology.
- Preview — Rime shows you the models it will create, including table names, columns, and relationships. No changes are applied yet.
- Execute — Rime runs the transformation. Progress and results appear in real time.
After execution, Rime runs automated tests and reports any failures. You can view the full run history, test results, and lineage graph from the transformation project page.
Transformation projects
A transformation project groups related models together. Each project has:
- A methodology — Kimball or Data Vault, chosen at creation time
- Source tables — the raw tables feeding into the project
- Models — the staging, dimension, fact, hub, link, satellite, and mart definitions
- Run history — a log of every transformation execution with timing, row counts, and test results
- Lineage — an interactive graph showing how data flows from sources through models. See Lineage.
You can have multiple transformation projects within a single Rime project. This is useful when different business domains need different modelling approaches, or when you want to isolate development work from production models.
How Rime uses dbt internally
Rime generates and executes dbt models behind the scenes. You never interact with dbt directly — no SQL files, no YAML configuration, no CLI commands. When you configure a transformation through the UI, Rime:
- Generates a complete dbt project from your configuration
- Compiles and executes the project against your Snowflake account
- Parses the results (row counts, test outcomes, lineage metadata)
- Surfaces everything in the UI
This means you benefit from dbt’s mature SQL generation, incremental materialisation, and testing framework without needing to learn dbt or maintain dbt projects.
Test results
Every transformation run includes automatic data quality checks. Rime generates and executes tests for:
- Not null — key columns contain no null values
- Unique — primary key columns contain no duplicates
- Referential integrity — foreign keys in fact tables match existing dimension keys
- Accepted values — enumerated columns contain only expected values
Test results appear on the transformation project page after each run. Failed tests do not prevent the transformation from completing, but they surface clearly so you can investigate. You can also include a Validate step in a pipeline to gate downstream steps on test outcomes.
Working with complex data
Beyond standard tabular transformations, Rime supports:
- JSON unpacking — extract and flatten nested JSON data from Snowflake VARIANT columns
- Hierarchy models — generate recursive structures for parent-child relationships like org charts or category trees
Next steps
- Set up your first transformation with the Kimball Methodology guide
- Explore Data Vault if you need full history tracking
- Learn how transformation fits into automated workflows in Building Pipelines