о this
this
— это представление текущей модели в базе данных. Это полезно, когда:
- Определяется оператор
where
в инкрементальных моделях - Используются pre или post хуки
this
является Relation, и, как таковой, свойства, такие как {{ this.database }}
и {{ this.schema }}
, компилируются как ожидается.
- Примечание — До версии dbt v1.6, dbt Cloud IDE возвращает
request
как результат{{ ref.identifier }}
.
this
можно рассматривать как эквивалент ref('<the_current_model>')
, и это удобный способ избежать циклических зависимостей.
Примеры
Конфигурирование инкрементальных моделей
models/stg_events.sql
{{ config(materialized='incremental') }}
select
*,
my_slow_function(my_column)
from raw_app_data.events
{% if is_incremental() %}
where event_time > (select max(event_time) from {{ this }})
{% endif %}
0