Home

Welcome to Daana CLI

Transform operational data into business-ready analytics 100x faster than manual ETL pipelines.

Daana CLI is a command-line tool that helps you transform raw operational data into clean business entities using declarative YAML models. Instead of writing complex SQL transformations, you define what your business entities should look like, and Daana handles the rest.


What is Daana?

Daana is a platform that automatically transforms raw operational data into a business representation that is BI-ready. It creates a commercial representation of your data, making it easy to:

  • βœ… Quickly create new reports and gain insights - Clean, business-ready tables
  • βœ… Merge raw data from multiple operational systems - Unified view across sources
  • βœ… Establish a single source of truth - Consistent definitions and relationships
  • βœ… Reduce complexity for engineering teams - No more manual ETL code

Learn more at getdaana.com (opens in a new tab)


The Daana Workflow

1. Init Project              β†’  daana-cli init my-project
2. Customize Model (YAML)    β†’  Define CUSTOMER, ORDER entities
3. Generate Templates        β†’  Model, mappings, workflow, connections
4. Configure Mappings        β†’  Connect source tables to entities
5. Deploy                    β†’  Single command deploys everything
6. Execute                   β†’  Transform data automatically

Result: Clean queryable business entities in your data warehouse!


Get Started in 5 Minutes

πŸš€

New to Daana CLI? Follow these steps:

Step 1: Check Prerequisites ← Have Docker installed?

Step 2: Setup Environment ← Download CLI & set up databases (5 min)

Step 3: Try the Tutorial ← Transform real e-commerce data (30 min)

β†’ Start Here: Prerequisites


Quick Links


Quick Example

Before: Messy Operational Data

-- Raw operational tables scattered across database
olist_orders: order_id, customer_id, order_status, purchase_timestamp
olist_customers: customer_id, customer_city, customer_state

After: Clean Business Entities

# models/olist-model.yaml
entities:
  - id: "CUSTOMER"
    name: "CUSTOMER"
    definition: "A customer who makes purchases"
 
  - id: "ORDER"
    name: "ORDER"
    definition: "A purchase order"
 
relationships:
  - name: "IS_PLACED_BY"
    source_entity_id: "ORDER"
    target_entity_id: "CUSTOMER"

Result

-- Analysts can now do simple queries using clean views:
SELECT
  c."CUSTOMER_STATE",
  COUNT(*) as order_count
FROM daana_dw.view_customer c
JOIN daana_dw.view_order_customer_x x ON c.customer_key = x.customer_key
JOIN daana_dw.view_order o ON x.order_key = o.order_key
WHERE o."ORDER_PURCHASE_TS" >= '2018-01-01'
GROUP BY c."CUSTOMER_STATE"
ORDER BY order_count DESC;

Features

🎯 YAML-Based Modeling

Define data models, mappings, and workflows in human-readable YAML

πŸ’Ύ Multi-Database Support

Works with PostgreSQL, BigQuery, Snowflake, Oracle, and Microsoft SQL Server

πŸ”„ Complete Workflow

From model definition to production deployment - all in one tool

πŸ“‹ Template Generation

Auto-generate scaffolding for mappings and workflows

πŸ“… Temporal Intelligence

Track how attributes change over time with effective_timestamp

πŸ“– Self-Documenting Models

Every entity and attribute includes business definitions and descriptions


What You'll Build in the Tutorial

In the 30-minute tutorial, you'll transform real e-commerce data:

  • βœ… 100,000+ orders from Olist (Brazilian e-commerce dataset)
  • βœ… Define CUSTOMER and ORDER business entities
  • βœ… Map operational tables to business model
  • βœ… Execute complete transformation pipeline
  • βœ… Query clean business entities in data warehouse

Community & Support


Ready to transform your data? Start with Prerequisites β†’