【发布时间】:2021-12-22 10:29:44
【问题描述】:
您可以测试单个 CTE 而不是模型吗? 例如,在:
# models/mymodel.sql
with my_cte as (
{%- set tables = dbt_utils.get_relations_by_pattern('my_schema%', 'prefix%') -%}
{%- set my_columns = ['my_col1', 'mycol2', 'mycol3',...,]
{{ dbt_utils.union_relations(relations = tables, include=my_columns ) }}
),
clean_cols as (
select
my_col1::numeric as mycol1,
coalesce(mycol2, mycol3) as my_coalesced_col23,
....
from my_cte
)
select * from clean_cols
我想测试 mycol2 和 mycol3 是否互斥(我有一个自定义的通用测试)
注意:我需要将这些内容保留在同一个文件中,否则很难通过一长串列来管理正确性。将include 和select 的列全部放在一处遵循rename and recast fields once 的最佳做法并放在一处。
【问题讨论】:
-
附注你用的是什么数据库?
-
使用 postrgres
标签: dbt