Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
|
calculate_lookup_table_values [2026/07/15 01:19] hermann |
calculate_lookup_table_values [2026/08/28 03:14] (current) hermann Sync from local documentation review |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ===== Description ===== | ===== Description ===== | ||
| - | Generates a new lookup table by evaluating an expression **once per row** of a base lookup table. The keys of the output table are inherited from the base table; the values are computed by the expression. | + | Generates a new lookup table by evaluating an expression once per row of a base lookup table. The keys of the output table are inherited unchanged from the base table; only the values are computed by the expression. |
| - | This functor is one of five in the [[calculate_functors|calculator family]]. Use it when you need to recompute the values of an existing lookup table row by row, keeping the same key structure. If you also need to recompute the keys, use [[Calculate Lookup Table Keys And Values]] instead. | + | This is one of Dinamica EGO's five calculator functors. Use it to recompute the values of an existing lookup table row by row while keeping the same key structure; use [[Calculate Lookup Table Keys And Values]] instead when the keys also need to be recomputed. Its abbreviated (shorthand) syntax is ''%''. See [[ego_script#calculator_functor_shorthand|Calculator functor shorthand]] in the EGO Script documentation for the verbose and abbreviated forms, and [[Calculate Functors|Calculate Functors — Complete Operator Documentation]] for the full expression language reference. |
| - | + | ||
| - | The **abbreviated syntax** (also called **shorthand**) for this functor is ''%''. See [[ego_script#calculator_functor_shorthand|Calculator functor shorthand]] in the EGO Script documentation for the full syntax of both the verbose and abbreviated forms, and [[calculate_functors|Calculate Functors — Complete Operator Documentation]] for the complete expression language reference. | + | |
| ===== Inputs ===== | ===== Inputs ===== | ||
| - | ^ Name ^ Type ^ Description ^ | + | ^ Name ^ Type ^ Description ^ |
| - | | Value Column Expression | [[Image Expression Type]] | The formula evaluated for each row. The result becomes the value for that row's key in the output table. Must be enclosed in square brackets ''[ ]'' in EGO Script. | | + | | Value Column Expression | [[Image Expression Type]] | Expression evaluated once per row of Base Lookup Table; its result becomes that row's value in the output table. Must be enclosed in square brackets ''[ ]'' in EGO Script. | |
| ===== Optional Inputs ===== | ===== Optional Inputs ===== | ||
| - | ^ Name ^ Type ^ Default ^ Description ^ | + | ^ Name ^ Type ^ Description ^ Default Value ^ |
| - | | 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. | | + | | Key Column Name | [[Name Type]] | Name of the key column in the resulting lookup table. If omitted, the corresponding name from the table used as format is used. | .none | |
| - | | 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. | | + | | Value Column Name | [[Name Type]] | Name of the value column in the resulting lookup table. If omitted, the corresponding name from the table used as format is used. | .none | |
| - | | Base Lookup Table | [[Lookup Table Type]] | None | The lookup table whose key 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. | | + | | Base Lookup Table | [[Lookup Table Type]] | Lookup table whose key set drives iteration. When not provided, the [[Number Table]] hook with the lowest list index that is connected to a lookup table (rather than a regular table) is used as the row source in the verbose form, or the first lookup table referenced by name in the expression in the 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 the abbreviated syntax available. | .none | |
| - | ===== Output ===== | + | ===== Outputs ===== |
| - | ^ Name ^ Type ^ Description ^ | + | ^ Name ^ Type ^ Description ^ |
| - | | Result | [[Lookup Table Type]] | A lookup table with keys from the base table and values computed by the expression. | | + | | Result | [[Lookup Table Type]] | Lookup table with keys from Base Lookup Table and values computed by Value Column Expression. | |
| ===== Group ===== | ===== Group ===== | ||
| - | [[Functor List#Table | Table]] | + | [[Functor List#Lookup Table | Lookup Table]] |
| ===== Notes ===== | ===== Notes ===== | ||
| Line 34: | Line 32: | ||
| ==== Connecting data inputs ==== | ==== Connecting data inputs ==== | ||
| - | Tables, lookup tables, and scalar values referenced in the expression must be connected to the functor's ports before writing the expression, using **hook** functors: | + | Tables, lookup tables, and scalar values referenced in the expression must be connected to the functor's ports before writing the expression, using hook functors: |
| - | * Tables and lookup tables → [[Number Table]] → referenced in the expression as ''t1'', ''t2'', …, ''t100'' | + | * Tables and lookup tables → [[Number Table]] → referenced in the expression as t1, t2, …, t100 |
| - | * Scalar values → [[Number Value]] → referenced as ''v1'', ''v2'', …, ''v100'' | + | * Scalar values → [[Number Value]] → referenced as v1, v2, …, v100 |
| 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''. | 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''. | ||
| Line 45: | Line 43: | ||
| The expression is evaluated once per row of the base lookup table. Two keywords reflect the current row inside the expression: | The expression is evaluated once per row of the base lookup table. Two keywords reflect the current row inside the expression: | ||
| - | * ''line'' — the **key** of the current row | + | * line — the key of the current row |
| - | * ''column'' — the **value already associated with that key** in the base lookup table | + | * column — the value already associated with that key in the base lookup table |
| - | This allows the expression to read the row's existing value directly via ''column'', and to look up related values from other connected tables using the current row's key — for example, ''t1[line]'' retrieves the value from table ''t1'' whose key matches the current row. | + | This allows the expression to read the row's existing value directly via column, and to look up related values from other connected tables using the current row's key — for example, t1[line] retrieves the value from table t1 whose key matches the current row. |
| ==== Available expression features ==== | ==== Available expression features ==== | ||
| - | Image operators (''iX''), neighbourhood functions, neighbourhood indexing, and convolution are not available — there is no spatial grid. Available features are 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. See [[calculate_functors#the_expression_language|The Expression Language]] for the complete reference, or [[Image Expression Type]] for the navigable operator index. | + | Image operators (''iX''), neighbourhood functions, neighbourhood indexing, and convolution are not available — there is no spatial grid. Available features are 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. See [[Calculate Functors#The Expression Language|The Expression Language]] for the complete reference, or [[Image Expression Type]] for the navigable operator index. |
| ==== Null value handling ==== | ==== Null value handling ==== | ||
| - | Null propagation rules and defensive patterns are covered in [[calculate_functors#null_value_handling|Null Value Handling]] in the Calculate Functors documentation. | + | Null propagation rules and defensive patterns are covered in [[Calculate Functors#Null Value Handling|Null Value Handling]] in the Calculate Functors documentation. |
| ===== Internal Name ===== | ===== Internal Name ===== | ||
| - | ''CalculateLookupTableValues'' | + | CalculateLookupTableValues |