如何使用大查询适配器在“.sql”文件中的 dbt 模型中声明和初始化变量?

Adr*_*uri 4 dbt

我想在 dbt 模型customer.sql文件中声明并初始化一个变量。我使用关键字DECLARE来声明一个变量,就像BigQuery 文档建议的那样,但我得到了一个Syntax erroronDECLARE关键字。

代码:

DECLARE myDate VARCHAR DEFAULT '2021-01-01';

with order_bis as (

    select
        order_id

    from
        order
    where
        customer_date > myDate

)

select * from order_bis
Run Code Online (Sandbox Code Playgroud)

错误: Syntax error: Expected "(" or keyword SELECT or keyword WITH but got keyword DECLARE ...

Adr*_*uri 8

看来使用 SQL 变量“还”不能与 dbt 一起使用。如果你想在多个地方使用静态值,你可以使用 Jinja 变量,这样你就可以依赖 Jinja 逻辑。

{% set myVar = '2017-01-01' %}

...

where
        customer_date > {{myVar}}

...
Run Code Online (Sandbox Code Playgroud)