о 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