创建一个变量来查看模型使用dbt运行的日期



我需要在我的dbt模型中添加一列,显示模型运行的当前日期。

我尝试过将{{ run_started_at.strftime("%Y-%m-%d") }}直接添加到我的模型中,也尝试过设置一个名为date的变量并创建这段代码({% set report_date = dbt_utils.get_query_results_as_dict("select dateadd(day,-1,current_date()) as col")["COL"][0] %}(,但问题是日期,就像我们今天在2021-12-14一样,这一列的结果是1995(这是2021 - 12 - 14的子运算(。那么,现在有人能把这个变量转换成日期吗?谢谢

好吧,我想我现在知道这个秘密了

请记住,dbt是一种类似的代码生成工具

在您的情况下,我想您必须将您的jinja代码包装在字符串引号中

错误:

SELECT {{ run_started_at.strftime("%Y-%m-%d") }} as YourColumn
--compiled: SELECT 2021-12-14 as YourColumn
--YourColumn=1995

正确:

SELECT '{{ run_started_at.strftime("%Y-%m-%d") }}' as YourColumn
--compiled: SELECT '2021-12-14' as YourColumn
--YourColumn=2021-12-14

最新更新