Calculate Lookup Table Keys And Values
Description
Generates a new lookup table by evaluating two separate expressions once per row of a base lookup table — one expression for the output key and one for the output value. This allows complete transformation of a table's key-value structure, or construction of an entirely new lookup table row by row.
This functor is one of five in the calculator family. Use it when you need to recompute both the keys and the values of a lookup table. If only the values need to be recomputed and the keys should be inherited from the base table, use Calculate Lookup Table Values instead.
The abbreviated syntax (also called shorthand) for this functor is %%. See Calculator functor shorthand in the EGO Script documentation for the full syntax of both the verbose and abbreviated forms, and Calculate Functors — Complete Operator Documentation for the complete expression language reference.
Inputs
| Name | Type | Description |
|---|---|---|
| Key Column Expression | Image Expression Type | The formula evaluated for each row to produce the output key. Must be enclosed in square brackets [ ] in EGO Script. |
| Value Column Expression | Image Expression Type | The formula evaluated for each row to produce the output value. Must be enclosed in square brackets [ ] in EGO Script. |
Optional Inputs
| Name | Type | Default | Description |
|---|---|---|---|
| Key Column Name | Name Type | None | Name of the key column in the output lookup table. If omitted, the corresponding name from the base table is used. |
| Value Column Name | Name Type | None | Name of the value column in the output lookup table. If omitted, the corresponding name from the base table is used. |
| Base Lookup Table | Lookup Table Type | None | The lookup table whose row set drives iteration. When not provided, the Number Table hook with the lowest list index that is connected to a lookup table (not a regular table) is used as the row source (verbose form), or the first lookup table referenced by name in the expression (abbreviated form) — not a union of all connected tables. Prefer this port over a Number Table hook when the table is needed only to define the row set and is not referenced in the expression, to keep abbreviated syntax available. |
Output
| Name | Type | Description |
|---|---|---|
| Result | Lookup Table Type | A lookup table with both keys and values computed by the respective expressions. |
Group
Notes
Connecting data inputs
Tables, lookup tables, and scalar values referenced in either expression must be connected to the functor's ports before writing the expressions, using hook functors:
Maps cannot be connected — there is no cell context in this functor. In the abbreviated syntax, tables are referenced as %variableName and values as $variableName. Both expressions share the same set of connected operands.
Row iteration context
Both expressions are evaluated once per row of the base lookup table. Two keywords reflect the current row inside each expression:
line— the key of the current rowcolumn— the value already associated with that key in the base lookup table
If the key expression produces a key that already exists in the output table, the newly computed value replaces the existing one.
Available expression features
Identical to Calculate Lookup Table Values: arithmetic and logical operators, scalar references (vX), table and lookup table queries (tX[…]) in all single-key and multi-column forms, and the line and column row-context keywords are available. Image operators (iX), neighbourhood functions, neighbourhood indexing, and convolution are not available. See The Expression Language for the complete reference, or Image Expression Type for the navigable operator index.
Null value handling
Null propagation rules and defensive patterns are covered in Null Value Handling in the Calculate Functors documentation.
Internal Name
CalculateLookupTableKeysAndValues