Skip to main content

alias

Specify a custom alias for a model in your dbt_project.yml file or config block.

For example, if you have a model that calculates sales_total and want to give it a more user-friendly alias, you can alias it like this:

dbt_project.yml
models:
your_project:
sales_total:
+alias: sales_dashboard

This would return analytics.finance.sales_dashboard in the database, instead of the default analytics.finance.sales_total.

Definition

Optionally specify a custom alias for a model, data test, snapshot, or seed.

When dbt creates a relation (tableIn simplest terms, a table is the direct storage of data in rows and columns. Think excel sheet with raw values in each of the cells./viewA view (as opposed to a table) is a defined passthrough SQL query that can be run against a database (or data warehouse).) in a database, it creates it as: {{ database }}.{{ schema }}.{{ identifier }}, e.g. analytics.finance.payments

The standard behavior of dbt is:

  • If a custom alias is not specified, the identifier of the relation is the resource name (i.e. the filename).
  • If a custom alias is specified, the identifier of the relation is the {{ alias }} value.

Note With an ephemeral model, dbt will always apply the prefix __dbt__cte__ to the CTEA Common Table Expression (CTE) is a temporary result set that can be used in a SQL query. You can use CTEs to break up complex queries into simpler blocks of code that can connect and build on each other. identifier. This means that if an alias is set on an ephemeral model, then its CTE identifier will be __dbt__cte__{{ alias }}, but if no alias is set then its identifier will be __dbt__cte__{{ filename }}.

To learn more about changing the way that dbt generates a relation's identifier, read Using Aliases.

0