Values in range
Validations to check that column values, or aggregations of column values, fall within a defined numeric range. All range validations are inclusive by default — use the exclude options to make boundaries strict.
Column values must be in range
Every row in the column must have a value between the specified minimum and maximum.
Use this when you want to enforce a valid range at the row level — for example, an age column that should always be between 0 and 120, or a discount_percent column that should never exceed 100.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The minimum allowed value. |
| Exclude minimum value | Boolean | ❌ | If enabled, values must be strictly greater than the minimum. |
| Maximum value | Number | ✅ | The maximum allowed value. |
| Exclude maximum value | Boolean | ❌ | If enabled, values must be strictly less than the maximum. |
Example
| order_id | discount_percent |
|---|
| 1 | 10 |
| 2 | 25 |
| 3 | 110 |
| Example 1 | Example 2 |
|---|
| Column | discount_percent | discount_percent |
| Minimum value | 0 | 0 |
| Exclude minimum value | false | false |
| Maximum value | 100 | 150 |
| Exclude maximum value | false | false |
| Result | ❌ Fails | ✅ Passes |
| Reason | Row 3 has value 110, which exceeds the maximum of 100 | All values are within [0, 150] |
Column values must be greater than
Every row in the column must have a value strictly greater than the specified minimum.
Use this when you want to ensure a column never contains zero or negative values — for example, a price or quantity column.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The value that all column values must exceed. |
Example
| product_id | price |
|---|
| 1 | 9.99 |
| 2 | 0 |
| 3 | 49.99 |
| Example 1 | Example 2 |
|---|
| Column | price | price |
| Minimum value | 0 | -1 |
| Result | ❌ Fails | ✅ Passes |
| Reason | Row 2 has value 0, which is not strictly greater than 0 | All values are greater than -1 |
Column values must be greater or equal than
Every row in the column must have a value greater than or equal to the specified minimum.
Use this when you want to allow zero but disallow negative values — for example, a quantity column where 0 is valid but negative numbers are not.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The minimum allowed value (inclusive). |
Example
| Example 1 | Example 2 |
|---|
| Column | quantity | quantity |
| Minimum value | 0 | -5 |
| Result | ❌ Fails | ✅ Passes |
| Reason | Row 3 has value -1, which is less than 0 | All values are greater than or equal to -5 |
Column values must be lower than
Every row in the column must have a value strictly less than the specified maximum.
Use this when you want to enforce a strict upper bound — for example, a score column that must always be less than 100 (not equal to it).
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Maximum value | Number | ✅ | The value that all column values must be below. |
Example
| student_id | score |
|---|
| 1 | 85 |
| 2 | 100 |
| 3 | 72 |
| Example 1 | Example 2 |
|---|
| Column | score | score |
| Maximum value | 100 | 101 |
| Result | ❌ Fails | ✅ Passes |
| Reason | Row 2 has value 100, which is not strictly less than 100 | All values are less than 101 |
Column values must be lower or equal than
Every row in the column must have a value less than or equal to the specified maximum.
Use this when you want to enforce an inclusive upper bound — for example, a rating column that can go up to 5 but no higher.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Maximum value | Number | ✅ | The maximum allowed value (inclusive). |
Example
| Example 1 | Example 2 |
|---|
| Column | rating | rating |
| Maximum value | 5 | 10 |
| Result | ❌ Fails | ✅ Passes |
| Reason | Row 3 has value 6, which exceeds the maximum of 5 | All values are less than or equal to 10 |
Column minimum value must be in range
The minimum value found in the column must fall between the specified bounds.
Use this when you want to monitor the lower end of a numeric column without checking individual rows — for example, ensuring the cheapest product in a catalog never drops below a floor price.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The lower bound for the column minimum. |
| Exclude minimum value | Boolean | ❌ | If enabled, the column minimum must be strictly greater than this bound. |
| Maximum value | Number | ✅ | The upper bound for the column minimum. |
| Exclude maximum value | Boolean | ❌ | If enabled, the column minimum must be strictly less than this bound. |
Example
| product_id | price |
|---|
| 1 | 9.99 |
| 2 | 24.99 |
| 3 | 49.99 |
The minimum value in price is 9.99.
| Example 1 | Example 2 |
|---|
| Column | price | price |
| Minimum value | 10 | 5 |
| Exclude minimum value | false | false |
| Maximum value | 50 | 50 |
| Exclude maximum value | false | false |
| Result | ❌ Fails | ✅ Passes |
| Reason | Column minimum is 9.99, which is below the allowed bound of 10 | Column minimum 9.99 is within [5, 50] |
Column maximum value must be in range
The maximum value found in the column must fall between the specified bounds.
Use this when you want to monitor the upper end of a numeric column without checking individual rows — for example, ensuring the largest transaction in a batch never exceeds an expected ceiling.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The lower bound for the column maximum. |
| Exclude minimum value | Boolean | ❌ | If enabled, the column maximum must be strictly greater than this bound. |
| Maximum value | Number | ✅ | The upper bound for the column maximum. |
| Exclude maximum value | Boolean | ❌ | If enabled, the column maximum must be strictly less than this bound. |
Example
| transaction_id | amount |
|---|
| 1 | 150 |
| 2 | 980 |
| 3 | 12500 |
The maximum value in amount is 12500.
| Example 1 | Example 2 |
|---|
| Column | amount | amount |
| Minimum value | 0 | 0 |
| Exclude minimum value | false | false |
| Maximum value | 10000 | 15000 |
| Exclude maximum value | false | false |
| Result | ❌ Fails | ✅ Passes |
| Reason | Column maximum is 12500, which exceeds the allowed bound of 10000 | Column maximum 12500 is within [0, 15000] |
Column mean value must be in range
The mean (average) of all values in the column must fall between the specified bounds.
Use this when you want to monitor the central tendency of a numeric column over time — for example, ensuring the average order value stays within an expected range, which could indicate pricing or data issues if it drifts.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The lower bound for the column mean. |
| Exclude minimum value | Boolean | ❌ | If enabled, the column mean must be strictly greater than this bound. |
| Maximum value | Number | ✅ | The upper bound for the column mean. |
| Exclude maximum value | Boolean | ❌ | If enabled, the column mean must be strictly less than this bound. |
Example
The mean of amount is 110.
| Example 1 | Example 2 |
|---|
| Column | amount | amount |
| Minimum value | 0 | 0 |
| Exclude minimum value | false | false |
| Maximum value | 100 | 200 |
| Exclude maximum value | false | false |
| Result | ❌ Fails | ✅ Passes |
| Reason | Column mean is 110, which exceeds the allowed bound of 100 | Column mean 110 is within [0, 200] |
The median of all values in the column must fall between the specified bounds.
Use this when you want to monitor the typical value in a numeric column, robust to outliers — for example, ensuring the median delivery time stays within SLA expectations even when some deliveries are very late.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The lower bound for the column median. |
| Exclude minimum value | Boolean | ❌ | If enabled, the column median must be strictly greater than this bound. |
| Maximum value | Number | ✅ | The upper bound for the column median. |
| Exclude maximum value | Boolean | ❌ | If enabled, the column median must be strictly less than this bound. |
Example
| shipment_id | delivery_days |
|---|
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
| 4 | 30 |
The median of delivery_days is 3.5.
| Example 1 | Example 2 |
|---|
| Column | delivery_days | delivery_days |
| Minimum value | 1 | 1 |
| Exclude minimum value | false | false |
| Maximum value | 3 | 5 |
| Exclude maximum value | false | false |
| Result | ❌ Fails | ✅ Passes |
| Reason | Column median is 3.5, which exceeds the allowed bound of 3 | Column median 3.5 is within [1, 5] |
Column sum must be in range
The sum of all values in the column must fall between the specified bounds.
Use this when you want to validate totals — for example, ensuring the total revenue in a daily batch falls within an expected range, or that the sum of allocated percentages in a distribution table adds up to a known value.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The lower bound for the column sum. |
| Maximum value | Number | ✅ | The upper bound for the column sum. |
Example
| order_id | amount |
|---|
| 1 | 150 |
| 2 | 320 |
| 3 | 85 |
The sum of amount is 555.
| Example 1 | Example 2 |
|---|
| Column | amount | amount |
| Minimum value | 600 | 500 |
| Maximum value | 1000 | 1000 |
| Result | ❌ Fails | ✅ Passes |
| Reason | Column sum is 555, which is below the allowed minimum of 600 | Column sum 555 is within [500, 1000] |
Column proportion of unique values must be in range
The proportion of unique values in the column (unique count / total count) must fall between the specified bounds.
Use this when you want to monitor cardinality relative to total rows — for example, ensuring a customer_id column has high uniqueness, or that a category column doesn't have too many or too few distinct values relative to the dataset size.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The minimum proportion of unique values. Must be between 0 and 1. |
| Exclude minimum value | Boolean | ❌ | If enabled, the proportion must be strictly greater than the minimum. |
| Maximum value | Number | ✅ | The maximum proportion of unique values. Must be between 0 and 1. |
| Exclude maximum value | Boolean | ❌ | If enabled, the proportion must be strictly less than the maximum. |
Example
| order_id | category |
|---|
| 1 | electronics |
| 2 | clothing |
| 3 | electronics |
| 4 | food |
category has 3 unique values out of 4 rows, so the proportion is 0.75.
| Example 1 | Example 2 |
|---|
| Column | category | category |
| Minimum value | 0.8 | 0.5 |
| Exclude minimum value | false | false |
| Maximum value | 1 | 1 |
| Exclude maximum value | false | false |
| Result | ❌ Fails | ✅ Passes |
| Reason | Proportion is 0.75, which is below the allowed minimum of 0.8 | Proportion 0.75 is within [0.5, 1] |
Column total unique values must be in range
The total number of distinct values in the column must fall between the specified bounds.
Use this when you want to monitor the absolute cardinality of a column — for example, ensuring a country column always has at least the expected number of countries, or that a lookup table hasn't grown beyond a known size.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. |
| Minimum value | Number | ✅ | The minimum number of unique values allowed. |
| Maximum value | Number | ✅ | The maximum number of unique values allowed. |
Example
| sale_id | country |
|---|
| 1 | Argentina |
| 2 | Brazil |
| 3 | Argentina |
| 4 | Chile |
country has 3 distinct values.
| Example 1 | Example 2 |
|---|
| Column | country | country |
| Minimum value | 5 | 2 |
| Maximum value | 10 | 10 |
| Result | ❌ Fails | ✅ Passes |
| Reason | Total unique values is 3, which is below the allowed minimum of 5 | Total unique values 3 is within [2, 10] |
Column values must be lower or equal than current date
Every row in the column must have a date value less than or equal to today's date. Fails if any row contains a future date.
Use this when you want to ensure a date column never contains future values — for example, a birth_date, created_at, or signed_at column that should always be in the past or today.
Parameters
| Name | Type | Required | Description |
|---|
| Column | Column | ✅ | The column to validate. Must contain date or timestamp values. |
Example
| user_id | birth_date | signed_at |
|---|
| 1 | 1990-05-12 | 2024-01-15 |
| 2 | 2001-11-30 | 2025-03-08 |
| 3 | 2031-04-01 | 2026-04-20 |
| Example 1 | Example 2 |
|---|
| Column | birth_date | signed_at |
| Result | ❌ Fails | ✅ Passes |
| Reason | Row 3 has 2031-04-01, which is a future date | All values in signed_at are on or before today's date |