我有一个变量,我想将它传递给宏,我在 pre_Hook 中调用宏本身
{% set v_name = 'BOS' %}
{{
config(
pre_hook=[
"{{marcos_test(v_name)}}"
]
)
}}
它可以工作,但在宏本身中它看不到变量的值
如何在 pre_hook 中调用 marcos 以便它能够看到变量的值? dbt_project.yml 文件中的全局变量它们不适合,因为我需要一个动态变量
请有人帮忙
实现此目的的一种方法是使用串联。您可以在 Jinja 中使用
~
符号进行串联。'
引号 (...'" ~ v_name ~ "'...
)。
{% set v_name = 'BOS' %}
{{
config(
pre_hook=[
"{{ marcos_test('" ~ v_name ~ "') }}"
]
)
}}