Skip to content

Last updated: July 22, 2025

List of table level custom sql data quality checks

This is a list of custom_sql table data quality checks supported by DQOps and a brief description of what data quality issued they detect.

table-level custom_sql checks

Validate data against user-defined SQL queries at the table level. Checks in this group allow for validation that the set percentage of rows passed a custom SQL expression or that the custom SQL expression is not outside the set range.

sql condition failed on table

A table-level check that uses a custom SQL expression on each row to verify (assert) that all rows pass a custom condition defined as an SQL condition. Use the {alias} token to reference the tested table. This data quality check can be used to compare columns on the same table. For example, the condition can verify that the value in the col_price column is higher than the col_tax column using an SQL expression: `{alias}.col_price > {alias}.col_tax`. Use an SQL expression that returns a true value for valid values and a false one for invalid values, because it is an assertion.

Data quality check name Friendly name Check type Description Standard
profile_sql_condition_failed_on_table Maximum count of rows that failed SQL conditions profiling Verifies that a minimum percentage of rows passed a custom SQL condition (expression). Reference the current table by using tokens, for example: `{alias}.col_price > {alias}.col_tax`.
daily_sql_condition_failed_on_table Maximum count of rows that failed SQL conditions monitoring Verifies that a custom SQL expression is met for each row. Counts the number of rows where the expression is not satisfied, and raises an issue if too many failures were detected. This check is used also to compare values between columns: `{alias}.col_price > {alias}.col_tax`. Stores the most recent count of failed rows for each day when the data quality check was evaluated.
monthly_sql_condition_failed_on_table Maximum count of rows that failed SQL conditions monitoring Verifies that a custom SQL expression is met for each row. Counts the number of rows where the expression is not satisfied, and raises an issue if too many failures were detected. This check is used also to compare values between columns: `{alias}.col_price > {alias}.col_tax`. Stores the most recent count of failed rows for each month when the data quality check was evaluated.
daily_partition_sql_condition_failed_on_table Maximum count of rows that failed SQL conditions partitioned Verifies that a custom SQL expression is met for each row. Counts the number of rows where the expression is not satisfied, and raises an issue if too many failures were detected. This check is used also to compare values between columns: `{alias}.col_price > {alias}.col_tax`. Stores a separate data quality check result for each daily partition.
monthly_partition_sql_condition_failed_on_table Maximum count of rows that failed SQL conditions partitioned Verifies that a custom SQL expression is met for each row. Counts the number of rows where the expression is not satisfied, and raises an issue if too many failures were detected. This check is used also to compare values between columns: `{alias}.col_price > {alias}.col_tax`. Stores a separate data quality check result for each monthly partition.

sql condition passed percent on table

A table-level check that ensures that a minimum percentage of rows passed a custom SQL condition (expression). Measures the percentage of rows passing the condition. Raises a data quality issue when the percent of valid rows is below the min_percent parameter.

Data quality check name Friendly name Check type Description Standard
profile_sql_condition_passed_percent_on_table Minimum percentage of rows that passed SQL condition profiling Verifies that a custom SQL expression is met for each row. Counts the number of rows where the expression is not satisfied, and raises an issue if too many failures were detected. This check is used also to compare values between columns: `{alias}.col_price > {alias}.col_tax`.
daily_sql_condition_passed_percent_on_table Minimum percentage of rows that passed SQL condition monitoring Verifies that a minimum percentage of rows passed a custom SQL condition (expression). Reference the current table by using tokens, for example: `{alias}.col_price > {alias}.col_tax`. Stores the most recent captured percentage for each day when the data quality check was evaluated.
monthly_sql_condition_passed_percent_on_table Minimum percentage of rows that passed SQL condition monitoring Verifies that a minimum percentage of rows passed a custom SQL condition (expression). Reference the current table by using tokens, for example: `{alias}.col_price > {alias}.col_tax`. Stores the most recent value for each month when the data quality check was evaluated.
daily_partition_sql_condition_passed_percent_on_table Minimum percentage of rows that passed SQL condition partitioned Verifies that a minimum percentage of rows passed a custom SQL condition (expression). Reference the current table by using tokens, for example: `{alias}.col_price > {alias}.col_tax`. Stores a separate data quality check result for each daily partition.
monthly_partition_sql_condition_passed_percent_on_table Minimum percentage of rows that passed SQL condition partitioned Verifies that a minimum percentage of rows passed a custom SQL condition (expression). Reference the current table by using tokens, for example: `{alias}.col_price > {alias}.col_tax`. Stores a separate data quality check result for each monthly partition.

