OpenDX - Documentation
Full Contents QuickStart Guide User's Guide User's Reference
Previous Page Next Page Table of Contents Partial Table of Contents Index Search

Lookup

Category

Transformation

Function

Syntax

output = Lookup(input, table, data, lookup, value, destination, ignore, notFound);

Inputs
Name Type Default Description
input field, string list, value, value list (none) object to lookup
table field, string, value list (dataname lookup) lookup table
data string "data" component of input to lookup
lookup string "positions" component of table in which to look
value string "data" component in table containing lookup results
destination string "lookedup" component of input in which to put result
ignore string list (no default) Properties to ignore in string lookup
notFound value or string (zero or empty string) What to return for data values that were not found.

Outputs
Name Type Description
output field or array field or array with looked-up values

Functional Details

input

field containing the component to use as lookup

table

field containing the lookup table components

data

component in input to use for looking up

lookup

component in table that the data component is to match

value

component in table to use as the looked up result

destination

component of input in which to put the looked up results

ignore

properties to ignore in string lookup. Can be one of "case", "space", "lspace", "rspace", "lrspace", "punctuation". "case" means to ignore the case of the characters, "space" means to ignore all white space (spaces, tabs, ...), "lspace" means to ignore white space on the left side of the string, "rspace" means to ignore white space on the right side of the string, "lrspace" means to ignore white space on both the left and right sides (but not internal white space), and "punctuation" means to ignore all punctuation characters (anything other than alphabetic and numeric characters and white space). ignore can be a list of strings; for example, a commonly used combination is {"space", "case", "punctuation"}.

notFound

value to return when a given lookup value is not found. By default, Lookup returns 0 or "" for any item that is not found in the lookup table. This can be confounding, e.g., when returning "positions" to obtain indices: one cannot distinguish between not found and found in the 0-th position. Specifying notFound provides a means to disambiguate in these cases.

Lookup uses one component to find another by "looking up" the corresponding value in a lookup table. Lookup serves to convert a categorized component back to its original form, or more generally to provide arbitrary associations of unrelated object types. The lookup can occur entirely within the input field when it contains all components necessary to do the lookup, or alternatively the lookup table can be provided as a separate field in table.

If table is an array, Lookup treats it as if it has an implicit "positions" component with values from 0 to n-1, where n is the number of items in the array. Thus if the data component is integer, and lookup is an array of strings, data can be used to lookup a matching value in the implicit positions component and return the string. Alternatively, if data were also a string array, Lookup could lookup a matching value in the table array and return the corresponding implicit position.

Note: The lookup is done using a binary search of the lookup component. If this component is not already sorted, it will be internally sorted in order to perform the lookup. Connections are not used by this module. Since Data Explorer does not support string positions, if lookup is done using a string data type the table input must have a separate float positions component. If the lookup component has duplicate values, the value corresponding to the first one found will be used.

Components

Adds a new component as specified by the destination parameter containing the looked-up values.

Example Visual Programs

Duplicates.net

See Also

Categorize, Map, CategoryStatistics


Full Contents QuickStart Guide User's Guide User's Reference

[ OpenDX Home at IBM | OpenDX.org ]