在 dbt 模型中使用 if 块

问题描述

很抱歉问愚蠢的问题。但是我尝试了很多不同的方法,但似乎没有一个奏效。

我需要根据变量从 2 个不同的表中选择数据。我正在尝试使用 if 语句在 dbt 模型中执行此操作,但它似乎不起作用。

模型看起来很薄:

SELECT 
*
FROM
{% if enable_whitelisting == 'true' %}
    {{ ref('accounts_whitelisted') }}    accounts
{% else %}
        {{ ref('accounts') }}   accounts
{% endif %}

感谢任何帮助。

提前致谢。

解决方法

我得到这个工作的最终。必须把变量名的变种内()强>

SELECT 
*
FROM
{% if var('enable_whitelisting') == 'true' %}
    {{ ref('accounts_whitelisted') }}    accounts
{% else %}
        {{ ref('accounts') }}   accounts
{% endif %}