【发布时间】:2021-07-20 12:08:37
【问题描述】:
我有以下代码,它使用右连接将我的数据从表 1 连接到表 2。DBT 成功编译代码而没有错误,但我没有得到我需要的列...
{{
config(
materialized='incremental'
)
}}
with incremental_salesorder as (
select * from {{ source('db_warehouse', 'sale_order_line') }}
),
final as (
select
distinct incremental_salesorder.product_code_cust,
incremental_salesorder.order_id as id,
incremental_salesorder.create_date,
incremental_salesorder.name as product_name,
incremental_salesorder.product_name_cust,
sale_order.name as sale_order_ref
from incremental_salesorder
right join {{ source('db_warehouse', 'sale_order')}} using (id)
ORDER BY incremental_salesorder.create_date
)
{% if is_incremental() %}
where incremental_salesorder.create_date >= (select max(create_date) from {{ this }} )
{% endif %}
select * from final
代码编译成功后,incremental_salesorder.order_id和incremental_salesorder.name不在结果中
我在这里做错了什么...?
【问题讨论】:
-
您之前是否有可能在没有这些列的情况下运行它并且没有使用 --full-refresh 标志重新运行? docs.getdbt.com/reference/commands/…
-
@dylanbaker 我解决了!我重命名了模型,但没有用新名称更新 dbt_project.yml 文件,因此整个查询根本没有运行,菜鸟错误!