/

Loading...
Great Expectations-style data quality tests for dbt.
columns:
- name: order_total
tests:
- dbt_expectations.expect_column_values_to_be_between:
min_value: 0
max_value: 1000000
- name: email
tests:
- dbt_expectations.expect_column_values_to_match_regex:
regex: "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"
- name: status
tests:
- dbt_expectations.expect_column_values_to_be_in_set:
value_set: ['pending', 'completed', 'cancelled']models:
- name: fct_orders
tests:
- dbt_expectations.expect_table_row_count_to_be_between:
min_value: 1
max_value: 10000000
- dbt_expectations.expect_table_row_count_to_equal_other_table:
compare_model: ref('stg_orders')| Test | Description |
|---|---|
expect_column_to_exist | Column exists in model |
expect_column_values_to_not_be_null | No null values (with tolerance) |
expect_column_values_to_be_unique | All unique (with tolerance) |
expect_column_distinct_count_to_equal | Exact distinct count |
expect_column_mean_to_be_between | Average within range |
expect_row_values_to_have_recent_data | Data freshness check |
- dbt_expectations.expect_compound_columns_to_be_unique:
column_list: ["customer_id", "order_date"]
- dbt_expectations.expect_column_pair_values_A_to_be_greater_than_B:
column_A: end_date
column_B: start_date