Skip to content

Compare Columns

POST
/v1/datasets/{dataset_id}/compare
curl --request POST \
--url https://example.com/v1/datasets/example/compare \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "columns": [ "example" ], "reference": "example", "tolerance": 1, "ignore_case": false, "trim_whitespace": false, "sql": "SELECT * FROM data" }'

How often two or more columns give the same value in each row: several models’ answers, a model against labels someone already has, or any columns at all. With a reference, also each column’s accuracy against it. Every count comes with the filter for its rows, to use in a query’s WHERE clause: to see them (query) or to ask about them again (runs).

dataset_id
required
Dataset Id
string
Media typeapplication/json
CompareRequest
object
columns
required
Columns

Two or more; or one, with a reference.

Array<string>
reference
Any of:
string
tolerance
Any of:
number
ignore_case
Ignore Case

Compare VARCHAR columns using Unicode lowercase (not full case folding).

boolean
trim_whitespace
Trim Whitespace

Trim ASCII space, tab, newline, carriage return, form feed and vertical tab in VARCHAR columns. Empty strings remain answers.

boolean
sql
Sql

The rows to compare: a SELECT over data.

string
default: SELECT * FROM data

Successful Response

Media typeapplication/json
Comparison
object
ignore_case
required
Ignore Case
boolean
trim_whitespace
required
Trim Whitespace
boolean
tolerance
required
Any of:
number
values_completeness
required
Completeness
object
total_groups
required
Total Groups
integer
shown_groups
required
Shown Groups
integer
omitted_count
required
Omitted Count
integer
count_unit
Count Unit
string
default: rows
Allowed values: rows answers
truncated
required
Truncated
boolean
crosstab_completeness
required
Any of:
Completeness
object
total_groups
required
Total Groups
integer
shown_groups
required
Shown Groups
integer
omitted_count
required
Omitted Count
integer
count_unit
Count Unit
string
default: rows
Allowed values: rows answers
truncated
required
Truncated
boolean
rows
required
Rows

Rows compared: those the query returns.

integer
columns
required
Columns

The columns compared, with the reference last.

Array<string>
agreement
required
Agreement
object
all_agree
required
Rows

Every column has a value, and they are all the same.

object
rows
required
Rows
integer
where
required
Any of:
string
disagree
required
Rows

At least two values differ.

object
rows
required
Rows
integer
where
required
Any of:
string
partly_answered
required
Partly Answered

Some columns are empty, and the others agree.

integer
not_answered
required
Not Answered

Every column is empty.

integer
rate
required
Any of:
number
pairs
required
Pairs

Every two of the columns.

Array<object>
Pair
object
columns
required
Columns
Array<string>
compared
required
Compared

Rows where both have a value.

integer
agree
required
Agree
integer
rate
required
Any of:
number
disagree
required
Disagree

SQL picking the rows where the two differ.

string
coverage
required
Coverage
object
missing_left
required
Rows
object
rows
required
Rows
integer
where
required
Any of:
string
missing_right
required
Rows
object
rows
required
Rows
integer
where
required
Any of:
string
missing_both
required
Rows
object
rows
required
Rows
integer
where
required
Any of:
string
numeric
Any of:
NumericSummary
object
matched
required
Rows
object
rows
required
Rows
integer
where
required
Any of:
string
different
required
Rows
object
rows
required
Rows
integer
where
required
Any of:
string
difference
required
Difference

Human-readable signed difference; column minus reference when a reference exists, otherwise second minus first.

string
unit
required
Unit
string
finite_pairs
required
Finite Pairs
integer
non_finite_pairs
required
Non Finite Pairs
integer
bias
required
Any of:
number
mean_absolute_difference
required
Any of:
number
p95_absolute_difference
required
Any of:
number
max_absolute_difference
required
Any of:
number
histogram
required
Histogram
Array<object>
HistogramBin
object
rows
required
Rows
integer
where
required
Any of:
string
lower
required
Lower
number
upper
required
Upper
number
matched
required
Rows
object
rows
required
Rows
integer
where
required
Any of:
string
different
required
Rows
object
rows
required
Rows
integer
where
required
Any of:
string
upper_inclusive
required
Upper Inclusive
boolean
values
required
Values

The most common values, and how often each column gives them.

Array<object>
ValueCounts
object
where
required
Where

Exact row predicates by column, including Other values.

object
key
additional properties
string
value
required
Any of:
string
counts
required
Counts

Rows with this value, by column.

object
key
additional properties
integer
crosstab
required
Any of:
Array<object>
Cell
object
values
required
Values

The two columns’ values, in the order compared.

Array<string>
rows
required
Rows
integer
where
required
Where
string
reference
required
Any of:
Array<object>
ReferenceAccuracy
object
labels_completeness
required
Completeness
object
total_groups
required
Total Groups
integer
shown_groups
required
Shown Groups
integer
omitted_count
required
Omitted Count
integer
count_unit
Count Unit
string
default: rows
Allowed values: rows answers
truncated
required
Truncated
boolean
macro_f1
required
Any of:
number
balanced_accuracy
required
Any of:
number
column
required
Column
string
compared
required
Compared

Rows where both the column and the reference have a value.

integer
correct
required
Correct
integer
accuracy
required
Any of:
number
wrong
required
Wrong

SQL picking the rows where the column differs from the reference.

string
values
required
Values

Up to 20 reference labels with lowest recall; aggregate metrics use all labels. Empty with a tolerance.

Array<object>
ValueAccuracy
object
value
required
Value
string
support
required
Support

Rows where the reference has this value (and the column one).

integer
predicted
required
Predicted

Rows where the column has this value (and the reference one).

integer
correct
required
Correct
integer
precision
required
Any of:
number
recall
required
Any of:
number

Example

{
"values_completeness": {
"count_unit": "rows"
},
"crosstab_completeness": {
"count_unit": "rows"
},
"reference": [
{
"labels_completeness": {
"count_unit": "rows"
}
}
]
}

Validation Error

Media typeapplication/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object

Example generated

{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}