By default, nothing picked yet, counting rows
Optionalrest: JsonObjectReadonlycolumnThe pivot column, '' until picked
ReadonlyidUnique within the query and shown to users, e.g. filter101
ReadonlykeyAssigned at construction from a monotonic sequence: the node's identity for change detection
ReadonlyrestThe keys of the node's saved JSON that this version does not know, kept so a re-save writes them back (PLAN §10.3); edits keep them too
ReadonlyrowsThe row columns, as listed, which make the rows: none gives one row
ReadonlyvaluesThe values that become columns, in the order listed
Whether edits may change which nodes feed this one. Not for a node whose port semantics are unknown, such as an Unknown node.
The output column of each value, in order (getPivotColumnNames)
Whether the node takes rows by their order, as a Limit does: the emitter then writes its input's order as a sort just before it (PLAN §11.4)
Labels for the input ports, shown on the edges that feed them
The named input slots, in order: none for a source, one for a unary transform, two for a binary one
The type discriminator, e.g. filter
A one-line description for the canvas and the details panel
The description without the values, which come from the data
Pivot "YEAR" into 2000, 2011, 2012, the values after the third counted
The order the node's rows come in, from its inputs' orders in port order
(undefined where unknown), for computeRowOrders (PLAN §11.4). By
default no order, as from a source or a join: a node that keeps its
input's order says so, so a new node never claims an order on columns it
may not have.
The row columns as the input has them, in the order listed, then one
column per value, named by it (columnNames), typed as the aggregation is
in a Group (PLAN §5.7): never empty for the counts, which give 0 where no
row has the value; undefined when invalid
In order, stopping at the first part that fails, every problem of that
part reported: the row columns, none twice, each named, in the input and
groupable; the pivot column, picked, in the input, pivotable and no row
column; its values, one to PIVOT_MAX_VALUES, each of its type, none
twice, no two differing only in case (foldColumnName: DuckDB, for one,
gives both the first one's column), each naming a column; then the aggregation, its function and column
as a Group's (Distinct Value refused: the database fails its pivot), the
column neither a row column nor the pivot column.
Optionalerrors: string[]A new pivot with this column; its values, of the column before, are dropped
The node to keep once its two inputs swap ports: by default this node. A node whose settings name its inputs by side, such as a Join's key columns, returns a new node (same id) with those settings swapped too.
Turns the values of a column into columns (PLAN §11.12): one row per combination of the row columns that has a listed value, and one column per listed value, holding the aggregation of that combination's rows with that value. Written with the engine's static
pivot(), which first keeps only the rows with a listed value, so values not listed, and combinations holding only them, are left out. No row order is kept, as in a Group.