π§Ό Data Quality Checks
Data Quality (DQ) Checks are used to measure the quality of your datasets.
Unlike test cases that return a strict pass/fail, DQ checks tell you how much of the data fails a defined rule.
π§ Think of a DQ check like a thermometer β it doesnβt tell you if you're sick, but it measures your temperature.
π οΈ Thresholdsβ
When creating a DQ check, you define thresholds that represent acceptable data quality levels:
- β οΈ Warning Threshold β Quality is acceptable, but potentially risky
- β Critical Threshold β Quality has dropped significantly and action is needed
π Types of Data Quality Checksβ
X-AutoMate offers two types of DQ checks:
- Simple Checks β Created using a wizard interface for non-technical users
- Custom Checks β Free-form queries for advanced scenarios
π§ Simple Data Quality Checksβ
Simple checks help users generate SQL behind the scenes via an easy-to-use UI.
They cover various domains, as shown below:
| Category | Name | Description |
|---|---|---|
| Unknown | Null Count | Finds the number of records that are null (have no value). |
| Numeric | Math | Compares values using operators (e.g., <, >, =, etc.). |
| Numeric | Allowed Values | Checks if values match a predefined valid list. |
| Numeric | Value Range | Verifies that values are within a specified range. |
| Numeric | Zeroes Count | Counts how many values are equal to zero. |
| Numeric | Uniqueness | Detects duplicate values in a column. |
| DateTime | Allowed Values | Validates against a predefined set of timestamps. |
| DateTime | Value Range | Checks whether timestamps fall within a range. |
| DateTime | Null Count | Counts missing timestamps. |
| DateTime | Uniqueness | Detects duplicate timestamps. |
| Categorical | Allowed Values | Checks string values against an allowed list. |
| Categorical | Uniqueness | Detects duplicate strings. |
| Categorical | Missing Values | Finds records where string values are empty. |
| Categorical | Length Range | Checks whether string lengths fall within a range. |
| Categorical | LIKE / NOT LIKE | Matches strings using wildcard patterns. |
| Categorical | Regular Expression | Validates strings against regex patterns. |
π§ͺ Creating a Simple DQ Checkβ
Navigate to /data_quality/new to begin.
1οΈβ£ Select the Tableβ
Choose the object you want to validate.

2οΈβ£ Add Optional Filtersβ
Define filters to narrow the data (e.g., only check ProductType = 'Toy').

3οΈβ£ Choose Column & Ruleβ
Pick the column to validate and specify the condition.
β Make sure your query retrieves valid data (not the bad ones).
For example: To detect customers under 18 years, the correct data is age >= 18.

4οΈβ£ Define Thresholdsβ
Set your warning and critical thresholds.
π¬ Example:
- Good Data: β₯ 90%
- Warning: 80%β90%
- Critical: < 80%

5οΈβ£ Add Metadataβ
You can:
- π Link to a requirement
- π Add a DQ description (recommended for clarity)
6οΈβ£ Submit and Reviewβ
Once saved, you are redirected to /results to review the filtered DQ check.

The check is also listed under /test/case.
π Operations & Reusabilityβ
- β
DQ checks behave like ETL test cases (see
etl.md) - π You can convert a simple DQ check to a custom one by clicking βConvert to Custom Checkβ
β¨ Custom Data Quality Checksβ
A Custom DQ Check lets you define free-form logic using three SQL queries:
- π Aggregation Query β Total count of valid data
- π¨ Bad Records Count β Number of failing records
- π Bad Records Query β List of failing records for inspection

You also provide:
- π·οΈ A name
- π A description
- π― Thresholds
- π Requirements and tags (optional)
Once saved, youβre redirected to /results.
π§© Additional Optionsβ
While editing, you can:
- π Reassign DQ checks to new test suites
- β Assign test approaches
- π Link to more connections or metadata