我需要向我的 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)。那么,現在有人可以將此變數轉換為日期嗎?謝謝!
uj5u.com熱心網友回復:
好吧,我想我現在知道這個秘密了
請記住 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/384983.html
