о this
this — это представление текущей модели в базе данных. Это полезно, когда:
- Определяется оператор
whereв инкрементальных моделях - Используются pre или post хуки
this — это объект Relation, и поэтому такие свойства, как {{ this.database }} и {{ this.schema }}, компилируются ожидаемым образом.
- Примечание — До версии dbt v1.6 возвращает
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