Get Table From Key

Description

Retrieves the sub-table corresponding to a given chain of keys from an input table.

Inputs

Name	Type	Description
Table	Table Type	The input table.
Keys	Tuple Type	Chain of keys, starting from the first key column, identifying the sub-table that will be retrieved.

Optional Inputs

None.

Outputs

Name	Type	Description
Result	Table Type	The resulting sub-table.

Group

Table

Notes

Keys is matched against the table's key columns starting from the leftmost one; a tuple with fewer elements than the table's key columns retrieves the sub-table formed by all rows sharing that key prefix, keeping only the remaining (unmatched) key columns.

Example 1:

Given the table below

Key1*	Key2*	Key3*	Value1	Value2	Value3
1	“a”	11	12	“bbbb”	23
1	“b”	22	12	“cccc”	23
2	“a”	11	12	“bbbb”	14
2	“a”	22	12	“aaaa”	23
2	“d”	22	12	“dddd”	12

retrieving the sub-table for the key tuple <2, “a”> (Key1=2, Key2=“a”) results in

Key3*	Value1	Value2	Value3
11	12	“bbbb”	14
22	12	“aaaa”	23

Example 2:

Retrieving the sub-table for the key tuple <2> (Key1=2 only) from the same table results in

Key2*	Key3*	Value1	Value2	Value3
“a”	11	12	“bbbb”	14
“a”	22	12	“aaaa”	23
“d”	22	12	“dddd”	12

It is not possible to retrieve a sub-table indexed by keys taken from arbitrary key columns — only a prefix of the leftmost key columns can be used this way. To index by a different key column, first bring it to the front with Reorder Table Column.

This functor reports an error if the resulting sub-table would have no key columns left, or if the given chain of keys is not present in the input table.

This functor also reports an error if Table is a lookup table, or a table with fewer than two key columns.

Internal Name

GetTableFromKey

Usage examples

See practical examples of this functor in Lesson 7: Creating a new column and retrieving a data column from tables