Yang Xu
05/20/2026, 3:25 PMkapa.ai
05/20/2026, 3:26 PMcolumn_anomalies, Elementary will automatically run all default monitors applicable to the column's data type. [column_anomalies test]
Here's what gets run by default depending on column type:
For any column type:
• null_count
• null_percent
For string columns:
• min_length, max_length, average_length
• missing_count, missing_percent
For numeric columns:
• min, max, average
• zero_count, zero_percent
• standard_deviation, variance
Note that sum is not included by default — it's an opt-in monitor that must be explicitly specified. [column_anomalies config]
So your simplified config:
data_tests:
- elementary.column_anomalies
is valid and will run all default monitors for that column's type. If you want to limit which monitors run (e.g., only average), you should explicitly specify them under column_anomalies as in your first example. 👍 0 button 👎 0 button ℹ️ Tip: Mention @elementary.ai in the thread for follow-ups or DM the app for 1-to-1 help.Yang Xu
05/20/2026, 3:48 PMkapa.ai
05/20/2026, 3:49 PMelementary.column_anomalies to a list of specific columns in a single block. The dbt hierarchy requires tests to be defined per column (model -> column -> test), so you must repeat the test definition under each column. [Slack discussion]
However, here are your options:
1. all_columns_anomalies (closest to DRY) If you want to monitor all columns, use elementary.all_columns_anomalies at the model level, with optional exclusions:
models:
- name: your_table_name
config:
elementary:
timestamp_column: your_timestamp_col
data_tests:
- elementary.all_columns_anomalies:
arguments:
exclude_regexp: "^(col_to_exclude)$"
This applies the same configuration to all columns, but doesn't allow per-column granularity. [all_columns_anomalies doc]
2. YAML Anchors (reduces repetition) You can use YAML anchors to avoid copy-pasting the test config:
definitions:
column_test: &column_anomaly_test
elementary.column_anomalies:
arguments:
column_anomalies:
- average
- null_count
models:
- name: your_table_name
columns:
- name: col1
data_tests:
- *column_anomaly_test
- name: col2
data_tests:
- *column_anomaly_test
3. Elementary Cloud On Elementary Cloud, you can add tests in bulk directly from the UI, which automatically opens a pull request to your repository. [Data Tests Overview]
Summary: For a subset of specific columns, YAML anchors are the most practical OSS workaround. For all (or nearly all) columns, all_columns_anomalies with exclusions is the cleanest approach. 👍 0 button 👎 0 button ℹ️ Tip: Mention @elementary.ai in the thread for follow-ups or DM the app for 1-to-1 help.