jinja2 - 在 dbt 模型中使用 if 块
问题描述
很抱歉提出愚蠢的问题。但我尝试了许多不同的方法,但似乎都没有奏效。
我需要根据变量从 2 个不同的表中选择数据。我正在尝试使用 if 语句在 dbt 模型中执行此操作,但它似乎不起作用。
模型看起来很薄:
SELECT
*
FROM
{% if enable_whitelisting == 'true' %}
{{ ref('accounts_whitelisted') }} accounts
{% else %}
{{ ref('accounts') }} accounts
{% endif %}
任何帮助表示赞赏。
提前致谢。
解决方案
我最终得到了这个工作。必须将变量名放在var()中
SELECT
*
FROM
{% if var('enable_whitelisting') == 'true' %}
{{ ref('accounts_whitelisted') }} accounts
{% else %}
{{ ref('accounts') }} accounts
{% endif %}
推荐阅读
- twilio - 为会议的来电设置 Twilio 客户端 customParameters
- html - VBA - 如何选择包含单词的 HTML href 链接
- macos - netbeans 9 - macOS 上的 svn 支持中断?
- r - 有条件的变量的累积和
- html - 在 HTML 中添加主题行
- time-complexity - 这个问题的时间复杂度是多少
- javascript - 循环创建变量,函数/数组循环
- vb.net - 如何在 Visual Basic 中从文本文件中读取行和列
- django - 更改密码后显示确认消息
- cordova - 当键盘可见时,离子页脚不会被向上推(ios和android)