By default, no key and no aggregation yet
Optionalrest: JsonObjectReadonlycolumnsThe key columns, as listed; validation checks them against the input
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
Whether edits may change which nodes feed this one. Not for a node whose port semantics are unknown, such as an Unknown node.
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 users typed, which may be sensitive, for logs and telemetry. By default the description, which has none.
Whether the node has none of the settings it needs yet, e.g. a Join with no key pair: the canvas shows it as not set, not by its description
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 keys first: none twice, then each checked (validateGroupColumn),
every key reported; no key at all is a group of all the rows. Then some
aggregations, each checked (validateColumnAggregation), every one
reported. The engine fails on a duplicate name with no location, so Cube
refuses one first.
Optionalerrors: string[]A new group with the same id, and these aggregations
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.
Gives one row per value of its key columns, with each aggregation of the rows of that group (spec §7.2), or with no key one row for all the rows. The keys keep the order they are listed in, which the engine follows; no row order is kept, so no sort is written before a group (PLAN §11.5).