如何在dbt项目的模型配置中自引用当前表设置别名?
dbt模型中在config块自引用当前表设置别名的正确语法
要让dbt模型自身识别并设置与模型名一致的别名,直接在config块中使用model.name即可,这是dbt内置的模型元数据变量,对应你的模型文件名(不含.sql后缀)。
修改后的模型代码如下:
{{ config( alias=model.name ) }} select * from {{ source('aceso', 'aceso_accountlookup') }} {% if is_incremental() %} where _FIVETRAN_SYNCED > (select max(_FIVETRAN_SYNCED) from {{ this }} ) {% endif %}
说明
model是dbt模型上下文里的内置变量,包含当前模型的所有元数据信息model.name会直接返回模型的基础名称(比如你的模型文件名为aceso_accountlookup.sql,则返回aceso_accountlookup)- 用这个值设置
alias,就能让模型的别名与自身名称保持一致,无需依赖外部Python脚本动态生成
内容的提问来源于stack exchange,提问作者cmclean1213
相关产品推荐
相关产品推荐

