my_macro.sql
{macro my_macro(value)}
{% set query %}
select A from value
{{ return(query) }}
{% endset %}
{% endmacro %}
модель.sql
select * from B
where A in ({{ my_macro(value) }}
когда я компилирую код Я получаю результат как
выход:
select * from B
Where A in ( )
Я не получаю оператор sql в качестве вывода макроса
Я знаю, что мы можем выполнить запрос и получить результаты. Можем ли мы передать запрос как строку?
Возможно ли это на самом деле в DBT?
Вы почти поняли это. Всего три вещи:
{% endset %}
перед возвращениемvalue
на {{ value }}
source()
, либо ref()
.{macro my_macro(value)}
{% set query %}
select A from {{ value }}
{% endset %}
{{ return(query) }}
{% endmacro %}
Это сработало - Спасибо