Skip to content

Check types

Every kind of check DataQ can author, generated from the check editor's catalog and the backend's vetted allowlist — so this page cannot drift from what the product actually offers. Every GX type on this page is executed in CI on a dataframe batch, and on a SQL batch too unless its row says it is dataframe-only.

Count
Check types in the editor 35
GX expectation types vetted by the backend 25

How to read a row: Parameters are the editor's fields (mostly is GX's optional row tolerance, a fraction). Thresholds are the severity bands read from the result. Dimension is the default data-quality dimension the check is classified under; you can change it on any check.

Column values

Great Expectations built-ins that look at the values in one or more columns. Each returns an unexpected-% that the warn / fail / critical severity bands read.

Check Type What it checks Dimension Parameters Thresholds Runs on
Column values not null expect_column_values_to_not_be_null Every value in the column is non-null. Completeness column, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values unique expect_column_values_to_be_unique Values in the column are distinct (no duplicates). Uniqueness column, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values in range expect_column_values_to_be_between Numeric values fall within [min, max]. Validity column, min_value (optional), max_value (optional), mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values in set expect_column_values_to_be_in_set Every value is one of an allowed set. Validity column, value_set, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values null expect_column_values_to_be_null Every value in the column is null — for a deprecated or not-yet-populated column that should stay empty. The inverse of “Column values not null”. Validity column, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values not in set expect_column_values_to_not_be_in_set No value is one of a forbidden set — e.g. a status that should never reach this table, or placeholder values like “N/A” and “UNKNOWN”. Validity column, value_set, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column value lengths in range expect_column_value_lengths_to_be_between String lengths fall within [min, max]. Validity column, min_value (optional), max_value (optional), mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column value lengths equal expect_column_value_lengths_to_equal Every value is exactly the given number of characters — for a fixed-width code (ISO country, SKU, account number). Validity column, value, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values match regex expect_column_values_to_match_regex Every value matches the given regular expression. Validity column, regex, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values do not match regex expect_column_values_to_not_match_regex No value matches the given regular expression — for catching a pattern that should never appear (a stray delimiter, an unredacted identifier). Validity column, regex, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values match a list of regexes expect_column_values_to_match_regex_list Every value matches the regexes in the list — by default ANY one of them is enough, for a column carrying several legitimate formats (e.g. two phone-number conventions). Validity column, regex_list, match_on (optional), mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values match none of a list of regexes expect_column_values_to_not_match_regex_list No value matches ANY regex in the list — a deny-list of forbidden formats. Validity column, regex_list, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column values are valid JSON expect_column_values_to_be_json_parseable Every value parses as JSON — for a payload/metadata column stored as text. Not offered on Snowflake: Great Expectations implements this one only for dataframe batches, so a SQL warehouse would error on every run. Use a custom-SQL check (or a VARIANT column) there. Validity column, mostly (optional) warn / fail / critical ADLS Gen2, AWS S3, Unity Catalog, Apache Iceberg — not Snowflake (no SQL implementation; refused at author time)
Column values are of type expect_column_values_to_be_of_type Every value in the column matches the given data type. Validity column, type_, mostly (optional) warn / fail / critical All datasources
Column values are of one of several types expect_column_values_to_be_in_type_list Every value in the column matches at least one of the given data types — the tolerant sibling of “Column values are of type”, for a column whose type legitimately varies by datasource or load. Validity column, type_list, mostly (optional) warn / fail / critical All datasources
Compound columns unique expect_compound_columns_to_be_unique The COMBINATION of values across the listed columns is distinct on every row — a multi-column primary or business key. Each column on its own may repeat freely. Uniqueness column_list, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column A greater than column B expect_column_pair_values_a_to_be_greater_than_b Row by row, column A is greater than column B — e.g. ended_at > started_at, or total >= discount. Validity column_A, column_B, or_equal (optional), mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column A equals column B expect_column_pair_values_to_be_equal Row by row, the two columns hold the same value — e.g. a denormalised copy that must agree with its source, or a total that must match a recomputed one. Validity column_A, column_B, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Values unique within each row expect_select_column_values_to_be_unique_within_record Within a single row, the listed columns all hold different values — e.g. a transfer whose source and destination account must not be the same. This is per-row; use “Compound columns unique” for uniqueness ACROSS rows. Uniqueness column_list, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Columns sum to a total expect_multicolumn_sum_to_equal Row by row, the listed columns add up to the given total — e.g. subtotal + tax + shipping = total. Validity column_list, sum_total, mostly (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog
Column distinct values in set expect_column_distinct_values_to_be_in_set Every DISTINCT value present in the column is one of an allowed set — reports WHICH unexpected values exist rather than how many rows carry them. Use “Column values in set” when you care about the row count. Validity column, value_set None — pass/fail only All datasources · SQL pushdown on Unity Catalog
Column distinct values contain set expect_column_distinct_values_to_contain_set Every value in the given set appears at least once in the column — catches a category that stopped arriving. The column may also contain other values. Completeness column, value_set None — pass/fail only All datasources · SQL pushdown on Unity Catalog
Column values match a date format expect_column_values_to_match_strftime_format Every value parses under the given strftime format — for a date or timestamp stored as text. Not offered on Snowflake: Great Expectations implements this one only for dataframe batches, so a SQL warehouse would error on every run. Use a custom-SQL check there. Validity column, strftime_format, mostly (optional) warn / fail / critical ADLS Gen2, AWS S3, Unity Catalog, Apache Iceberg — not Snowflake (no SQL implementation; refused at author time)

Table shape

Whole-table expectations.

Check Type What it checks Dimension Parameters Thresholds Runs on
Table row count in range expect_table_row_count_to_be_between The table’s row count falls within [min, max]. Completeness min_value (optional), max_value (optional) warn / fail / critical All datasources · SQL pushdown on Unity Catalog

Freshness

How stale is the target? Measured from a timestamp column (or file arrival time on flat files), reported in hours, banded by age. Requires a fail or critical threshold.

Check Type What it checks Dimension Parameters Thresholds Runs on
Freshness monitor:freshness How stale is the target? Measures hours since the latest timestamp in the data — or, on a flat file with no column set, since the file last landed. Timeliness column warn / fail / critical (fail or critical required) All datasources

Volume

Did the load deliver the expected row count? Banded by count. Requires a fail or critical threshold.

Check Type What it checks Dimension Parameters Thresholds Runs on
Volume monitor:volume Did the load deliver the expected row count? Flags a count outside an allowed range. Completeness min_rows, max_rows warn / fail / critical All datasources

Schema

Did the table's columns change against a captured baseline?

Check Type What it checks Dimension Parameters Thresholds Runs on
Schema drift monitor:schema_drift Did the table’s column shape change? Diffs the live columns (names + types) against a baseline captured on the first run. Works on every datasource — warehouses via information_schema, flat files via the file header/footer, Iceberg from table metadata. Consistency ignore_columns (optional) warn / fail / critical All datasources

Anomaly

Is today's value unusual against a rolling baseline of this check's own history? Skips until enough history exists.

Check Type What it checks Dimension Parameters Thresholds Runs on
Anomaly monitor:anomaly Learns a rolling baseline (mean/stddev) from this check’s own metric history and flags how far this run deviates (a z-score). Reports skip, never a fake pass/fail, until enough history accrues. — (set it yourself) target_metric, column, window (optional), min_points (optional), seasonality (optional) warn / fail / critical (fail or critical required) Snowflake, Unity Catalog

Comparison

Reconcile the suite's target against a second dataset, possibly on another connection.

Check Type What it checks Dimension Parameters Thresholds Runs on
Records reconciliation comparison:records Diff this suite’s dataset (the target under test) against a baseline on another connection, joined on key columns — matched / mismatched / additional-per-side ROW buckets. Consistency warn / fail / critical All datasources
Column-level reconciliation comparison:columns Same key-joined diff, counted per VALUE: each column reports its own matched / mismatched / additional-per-side counts. Pick this when you need to know WHICH columns drift, not just which rows. Consistency warn / fail / critical All datasources

Custom SQL

Any predicate you can write in SQL, validated before it runs.

Check Type What it checks Dimension Parameters Thresholds Runs on
Custom SQL unexpected_rows_expectation A SQL query that should return no rows — any rows it returns are failures. — (set it yourself) unexpected_rows_query warn / fail / critical Snowflake, Unity Catalog

Snowflake DMF

Snowflake's native Data Metric Functions, evaluated inside Snowflake.

Check Type What it checks Dimension Parameters Thresholds Runs on
Null count (DMF) dmf:null_count Snowflake’s system NULL_COUNT metric function, computed natively in the warehouse. Completeness column warn / fail / critical (fail or critical required) Snowflake
Null percent (DMF) dmf:null_percent Snowflake’s system NULL_PERCENT metric function (0–100), computed natively in the warehouse. Completeness column warn / fail / critical (fail or critical required) Snowflake
Duplicate count (DMF) dmf:duplicate_count Snowflake’s system DUPLICATE_COUNT metric function, computed natively in the warehouse. Uniqueness column warn / fail / critical (fail or critical required) Snowflake
Unique count (DMF) dmf:unique_count Snowflake’s system UNIQUE_COUNT metric function, computed natively in the warehouse. Degrades downward, so this type carries no thresholds — read the observed value directly. Uniqueness column None — pass/fail only Snowflake

Authorable outside the editor

Vetted by the backend but with no editor widget: usable over the REST API, MCP and suite import, which hand the backend raw JSON.

  • expect_column_pair_values_to_be_in_set

Not offered, and why

Scalar aggregates (expect_column_mean_to_be_between and its siblings) report one number and no unexpected-%, so severity bands have nothing to band — a Volume or Anomaly monitor measures that shape with trends and a learned baseline. Whole-table column-set comparisons are what the Schema-drift monitor does against a captured baseline. For anything else, write a custom-SQL check.


Generated by scripts/docs/gen-check-catalog.py — edit the catalog or the allowlist, not this page.