在 dbt 模型中使用 if 块

Rav*_*avi 8 jinja2 dbt

很抱歉问了愚蠢的问题。但我尝试了很多不同的方法,但似乎都不起作用。

我需要根据变量从两个不同的表中选择数据。我试图在 dbt 模型中使用 if 语句来做到这一点,但它似乎不起作用。

模型看起来很薄:

SELECT 
*
FROM
{% if enable_whitelisting == 'true' %}
    {{ ref('accounts_whitelisted') }}    accounts
{% else %}
        {{ ref('accounts') }}   accounts
{% endif %}
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。

提前致谢。

Rav*_*avi 17

我最终成功了。必须将变量名称放在var()中

SELECT 
*
FROM
{% if var('enable_whitelisting') == 'true' %}
    {{ ref('accounts_whitelisted') }}    accounts
{% else %}
        {{ ref('accounts') }}   accounts
{% endif %}
Run Code Online (Sandbox Code Playgroud)