Intermediate dbt
Mike Metzger
Data Engineer
.sql
file in the tests/generic
project foldermodel_properties.yml
for each model that uses it{% test check_gt_0(model, column_name) %}
select *
from {{ model }}
where {{ column_name }} > 0
{% endtest %}
{% test testname(model, column_name) %}
{{ object }}
substitutions{% endtest %}
model_properties.yml
version: 2 models: - name: taxi_rides_raw columns: - name: tpep_pickup_datetime tests: - not_null
- name: total_fare tests: - check_gt_0
accepted_values
and relationships
{% test check_columns_unequal(model, column_name, column_name2) %}
select * from {{ model }}
where {{ column_name }} = {{ column_name2 }}
{% endtest %}
models:
- name: order
columns:
- name: order_time
tests:
- check_columns_unequal:
column_name2: shipped_time
Intermediate dbt