# Example Schema

Generated from a test fixture of zipcodes.


# Query (Table)

a dataset with a derived schema

<table>
<colgroup>
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>toSql</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[Compile to](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.to_sql) a formatted SQL string.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">dialect</td>
<td data-valign="top">[String](#string)</td>
<td><p>output SQL dialect; defaults to the backend's native dialect</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">pretty</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>whether to use pretty formatting</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[ibis table](https://ibis-project.org/reference/expression-table) or [arrow dataset](https://arrow.apache.org/docs/python/api/dataset.html)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>schema</strong></td>
<td data-valign="top">[Schema](#schema)!</td>
<td><p>[table schema](https://ibis-project.org/reference/schemas#ibis.expr.schema.Schema)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cast</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Cast](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.cast) the columns of a table.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">schema</td>
<td data-valign="top">[[Field](#field)!]!</td>
<td><p>field names and types</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">try</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>return null if cast fails</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>optional</strong></td>
<td data-valign="top">[Table](#table)</td>
<td><p>Nullable field to stop error propagation, enabling partial query results.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>[Count](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.count) the number of rows.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>any</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>Whether there are at least <code>limit</code> rows.</p>
<p>May be significantly faster than <code>count</code> for out-of-core data.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">limit</td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>column</strong></td>
<td data-valign="top">[Column](#column)</td>
<td><p>Column of any type by name.</p>
<p>If the column is in the schema, [columns](../reference/Dataset.md#graphique.Dataset.columns) can be used instead.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">name</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column name(s); multiple names access nested struct fields</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">cast</td>
<td data-valign="top">[String](#string)!</td>
<td><p>cast expression to indicated [data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">try</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>return null if cast fails</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">index</td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>column index(es); may access array offsets</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>slice</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Limit](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.limit) row selection.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">offset</td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>number of rows to skip; negative value skips from the end</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">limit</td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>maximum number of rows to return</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Remove duplicate](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.distinct) rows from table.</p>
<p>Differs from [group](../reference/Dataset.md#graphique.Dataset.group) by keeping all columns, and defaulting to all keys.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">on</td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>column names to deduplicate on; defaults to all</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keep</td>
<td data-valign="top">[String](#string)</td>
<td><p>which duplicates to keep</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">counts</td>
<td data-valign="top">[String](#string)!</td>
<td><p>[value counts](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.value_counts); incompatible with <code>keep: null</code></p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include and order by first row number; incompatible with <code>on: null</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>group</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Group](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.group_by) table by columns.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; empty will aggregate into a single row table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">counts</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include counts in an aliased column</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include and order by first row number</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">aggregate</td>
<td data-valign="top">[Aggregates](#aggregates)!</td>
<td><p>aggregation functions applied to other columns</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>order</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Sort](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.order_by) table by columns.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; prefix with <code>-</code> for descending order</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">limit</td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>maximum number of rows to return; optimized for partitioned dataset keys</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">over</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; <code>limit</code> applies separately over each grouping window</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>Provisionally sort and filter by rank.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; prefix with <code>-</code> for descending order</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rank</td>
<td data-valign="top">[Int](#int)!</td>
<td><p>maximum rank of rows to return; optimized for partitioned dataset keys</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">dense</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use dense rank (all ties) or sparse rank (only ties at the boundary)</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">over</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; <code>rank</code> applies separately over each grouping window</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>unnest</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Unnest](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.unnest) an array column from a table.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">name</td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">offset</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include index column</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keepEmpty</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>keep empty array values as null</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include and order by row number; optionally by <code>offset</code> too</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>unpack</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Unpack](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.unpack) the struct fields of each column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">names</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>join</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Join](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.join) two tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">right</td>
<td data-valign="top">[String](#string)!</td>
<td><p>name of right table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rkeys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the right side; defaults to left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td><p>the kind of join: 'inner', 'left', 'outer', 'semi', …</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">lname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to use to rename overlapping columns in the left table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to use to rename overlapping columns in the right table</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>asofJoin</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[As-of join](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.asof_join) on nearest key rather than equal keys.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">right</td>
<td data-valign="top">[String](#string)!</td>
<td><p>name of right table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">on</td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name for closest-match inequality (e.g. timestamp)</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rkeys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the right side; defaults to left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">tolerance</td>
<td data-valign="top">[JSON](#json)</td>
<td><p>optional look-back window for the as-of match</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">scalar</td>
<td data-valign="top">[Scalars](#scalars)!</td>
<td><p>typed scalar for `tolerance</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">lname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the left table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the right table</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>crossJoin</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Cross join](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.cross_join) with one or more tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">right</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of right table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">lname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the left table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the right table</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>difference</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Set difference](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.difference) of tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">table</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of other table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">distinct</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use set difference (true) or multiset difference (false)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>intersect</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Set intersection](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.intersect) of tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">table</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of other table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">distinct</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use set difference (true) or multiset difference (false)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>union</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Set union](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.union) of tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">table</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of other table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">distinct</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use set difference (true) or multiset difference (false)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>take</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Take](https://arrow.apache.org/docs/python/generated/pyarrow.dataset.Dataset.html#pyarrow.dataset.Dataset.take) rows by index.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">indices</td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Drop](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.drop_null) rows with null values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">subset</td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>columns names; defaults to all</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td><p>remove if [any](../reference/Dataset.md#graphique.Dataset.any) or <code>all</code> are null</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Fill null](https://ibis-project.org/reference/expression-tables.html#ibis.expr.types.relations.Table.fill_null) values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">name</td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>column name(s); defaults to all</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[JSON](#json)</td>
<td><p>JSON scalar</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">scalar</td>
<td data-valign="top">[Scalars](#scalars)!</td>
<td><p>typed scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>project</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Mutate](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.mutate) columns by expressions.</p>
<p>Renamed to not be confused with a mutation.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">columns</td>
<td data-valign="top">[[Projection](#projection)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>runs</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>Provisionally group table by adjacent values in columns.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names to compare by equality</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">split</td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>boolean column expressions to split on true values</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">counts</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include counts in an aliased column</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>alias of row number to maintain order</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">aggregate</td>
<td data-valign="top">[Aggregates](#aggregates)!</td>
<td><p>aggregation functions applied to other columns</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sql</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Run a SQL](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.sql) query against a table expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">query</td>
<td data-valign="top">[String](#string)!</td>
<td><p>SQL query string</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">alias</td>
<td data-valign="top">[String](#string)!</td>
<td><p>[alias](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.alias) of the table expression referenced in the query</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">dialect</td>
<td data-valign="top">[String](#string)</td>
<td><p>input SQL dialect; defaults to the backend's native dialect</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>columns</strong></td>
<td data-valign="top">[Columns](#columns)!</td>
<td><p>fields for each column</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>row</strong></td>
<td data-valign="top">[Row](#row)</td>
<td><p>Return scalar values at index.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">index</td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>filter</strong></td>
<td data-valign="top">[Table](#table)!</td>
<td><p>[Filter](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.filter) rows by predicates.</p>
<p>Schema derived fields provide syntax for simple queries; <code>where</code> supports complex queries.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">latitude</td>
<td data-valign="top">[FloatFilter](#floatfilter)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">longitude</td>
<td data-valign="top">[FloatFilter](#floatfilter)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">state</td>
<td data-valign="top">[StrFilter](#strfilter)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">city</td>
<td data-valign="top">[StrFilter](#strfilter)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">county</td>
<td data-valign="top">[StrFilter](#strfilter)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">zipcode</td>
<td data-valign="top">[IntFilter](#intfilter)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">where</td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
</tbody>
</table>


# Objects


## ArrayColumn

[array column](https://ibis-project.org/reference/expression-collections)

<table>
<colgroup>
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>unnest</strong></td>
<td data-valign="top">[Column](#column)!</td>
<td><p>Unnest an array into a column.</p>
<p>Combine with <code>length</code> to efficiently regroup.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>length</strong></td>
<td data-valign="top">[[BigInt](#bigint)]!</td>
<td><p>Compute the length of an array.</p></td>
</tr>
</tbody>
</table>


## Base64Column

[generic column](https://ibis-project.org/reference/expression-generic)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Base64](#base64)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[Base64Set](#base64set)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Base64](#base64)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Base64](#base64)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Base64](#base64)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Base64](#base64)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Base64](#base64)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Base64](#base64)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Base64](#base64)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Base64](#base64)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Base64](#base64)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
</tbody>
</table>


## Base64Set

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Base64](#base64)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## BigIntColumn

[integer column](https://ibis-project.org/reference/expression-numeric#ibis.expr.types.numeric.IntegerColumn)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[BigInt](#bigint)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[BigIntSet](#bigintset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Float](#float)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sum</strong></td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>Return the sum of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mean</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the mean of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>std</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the standard deviation of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>var</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the variance of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>takeFrom</strong></td>
<td data-valign="top">[Dataset](#dataset)</td>
<td><p>Select indices from a table on the root Query type.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">field</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## BigIntSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[BigInt](#bigint)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## BoolSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Boolean](#boolean)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## BooleanColumn

[boolean column](https://ibis-project.org/reference/expression-numeric#ibis.expr.types.logical.BooleanColumn)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Boolean](#boolean)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[BoolSet](#boolset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Boolean](#boolean)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Boolean](#boolean)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Float](#float)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sum</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return the sum of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mean</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the mean of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>std</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the standard deviation of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>var</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the variance of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>any</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return whether at least one element is <code>True</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>all</strong></td>
<td data-valign="top">[Boolean](#boolean)</td>
<td><p>Return whether all elements are <code>True</code>.</p></td>
</tr>
</tbody>
</table>


## Columns

fields for each column

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>latitude</strong></td>
<td data-valign="top">[FloatColumn](#floatcolumn)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>longitude</strong></td>
<td data-valign="top">[FloatColumn](#floatcolumn)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>state</strong></td>
<td data-valign="top">[StringColumn](#stringcolumn)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>city</strong></td>
<td data-valign="top">[StringColumn](#stringcolumn)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>county</strong></td>
<td data-valign="top">[StringColumn](#stringcolumn)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>zipcode</strong></td>
<td data-valign="top">[IntColumn](#intcolumn)</td>
<td></td>
</tr>
</tbody>
</table>


## DateColumn

[temporal column](https://ibis-project.org/reference/expression-temporal)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Date](#date)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[DateSet](#dateset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Date](#date)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Date](#date)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Date](#date)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Date](#date)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Date](#date)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Date](#date)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Date](#date)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Date](#date)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Date](#date)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
</tbody>
</table>


## DateSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Date](#date)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## DatetimeColumn

[temporal column](https://ibis-project.org/reference/expression-temporal)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[DateTime](#datetime)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[DatetimeSet](#datetimeset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[DateTime](#datetime)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[DateTime](#datetime)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[DateTime](#datetime)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[DateTime](#datetime)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[DateTime](#datetime)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[DateTime](#datetime)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[DateTime](#datetime)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[DateTime](#datetime)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[DateTime](#datetime)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
</tbody>
</table>


## DatetimeSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[DateTime](#datetime)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## DecimalColumn

[numeric column](https://ibis-project.org/reference/expression-numeric)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Decimal](#decimal)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[DecimalSet](#decimalset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Decimal](#decimal)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Decimal](#decimal)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Decimal](#decimal)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Decimal](#decimal)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Decimal](#decimal)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Decimal](#decimal)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Decimal](#decimal)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Decimal](#decimal)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Float](#float)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sum</strong></td>
<td data-valign="top">[Decimal](#decimal)</td>
<td><p>Return the sum of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mean</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the mean of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>std</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the standard deviation of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>var</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the variance of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## DecimalSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Decimal](#decimal)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## DurationColumn

provisional [interval column](https://ibis-project.org/reference/expression-temporal#ibis.expr.types.temporal.IntervalValue)

Interval support varies by backend; durations may still be useful for computation and as scalar inputs.

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Duration](#duration)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[DurationSet](#durationset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Duration](#duration)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Duration](#duration)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Duration](#duration)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Duration](#duration)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Duration](#duration)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Duration](#duration)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Duration](#duration)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Duration](#duration)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Duration](#duration)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
</tbody>
</table>


## DurationSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Duration](#duration)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## FloatColumn

[numeric column](https://ibis-project.org/reference/expression-numeric)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Float](#float)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[FloatSet](#floatset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Float](#float)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Float](#float)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Float](#float)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Float](#float)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sum</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the sum of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mean</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the mean of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>std</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the standard deviation of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>var</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the variance of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## FloatSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Float](#float)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## IntColumn

[integer column](https://ibis-project.org/reference/expression-numeric#ibis.expr.types.numeric.IntegerColumn)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Int](#int)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[IntSet](#intset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Int](#int)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Int](#int)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Int](#int)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Float](#float)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sum</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>Return the sum of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mean</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the mean of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>std</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the standard deviation of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>var</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>Return the variance of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>takeFrom</strong></td>
<td data-valign="top">[Dataset](#dataset)</td>
<td><p>Select indices from a table on the root Query type.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">field</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## IntSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Int](#int)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## JSONColumn

[struct column](https://ibis-project.org/reference/expression-collections#ibis.expr.types.structs.StructValue)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[JSON](#json)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[JSONSet](#jsonset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[JSON](#json)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[JSON](#json)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[JSON](#json)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[JSON](#json)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>names</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>field names</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>types</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>field types</p></td>
</tr>
</tbody>
</table>


## JSONSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[JSON](#json)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## Row

scalar fields

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>latitude</strong></td>
<td data-valign="top">[Float](#float)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>longitude</strong></td>
<td data-valign="top">[Float](#float)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>state</strong></td>
<td data-valign="top">[String](#string)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>city</strong></td>
<td data-valign="top">[String](#string)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>county</strong></td>
<td data-valign="top">[String](#string)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>zipcode</strong></td>
<td data-valign="top">[Int](#int)</td>
<td></td>
</tr>
</tbody>
</table>


## Schema

[table schema](https://ibis-project.org/reference/schemas#ibis.expr.schema.Schema)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>names</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>field names</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>types</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes), corresponding to <code>names</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>partitioning</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>partition keys</p></td>
</tr>
</tbody>
</table>


## StrSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[String](#string)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


## StringColumn

[string column](https://ibis-project.org/reference/expression-strings)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[String](#string)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[StrSet](#strset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
</tbody>
</table>


## TimeColumn

[temporal column](https://ibis-project.org/reference/expression-temporal)

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Time](#time)]!</td>
<td><p>list of values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[TimeSet](#timeset)!</td>
<td><p>distinct values and counts</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Time](#time)</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[Time](#time)</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[[Time](#time)!]!</td>
<td><p>non-null values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[[Time](#time)!]!</td>
<td><p>Replace <code>NULL</code>s with the given value. Does NOT affect <code>NaN</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[Time](#time)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[Time](#time)</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Time](#time)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Time](#time)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[Time](#time)!]</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">q</td>
<td data-valign="top">[[Float](#float)!]!</td>
<td></td>
</tr>
</tbody>
</table>


## TimeSet

distinct values and counts

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>values</strong></td>
<td data-valign="top">[[Time](#time)]!</td>
<td><p>distinct values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>counts</strong></td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>corresponding counts</p></td>
</tr>
</tbody>
</table>


# Inputs


## Aggregate

name and optional alias for aggregation

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
</tbody>
</table>


## Aggregates

aggregation [expressions](https://ibis-project.org/reference/expression-generic)

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>all</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Return whether all elements are <code>True</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>any</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Return whether at least one element is <code>True</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>argmax</strong></td>
<td data-valign="top">[[ArgAggregate](#argaggregate)!]!</td>
<td><p>Return the value of <code>self</code> that maximizes <code>key</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>argmin</strong></td>
<td data-valign="top">[[ArgAggregate](#argaggregate)!]!</td>
<td><p>Return the value of <code>self</code> that minimizes <code>key</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>collect</strong></td>
<td data-valign="top">[[CollectAggregate](#collectaggregate)!]!</td>
<td><p>Aggregate this expression's elements into an array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>concat</strong></td>
<td data-valign="top">[[ConcatAggregate](#concataggregate)!]!</td>
<td><p>Concatenate values using the indicated separator to produce a string.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[[OrderAggregate](#orderaggregate)!]!</td>
<td><p>Return the first value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>kurtosis</strong></td>
<td data-valign="top">[[VarAggregate](#varaggregate)!]!</td>
<td><p>Return the kurtosis of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>last</strong></td>
<td data-valign="top">[[OrderAggregate](#orderaggregate)!]!</td>
<td><p>Return the last value of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mean</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Return the mean of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mode</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Return the mode of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[[UniqueAggregate](#uniqueaggregate)!]!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quantile</strong></td>
<td data-valign="top">[[QuantileAggregate](#quantileaggregate)!]!</td>
<td><p>Return value at the given quantile.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>std</strong></td>
<td data-valign="top">[[VarAggregate](#varaggregate)!]!</td>
<td><p>Return the standard deviation of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sum</strong></td>
<td data-valign="top">[[Aggregate](#aggregate)!]!</td>
<td><p>Return the sum of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>var</strong></td>
<td data-valign="top">[[VarAggregate](#varaggregate)!]!</td>
<td><p>Return the variance of a numeric column.</p></td>
</tr>
</tbody>
</table>


## ArgAggregate

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>key</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## Arrays

array [expressions](https://ibis-project.org/reference/expression-collections)

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>alls</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return whether all elements (ignoring nulls) in the array are true.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>anys</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return whether any element in the array is true.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>flatten</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Remove one level of nesting from an array expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>length</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the length of an array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>maxs</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the maximum value in the array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>means</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the mean of the values in the array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>modes</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the mode of the values in the array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mins</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the minimum value in the array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sort</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Sort the elements in an array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sums</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the sum of the values in the array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>unique</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the unique values in an array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>concat</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Concatenate this array with one or more arrays.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>contains</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return whether the array contains <code>other</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>index</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return the position of <code>other</code> in an array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>intersect</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Intersect two arrays.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>remove</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Remove <code>other</code> from <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>union</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Union two arrays.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>zip</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Zip two or more arrays together.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>slice</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>array slice</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>value</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>value at offset</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>offset</strong></td>
<td data-valign="top">[Int](#int)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>limit</strong></td>
<td data-valign="top">[Int](#int)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>join</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Join the elements of this array expression with <code>sep</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sep</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>repeat</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Repeat this array <code>n</code> times.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>n</strong></td>
<td data-valign="top">[Int](#int)!</td>
<td></td>
</tr>
</tbody>
</table>


## CollectAggregate

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>orderBy</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>includeNull</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
</tbody>
</table>


## ConcatAggregate

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sep</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>orderBy</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td></td>
</tr>
</tbody>
</table>


## Expression

[expression API](https://ibis-project.org/reference/#expression-api)

<table>
<colgroup>
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column name(s)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>value</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>JSON scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>scalar</strong></td>
<td data-valign="top">[Scalars](#scalars)</td>
<td><p>typed scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>eq</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>==</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ne</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>!=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lt</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p><</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>le</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p><=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>gt</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ge</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>>=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>isin</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Check whether this expression is in <code>values</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>notin</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Check whether this expression is not in <code>values</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>inv</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>~</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>and</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>&</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>or</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><div class="line-block"></div></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>xor</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>^</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>add</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><ul>
<li></li>
</ul></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sub</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><ul>
<li></li>
</ul></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mul</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><ul>
<li></li>
</ul></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>div</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>/</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>coalesce</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return the first non-null value from <code>args</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cummax</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the cumulative max over a window.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cummin</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the cumulative min over a window.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ifelse</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Construct a ternary conditional expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>array</strong></td>
<td data-valign="top">[Arrays](#arrays)</td>
<td><p>array value functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>numeric</strong></td>
<td data-valign="top">[Numeric](#numeric)</td>
<td><p>numeric functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>string</strong></td>
<td data-valign="top">[Strings](#strings)</td>
<td><p>string functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>temporal</strong></td>
<td data-valign="top">[Temporal](#temporal)</td>
<td><p>temporal functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>window</strong></td>
<td data-valign="top">[Window](#window)</td>
<td><p>window functions</p></td>
</tr>
</tbody>
</table>


## Field

a schema field

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## FloatFilter

predicates for scalars

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>eq</strong></td>
<td data-valign="top">[[Float](#float)!]</td>
<td><p>== or <code>isin</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ne</strong></td>
<td data-valign="top">[[Float](#float)!]</td>
<td><p>!= or <code>notin</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lt</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p><</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>le</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p><=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>gt</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ge</strong></td>
<td data-valign="top">[Float](#float)</td>
<td><p>>=</p></td>
</tr>
</tbody>
</table>


## IntFilter

predicates for scalars

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>eq</strong></td>
<td data-valign="top">[[Int](#int)!]</td>
<td><p>== or <code>isin</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ne</strong></td>
<td data-valign="top">[[Int](#int)!]</td>
<td><p>!= or <code>notin</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lt</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p><</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>le</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p><=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>gt</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ge</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>>=</p></td>
</tr>
</tbody>
</table>


## Numeric

numeric [expressions](https://ibis-project.org/reference/expression-numeric)

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>abs</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the absolute value of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>acos</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the arc cosine of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>asin</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the arc sine of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>atan</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the arc tangent of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>atan2</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Compute the two-argument version of arc tangent.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ceil</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the ceiling of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cos</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the cosine of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>exp</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute \(e^\texttt{self}\).</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>floor</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the floor of an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>isinf</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return whether the value is +/-inf. Does NOT detect <code>NULL</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>isnan</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return whether the value is NaN. Does NOT detect <code>NULL</code> and <code>inf</code> values.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>log</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Compute \(\log_{\texttt{base}}\left(\texttt{self}\right)\).</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>negate</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Negate a numeric expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>round</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Round values to an indicated number of decimal places.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sign</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the sign of the input.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sin</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the sine of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sqrt</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the square root of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>tan</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the tangent of <code>self</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>bucket</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute a discrete binning of a numeric array.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cummean</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the cumulative mean of the input.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cumsum</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the cumulative sum of the input.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>buckets</strong></td>
<td data-valign="top">[[JSON](#json)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>closed</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>closeExtreme</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>includeUnder</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>includeOver</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
</tbody>
</table>


## OrderAggregate

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>orderBy</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>includeNull</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
</tbody>
</table>


## Projection

an `Expression` with an optional alias

<table>
<colgroup>
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column name(s)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>value</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>JSON scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>scalar</strong></td>
<td data-valign="top">[Scalars](#scalars)</td>
<td><p>typed scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>eq</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>==</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ne</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>!=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lt</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p><</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>le</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p><=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>gt</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ge</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>>=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>isin</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Check whether this expression is in <code>values</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>notin</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Check whether this expression is not in <code>values</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>inv</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>~</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>and</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>&</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>or</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><div class="line-block"></div></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>xor</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>^</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>add</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><ul>
<li></li>
</ul></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sub</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><ul>
<li></li>
</ul></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mul</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><ul>
<li></li>
</ul></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>div</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>/</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>coalesce</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return the first non-null value from <code>args</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cummax</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the cumulative max over a window.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cummin</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the cumulative min over a window.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ifelse</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Construct a ternary conditional expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>array</strong></td>
<td data-valign="top">[Arrays](#arrays)</td>
<td><p>array value functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>numeric</strong></td>
<td data-valign="top">[Numeric](#numeric)</td>
<td><p>numeric functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>string</strong></td>
<td data-valign="top">[Strings](#strings)</td>
<td><p>string functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>temporal</strong></td>
<td data-valign="top">[Temporal](#temporal)</td>
<td><p>temporal functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>window</strong></td>
<td data-valign="top">[Window](#window)</td>
<td><p>window functions</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>name of projected column</p></td>
</tr>
</tbody>
</table>


## QuantileAggregate

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>approx</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>q</strong></td>
<td data-valign="top">[Float](#float)!</td>
<td></td>
</tr>
</tbody>
</table>


## Scalars

typed scalars

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>base64</strong></td>
<td data-valign="top">[Base64](#base64)</td>
<td><p>binary scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>date</strong></td>
<td data-valign="top">[Date](#date)</td>
<td><p>date scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>datetime</strong></td>
<td data-valign="top">[DateTime](#datetime)</td>
<td><p>datetime scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>decimal</strong></td>
<td data-valign="top">[Decimal](#decimal)</td>
<td><p>decimal scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>duration</strong></td>
<td data-valign="top">[Duration](#duration)</td>
<td><p>duration scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>time</strong></td>
<td data-valign="top">[Time](#time)</td>
<td><p>time scalar</p></td>
</tr>
</tbody>
</table>


## StrFilter

predicates for scalars

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>eq</strong></td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>== or <code>isin</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ne</strong></td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>!= or <code>notin</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lt</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p><</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>le</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p><=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>gt</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p>></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ge</strong></td>
<td data-valign="top">[String](#string)</td>
<td><p>>=</p></td>
</tr>
</tbody>
</table>


## Strings

string [expressions](https://ibis-project.org/reference/expression-strings)

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>capitalize</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Uppercase the first letter, lowercase the rest.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>contains</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return whether the expression contains <code>substr</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>endswith</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Determine if <code>self</code> ends with <code>end</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>find</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return the position of the first occurrence of substring.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>length</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the length of a string.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lower</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Convert string to all lowercase.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lpad</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Pad <code>arg</code> by truncating on the right or padding on the left.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lstrip</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Remove whitespace from the left side of string.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>reExtract</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return the specified match at <code>index</code> from a regex <code>pattern</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>reSearch</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Return whether <code>self</code> contains the regex <code>pattern</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>reSplit</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Split a string by a regular expression <code>pattern</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>replace</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Replace each exact match of <code>pattern</code> with <code>replacement</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>reverse</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Reverse the characters of a string.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>rpad</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Pad <code>self</code> by truncating or padding on the right.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>rstrip</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Remove whitespace from the right side of string.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>split</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Split as string on <code>delimiter</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>startswith</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Determine whether <code>self</code> starts with <code>start</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>strip</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Remove whitespace from left and right sides of a string.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>upper</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Convert string to all uppercase.</p></td>
</tr>
</tbody>
</table>


## Temporal

temporal [expressions](https://ibis-project.org/reference/expression-temporal)

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>date</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the date component of the expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>day</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the day component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dayOfYear</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the day of the year component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>delta</strong></td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>Compute the number of <code>part</code>s between two timestamps.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>epochSeconds</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract UNIX epoch in seconds.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>hour</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the hour component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>microsecond</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the microsecond component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>millisecond</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the millisecond component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>minute</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the minute component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>month</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the month component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>quarter</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the quarter component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>second</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the second component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>strftime</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Format a timestamp according to <code>format_str</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>time</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the time component of the expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>truncate</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Truncate timestamp expression to units of <code>unit</code>.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>weekOfYear</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the week of the year component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>year</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Extract the year component.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>formatStr</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>unit</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## UniqueAggregate

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>approx</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
</tbody>
</table>


## VarAggregate

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>name</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>alias</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>output column name</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>where</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>how</strong></td>
<td data-valign="top">[String](#string)!</td>
<td></td>
</tr>
</tbody>
</table>


## Window

window [expressions](https://ibis-project.org/reference/expression-tables.html#ibis.window)

<table>
<thead>
<tr>
<th colspan="2" style="text-align: left;">Field</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>over</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>partition column names</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>by</strong></td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>order column names within each partition</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lag</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the row located at <code>offset</code> rows <strong>before</strong> the current row.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lead</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the row located at <code>offset</code> rows <strong>after</strong> the current row.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>eq</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>pairwise ==</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ne</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>pairwise !=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>lt</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>pairwise <</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>le</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>pairwise <=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>gt</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>pairwise ></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ge</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>pairwise >=</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sub</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>pairwise -</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sum</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the sum of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>mean</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the mean of a numeric column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>min</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the minimum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>max</strong></td>
<td data-valign="top">[Expression](#expression)</td>
<td><p>Return the maximum of a column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>rowNumber</strong></td>
<td data-valign="top">[Void](#void)</td>
<td><p>Return an analytic function expression for the current row number.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>rank</strong></td>
<td data-valign="top">[Void](#void)</td>
<td><p>Compute position of first element within each equal-value group in sorted order.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>denseRank</strong></td>
<td data-valign="top">[Void](#void)</td>
<td><p>Position of first element within each group of equal values.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>percentRank</strong></td>
<td data-valign="top">[Void](#void)</td>
<td><p>Return the relative rank of the values in the column.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cumeDist</strong></td>
<td data-valign="top">[Void](#void)</td>
<td><p>Return the cumulative distribution over a window.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>ntile</strong></td>
<td data-valign="top">[Int](#int)!</td>
<td><p>Return the integer number of a partitioning of the column values.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>preceding</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>number of preceding rows in the window</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>following</strong></td>
<td data-valign="top">[Int](#int)</td>
<td><p>number of following rows in the window</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>range</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>aggregate rows based upon differences in the order by values</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>offset</strong></td>
<td data-valign="top">[Int](#int)!</td>
<td><p>offset for lag and lead</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>default</strong></td>
<td data-valign="top">[JSON](#json)</td>
<td><p>default JSON scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>scalar</strong></td>
<td data-valign="top">[Scalars](#scalars)</td>
<td><p>default typed scalar</p></td>
</tr>
</tbody>
</table>


# Scalars


## Base64

Represents binary data as Base64-encoded strings, using the standard alphabet.


## BigInt

64-bit int


## Boolean

The `Boolean` scalar type represents `true` or `false`.


## Date

Date (isoformat)


## DateTime

Date with time (isoformat)


## Decimal

Decimal (fixed-point)


## Duration

Duration (isoformat)


## Float

The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](https://en.wikipedia.org/wiki/IEEE_floating_point).


## Int

The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.


## JSON

The `JSON` scalar type represents JSON values as specified by [ECMA-404](https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf).


## String

The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.


## Time

Time (isoformat)


## Void

Represents NULL values


# Interfaces


## Column

ibis column interface

<table>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>nunique</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>Compute the number of distinct rows in an expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">approx</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td></td>
</tr>
</tbody>
</table>

**Possible Types:** [ArrayColumn](#arraycolumn), [Base64Column](#base64column), [BigIntColumn](#bigintcolumn), [BooleanColumn](#booleancolumn), [DateColumn](#datecolumn), [DatetimeColumn](#datetimecolumn), [DecimalColumn](#decimalcolumn), [DurationColumn](#durationcolumn), [FloatColumn](#floatcolumn), [IntColumn](#intcolumn), [JSONColumn](#jsoncolumn), [StringColumn](#stringcolumn), [TimeColumn](#timecolumn)


## Dataset

ibis `Table` or arrow [Dataset](../reference/Dataset.md#graphique.Dataset)

<table>
<colgroup>
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
<col style="width: 25%" />
</colgroup>
<thead>
<tr>
<th style="text-align: left;">Field</th>
<th style="text-align: right;">Argument</th>
<th style="text-align: left;">Type</th>
<th style="text-align: left;">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" data-valign="top"><strong>toSql</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[Compile to](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.to_sql) a formatted SQL string.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">dialect</td>
<td data-valign="top">[String](#string)</td>
<td><p>output SQL dialect; defaults to the backend's native dialect</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">pretty</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>whether to use pretty formatting</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>type</strong></td>
<td data-valign="top">[String](#string)!</td>
<td><p>[ibis table](https://ibis-project.org/reference/expression-table) or [arrow dataset](https://arrow.apache.org/docs/python/api/dataset.html)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>schema</strong></td>
<td data-valign="top">[Schema](#schema)!</td>
<td><p>[table schema](https://ibis-project.org/reference/schemas#ibis.expr.schema.Schema)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>cast</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Cast](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.cast) the columns of a table.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">schema</td>
<td data-valign="top">[[Field](#field)!]!</td>
<td><p>field names and types</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">try</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>return null if cast fails</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>optional</strong></td>
<td data-valign="top">[Dataset](#dataset)</td>
<td><p>Nullable field to stop error propagation, enabling partial query results.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>count</strong></td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>[Count](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.count) the number of rows.</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>any</strong></td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>Whether there are at least <code>limit</code> rows.</p>
<p>May be significantly faster than <code>count</code> for out-of-core data.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">limit</td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>column</strong></td>
<td data-valign="top">[Column](#column)</td>
<td><p>Column of any type by name.</p>
<p>If the column is in the schema, [columns](../reference/Dataset.md#graphique.Dataset.columns) can be used instead.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">name</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column name(s); multiple names access nested struct fields</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">cast</td>
<td data-valign="top">[String](#string)!</td>
<td><p>cast expression to indicated [data type](https://ibis-project.org/reference/datatypes)</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">try</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>return null if cast fails</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">index</td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td><p>column index(es); may access array offsets</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>slice</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Limit](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.limit) row selection.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">offset</td>
<td data-valign="top">[BigInt](#bigint)!</td>
<td><p>number of rows to skip; negative value skips from the end</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">limit</td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>maximum number of rows to return</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>distinct</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Remove duplicate](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.distinct) rows from table.</p>
<p>Differs from [group](../reference/Dataset.md#graphique.Dataset.group) by keeping all columns, and defaulting to all keys.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">on</td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>column names to deduplicate on; defaults to all</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keep</td>
<td data-valign="top">[String](#string)</td>
<td><p>which duplicates to keep</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">counts</td>
<td data-valign="top">[String](#string)!</td>
<td><p>[value counts](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.value_counts); incompatible with <code>keep: null</code></p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include and order by first row number; incompatible with <code>on: null</code></p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>group</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Group](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.group_by) table by columns.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; empty will aggregate into a single row table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">counts</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include counts in an aliased column</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include and order by first row number</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">aggregate</td>
<td data-valign="top">[Aggregates](#aggregates)!</td>
<td><p>aggregation functions applied to other columns</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>order</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Sort](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.order_by) table by columns.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; prefix with <code>-</code> for descending order</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">limit</td>
<td data-valign="top">[BigInt](#bigint)</td>
<td><p>maximum number of rows to return; optimized for partitioned dataset keys</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">over</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; <code>limit</code> applies separately over each grouping window</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>first</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>Provisionally sort and filter by rank.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; prefix with <code>-</code> for descending order</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rank</td>
<td data-valign="top">[Int](#int)!</td>
<td><p>maximum rank of rows to return; optimized for partitioned dataset keys</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">dense</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use dense rank (all ties) or sparse rank (only ties at the boundary)</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">over</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names; <code>rank</code> applies separately over each grouping window</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>unnest</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Unnest](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.unnest) an array column from a table.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">name</td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">offset</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include index column</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keepEmpty</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>keep empty array values as null</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include and order by row number; optionally by <code>offset</code> too</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>unpack</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Unpack](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.unpack) the struct fields of each column.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">names</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>join</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Join](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.join) two tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">right</td>
<td data-valign="top">[String](#string)!</td>
<td><p>name of right table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rkeys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the right side; defaults to left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td><p>the kind of join: 'inner', 'left', 'outer', 'semi', …</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">lname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to use to rename overlapping columns in the left table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to use to rename overlapping columns in the right table</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>asofJoin</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[As-of join](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.asof_join) on nearest key rather than equal keys.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">right</td>
<td data-valign="top">[String](#string)!</td>
<td><p>name of right table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">on</td>
<td data-valign="top">[String](#string)!</td>
<td><p>column name for closest-match inequality (e.g. timestamp)</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">keys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rkeys</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names used as keys on the right side; defaults to left side</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">tolerance</td>
<td data-valign="top">[JSON](#json)</td>
<td><p>optional look-back window for the as-of match</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">scalar</td>
<td data-valign="top">[Scalars](#scalars)!</td>
<td><p>typed scalar for `tolerance</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">lname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the left table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the right table</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>crossJoin</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Cross join](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.cross_join) with one or more tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">right</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of right table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">lname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the left table</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">rname</td>
<td data-valign="top">[String](#string)!</td>
<td><p>format string to rename overlapping columns in the right table</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>difference</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Set difference](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.difference) of tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">table</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of other table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">distinct</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use set difference (true) or multiset difference (false)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>intersect</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Set intersection](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.intersect) of tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">table</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of other table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">distinct</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use set difference (true) or multiset difference (false)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>union</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Set union](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.union) of tables.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">table</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>name(s) of other table; must be on root Query type</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">distinct</td>
<td data-valign="top">[Boolean](#boolean)!</td>
<td><p>use set difference (true) or multiset difference (false)</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>take</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Take](https://arrow.apache.org/docs/python/generated/pyarrow.dataset.Dataset.html#pyarrow.dataset.Dataset.take) rows by index.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">indices</td>
<td data-valign="top">[[BigInt](#bigint)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>dropNull</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Drop](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.drop_null) rows with null values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">subset</td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>columns names; defaults to all</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">how</td>
<td data-valign="top">[String](#string)!</td>
<td><p>remove if [any](../reference/Dataset.md#graphique.Dataset.any) or <code>all</code> are null</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>fillNull</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Fill null](https://ibis-project.org/reference/expression-tables.html#ibis.expr.types.relations.Table.fill_null) values.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">name</td>
<td data-valign="top">[[String](#string)!]</td>
<td><p>column name(s); defaults to all</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">value</td>
<td data-valign="top">[JSON](#json)</td>
<td><p>JSON scalar</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">scalar</td>
<td data-valign="top">[Scalars](#scalars)!</td>
<td><p>typed scalar</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>project</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Mutate](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.mutate) columns by expressions.</p>
<p>Renamed to not be confused with a mutation.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">columns</td>
<td data-valign="top">[[Projection](#projection)!]!</td>
<td></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>runs</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>Provisionally group table by adjacent values in columns.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">by</td>
<td data-valign="top">[[String](#string)!]!</td>
<td><p>column names to compare by equality</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">split</td>
<td data-valign="top">[[Expression](#expression)!]!</td>
<td><p>boolean column expressions to split on true values</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">counts</td>
<td data-valign="top">[String](#string)!</td>
<td><p>optionally include counts in an aliased column</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">order</td>
<td data-valign="top">[String](#string)!</td>
<td><p>alias of row number to maintain order</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">aggregate</td>
<td data-valign="top">[Aggregates](#aggregates)!</td>
<td><p>aggregation functions applied to other columns</p></td>
</tr>
<tr>
<td colspan="2" data-valign="top"><strong>sql</strong></td>
<td data-valign="top">[Dataset](#dataset)!</td>
<td><p>[Run a SQL](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.sql) query against a table expression.</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">query</td>
<td data-valign="top">[String](#string)!</td>
<td><p>SQL query string</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">alias</td>
<td data-valign="top">[String](#string)!</td>
<td><p>[alias](https://ibis-project.org/reference/expression-tables#ibis.expr.types.relations.Table.alias) of the table expression referenced in the query</p></td>
</tr>
<tr>
<td colspan="2" style="text-align: right;" data-valign="top">dialect</td>
<td data-valign="top">[String](#string)</td>
<td><p>input SQL dialect; defaults to the backend's native dialect</p></td>
</tr>
</tbody>
</table>

**Possible Types:** [Table](#table)
