是否有一种简单的方法可以为 dbt 中呈阳性的列编写测试?
accepted_values
似乎不适用于连续变量。
我知道你可以在
./tests
中编写查询,但对于这么简单的事情来说,这看起来有点过分了。
dbt_utils.expression_is_true
version: 2
models:
- name: model_name
tests:
- dbt_utils.expression_is_true:
expression: "col_a > 0"
之前的答案是正确的。另一个选项是 accepted_range:
version: 2
models:
- name: model_name
columns:
- name: user_id
tests:
- dbt_utils.accepted_range:
min_value: 0
inclusive: false
我认为 dbt_utils 建议很好,我能想到的唯一合理的替代方案是编写自定义模式测试:
https://docs.getdbt.com/docs/guides/writing-custom-schema-tests/
但是当你可以只使用 expression_is_true 时为什么还要麻烦呢 @杰克