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 automaticallyResult: 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)
Quick Links
- π Introduction - Learn about Daana's architecture and key components
- β Prerequisites - System requirements and what you'll need
- βοΈ Setup - Install and configure Daana CLI (5 minutes)
- π Tutorial - Hands-on transformation tutorial with real data (30 minutes)
- π Glossary - Key terms and concepts explained
- π Model Language - Learn DMDL - Daana Model Description Language
- β‘ Commands - Complete CLI command reference
- π§ Configuration - CLI configuration options
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_stateAfter: 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
- GitHub Issues: github.com/daana-code/daana-cli/issues (opens in a new tab)
- Documentation: You're here! π
- License: ELv2
Ready to transform your data? Start with Prerequisites β