Analytics engineering tools designed for analysts

dbt is a command line tool that speaks the preferred language of data analysts everywhere—SQL. With dbt, analysts take ownership of the entire analytics engineering workflow, from writing data transformation code to deployment and documentation.

Transform

Transform and model raw data

With dbt, you write data transformation code following one of the oldest software engineering best practices: modularity. Writing modular SQL means your queries are easier to update and troubleshoot, and will execute dramatically faster. Learn more in docs

1. Write

Write every dbt model as a simple SQL SELECT statement.

2. Layer

As you write SQL, use the ref function to naturally create dependencies between your models.

3. Execute

Use dbt run to materialize models as tables or views in your warehouse.

Automate

Automate data quality testing

Every day your business makes critical decisions based on data, and you need your entire organization to trust that data. dbt includes a robust testing framework so you can define and test assumptions about your data sources and the results of your data transformations. Learn more in docs

  • Not null
  • Parent-child relationships
  • Expression tests
  • Uniqueness
  • Accepted values
  • Custom data tests
Deploy

Deploy analytics code faster with software engineering best practices

Over decades, software engineering has developed best practices that allow engineers to collaborate on code and integrate changes continuously. With dbt, you can apply these same practices to analytics code: environments, package management, and continuous integration.

Document

Deliver trusted data with data documentation

Transparency builds trust. With dbt, you can create transparency throughout your analytics engineering workflow, giving analysts and business stakeholders visibility into what the data is describing, how it was produced, and how it maps to business logic.

Snapshot

Create slowly changing dimensions with snapshots

A customer upgrades to a higher pricing tier. An invoice is paid. In cases like these, the historical data remains relevant and important, and you’ll want to save these past states for future analysis. With dbt snapshots, you can create slowly changing dimensions on your raw data to capture historical data points. Learn more in docs

  • Customer Status
  • Monthly Recurring Revenue
  • Inventory Volumes
  • Price Change
  • Active Users
  • Payment Status

Manage the analytics engineering workflow

Version Control

Collaborate on and maintain code with ease by connecting dbt to your preferred version control software.

Logging

Troubleshoot issues in your analytics engineering workflow, no need to wait for an engineer to send you the log files.

Alerting

For data to be useful, it must be trusted. Alerting ensures that you are the first to know about any potential errors.

Enterprise Features

SSO and permissioning allow you to manage the security of your analytics engineering workflow at a level that works for your team.