Your business model.
Your warehouse, generated.
Declare your business entities and source mappings in YAML. Daana generates the SQL, deploys the model and loads the data.
Keys. History. Relationships. The recurring warehouse patterns, generated from what your business means.
BOOKSTORE / BUSINESS MODEL
Select an entity to inspect its definition.
ORDER_LINE
One book sold on one order
- order_line is_part_of → order
- order_line is_of → book
Declare the meaning. Generate the repetition.
Your team defines what an order line means, how source fields map to it and how it relates to orders and books. Daana generates the recurring warehouse structures: current state, attribute history and relationship views.
01 / YOU DECLARE
Meaning and source mappings
The model defines the business amount. The mapping supplies its source field and connects the order line to its order.
mappings/order-line-mapping.yaml
mapping_groups → tables → attributes
- id: order_line_amount_amount transformation_expression: line_total
mapping_groups → relationships
- id: order_line_is_part_of_order source_table: stage.sales_order_lines target_transformation_expression: order_id
Two excerpts; enclosing sections and other fields omitted. Business definitions live in model.yaml.
The model defines the amount charged, tax included. The mapping connects the shop’s line_total to that business amount and sets effective time from the order date. History follows the declared effective time.
Current
view_order_line
Read the current state of each order line.
Latest attribute state · schematic
History
view_order_line_hist
Read past attribute states using declared effective time.
Attribute states through time · schematic
Relationships
view_order_line_with_rel
Work with the current state and modeled relationships.
Declared relationships: order line → order · book · schematic
Business decisions stay with your team.
Business definitions are declared in the model and deployed with its metadata in your warehouse. Business-model SQL is generated for PostgreSQL, BigQuery, Snowflake and DuckDB. Map several sources onto the same business entity to define the entity once across systems.
- // 01
Source contracts
Inspect the source fields and the order date used as effective time.
- // 02
Business model
Read the definitions of five entities, their attributes and four relationships.
- // 03
Source-to-target mapping
Follow line_total into the business amount and source IDs into relationships.
- // 04
Reporting declaration
See how revenue is declared from the order-line business model.
Excerpts from the bookstore example’s declarations, not a complete project.
Why the platform has three layersStart with one number your team already reports.
Pick one, such as daily revenue. Declare the source, the business entity and the metric behind it, then put the generated SQL next to the SQL you maintain by hand today and compare the two: what it covers, what it misses, and what your team would still own.
- What happens after I request access?
- Tell us about your data platform in the access request. We’ll get back to you about next steps.