将查询结果存储在变量中(jinja)

时间:2021-03-01 09:27:45

标签: jinja2 dbt

我试图将查询结果放入一个变量中,但它不起作用。 我不知道该怎么做,所以它按预期返回 0。有任何想法吗?我正在使用 dbt 和 jinja。 使用下面的代码,results_list 变量是 (Decimal('0'),))

{% macro source_freshness(model, column_name) %}
{% set freshness_query %}
SELECT COUNT 0 AS count
{% endset %}

{% set results = run_query(freshness_query) %}

{% if execute %}
{% set results_list = results.columns[0].values() %}
{% else %}
{% set results_list = [] %}
{% endif %}

{{ return(results_list) }}

{% endmacro %}

调用模型

{% set freshness_query_test = source_freshness(ref('model'),'date') %}

{% if count in freshness_query_test == 0 %}
do this
{% else %}
do that
{% endif %}

谢谢!

1 个答案:

答案 0 :(得分:0)

感谢您对此的帮助。我一直无法找到直接的答案,但我所做的是在单独的模型中添加宏,然后在共享答案中使用调用语句逻辑 Hi, how do we define select statement as a variable in dbt?

相关问题