sql aggregate expression on table

A table-level check that calculates a given SQL aggregate expression on a table and verifies if the value is within a range of accepted values.

Data quality check name Friendly name Check type Description Standard
profile_sql_aggregate_expression_on_table Custom aggregated SQL expression within range profiling Verifies that a custom aggregated SQL expression (MIN, MAX, etc.) is not outside the expected range.
daily_sql_aggregate_expression_on_table Custom aggregated SQL expression within range monitoring Verifies that a custom aggregated SQL expression (MIN, MAX, etc.) is not outside the expected range. Stores the most recent captured value for each day when the data quality check was evaluated.
monthly_sql_aggregate_expression_on_table Custom aggregated SQL expression within range monitoring Verifies that a custom aggregated SQL expression (MIN, MAX, etc.) is not outside the expected range. Stores the most recent value for each month when the data quality check was evaluated.
daily_partition_sql_aggregate_expression_on_table Custom aggregated SQL expression within range partitioned Verifies that a custom aggregated SQL expression (MIN, MAX, etc.) is not outside the expected range. Stores a separate data quality check result for each daily partition.
monthly_partition_sql_aggregate_expression_on_table Custom aggregated SQL expression within range partitioned Verifies that a custom aggregated SQL expression (MIN, MAX, etc.) is not outside the expected range. Stores a separate data quality check result for each monthly partition.

sql invalid record count on table

A table-level check that uses a custom SQL query that return invalid values from column. Use the {table} token to reference the tested table. This data quality check can be used to compare columns on the same table. For example, when this check is applied on a age column, the condition can find invalid records in which the age is lower than 18 using an SQL query: `SELECT age FROM {table} WHERE age < 18`.

Data quality check name Friendly name Check type Description Standard
profile_sql_invalid_record_count_on_table Custom SELECT SQL that returns invalid records profiling Runs a custom query that retrieves invalid records found in a table and returns the number of them, and raises an issue if too many failures were detected. This check is used for setting testing queries or ready queries used by users in their own systems (legacy SQL queries). For example, when this check is applied on a age column, the condition can find invalid records in which the age is lower than 18 using an SQL query: `SELECT age FROM {table} WHERE age < 18`.
daily_sql_invalid_record_count_on_table Custom SELECT SQL that returns invalid records monitoring Runs a custom query that retrieves invalid records found in a table and returns the number of them, and raises an issue if too many failures were detected. This check is used for setting testing queries or ready queries used by users in their own systems (legacy SQL queries). For example, when this check is applied on a age column, the condition can find invalid records in which the age is lower than 18 using an SQL query: `SELECT age FROM {table} WHERE age < 18`.
monthly_sql_invalid_record_count_on_table Custom SELECT SQL that returns invalid records monitoring Runs a custom query that retrieves invalid records found in a table and returns the number of them, and raises an issue if too many failures were detected. This check is used for setting testing queries or ready queries used by users in their own systems (legacy SQL queries). For example, when this check is applied on a age column, the condition can find invalid records in which the age is lower than 18 using an SQL query: `SELECT age FROM {table} WHERE age < 18`.

import custom result on table

A table-level check that uses a custom SQL SELECT statement to retrieve a result of running a custom data quality check that was hardcoded in the data pipeline, and the result was stored in a separate table. The SQL query that is configured in this external data quality results importer must be a complete SELECT statement that queries a dedicated table (created by the data engineers) that stores the results of custom data quality checks. The SQL query must return a severity column with values: 0 - data quality check passed, 1 - warning issue, 2 - error severity issue, 3 - fatal severity issue.

Data quality check name Friendly name Check type Description Standard
profile_import_custom_result_on_table Import custom data quality results on table profiling Runs a custom query that retrieves a result of a data quality check performed in the data engineering, whose result (the severity level) is pulled from a separate table.
daily_import_custom_result_on_table Import custom data quality results on table monitoring Runs a custom query that retrieves a result of a data quality check performed in the data engineering, whose result (the severity level) is pulled from a separate table.
monthly_import_custom_result_on_table Import custom data quality results on table monitoring Runs a custom query that retrieves a result of a data quality check performed in the data engineering, whose result (the severity level) is pulled from a separate table.