Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
get_table_from_key [2013/08/06 18:33] admin [Notes] |
get_table_from_key [2015/10/14 02:56] (current) admin |
||
---|---|---|---|
Line 8: | Line 8: | ||
^ Name ^ Type ^ Description ^ | ^ Name ^ Type ^ Description ^ | ||
- | | Table | [[Table Type|Table]] | The input table. | | + | | Table | [[Table Type]] | The input table. | |
- | | Keys | [[Tuple Type|Tuple]] | Chain of keys identifying the sub-table that will be retrieved. | | + | | Keys | [[Tuple Type]] | Chain of keys identifying the sub-table that will be retrieved. | |
===== Outputs ===== | ===== Outputs ===== | ||
- | ^ Name ^ Type ^ Description ^ | + | ^ Name ^ Type ^ Description ^ |
- | | Result | [[Table Type|Table]] | The resulting sub-table. | | + | | Result | [[Table Type]] | The resulting sub-table. | |
===== Group ===== | ===== Group ===== | ||
Line 22: | Line 22: | ||
===== Notes ===== | ===== Notes ===== | ||
- | This functor retrives all elements corresponding to the given tuple of keys in the input table. For example, given the table below | + | This functor retrieves all elements corresponding to the given tuple of keys in the input table. |
+ | |||
+ | **Example 1:** | ||
+ | |||
+ | Given the table below | ||
^ Key1* ^ Key2* ^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ^ Key1* ^ Key2* ^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ||
Line 36: | Line 40: | ||
| 1 | "a" | 11 | 12 | "bbbb" | 23 | | | 1 | "a" | 11 | 12 | "bbbb" | 23 | | ||
| 1 | "b" | 22 | 12 | "cccc" | 23 | | | 1 | "b" | 22 | 12 | "cccc" | 23 | | ||
- | |@lightgreen: 2 |@lightgreen: "a" |@green: 11 |@green: 12 |@green: "bbbb" |@green: 14 | | + | |@#CCFFCC: 2 |@#CCFFCC: "a" |@#C5D9FF: 11 |@#C5D9FF: 12 |@#C5D9FF: "bbbb" |@#C5D9FF: 14 | |
- | |@lightgreen: 2 |@lightgreen: "a" |@green: 22 |@green: 12 |@green: "aaaa" |@green: 23 | | + | |@#CCFFCC: 2 |@#CCFFCC: "a" |@#C5D9FF: 22 |@#C5D9FF: 12 |@#C5D9FF: "aaaa" |@#C5D9FF: 23 | |
| 2 | "d" | 22 | 12 | "dddd" | 12 | | 2 | "d" | 22 | 12 | "dddd" | 12 | ||
- | yelds | + | results in |
^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ||
- | |@green: 11 |@green: 12 |@green: "bbbb" |@green: 14 | | + | |@#C5D9FF: 11 |@#C5D9FF: 12 |@#C5D9FF: "bbbb" |@#C5D9FF: 14 | |
- | |@green: 22 |@green: 12 |@green: "aaaa" |@green: 23 | | + | |@#C5D9FF: 22 |@#C5D9FF: 12 |@#C5D9FF: "aaaa" |@#C5D9FF: 23 | |
+ | |||
+ | **Example 2:** | ||
- | and retriving the sub-table corresponding to the tuple of keys ''<2>'', where 2 corresponds to column "Key1", | + | Retrieving the sub-table corresponding to the tuple of keys ''<2>'', where 2 corresponds to column "Key1", |
^ Key1* ^ Key2* ^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ^ Key1* ^ Key2* ^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ||
| 1 | "a" | 11 | 12 | "bbbb" | 23 | | | 1 | "a" | 11 | 12 | "bbbb" | 23 | | ||
| 1 | "b" | 22 | 12 | "cccc" | 23 | | | 1 | "b" | 22 | 12 | "cccc" | 23 | | ||
- | |@lightgreen: 2 |@green: "a" |@green: 11 |@green: 12 |@green: "bbbb" |@green: 14 | | + | |@#CCFFCC: 2 |@#C5D9FF: "a" |@#C5D9FF: 11 |@#C5D9FF: 12 |@#C5D9FF: "bbbb" |@#C5D9FF: 14 | |
- | |@lightgreen: 2 |@green: "a" |@green: 22 |@green: 12 |@green: "aaaa" |@green: 23 | | + | |@#CCFFCC: 2 |@#C5D9FF: "a" |@#C5D9FF: 22 |@#C5D9FF: 12 |@#C5D9FF: "aaaa" |@#C5D9FF: 23 | |
- | |@lightgreen: 2 |@green: "d" |@green: 22 |@green: 12 |@green: "dddd" |@green: 12 | | + | |@#CCFFCC: 2 |@#C5D9FF: "d" |@#C5D9FF: 22 |@#C5D9FF: 12 |@#C5D9FF: "dddd" |@#C5D9FF: 12 | |
- | yelds | + | results in |
^ Key2* ^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ^ Key2* ^ Key3* ^ Value1 ^ Value2 ^ Value3 ^ | ||
- | |@green: "a" |@green: 11 |@green: 12 |@green: "bbbb" |@green: 14 | | + | |@#C5D9FF: "a" |@#C5D9FF: 11 |@#C5D9FF: 12 |@#C5D9FF: "bbbb" |@#C5D9FF: 14 | |
- | |@green: "a" |@green: 22 |@green: 12 |@green: "aaaa" |@green: 23 | | + | |@#C5D9FF: "a" |@#C5D9FF: 22 |@#C5D9FF: 12 |@#C5D9FF: "aaaa" |@#C5D9FF: 23 | |
- | |@green: "d" |@green: 22 |@green: 12 |@green: "dddd" |@green: 12 | | + | |@#C5D9FF: "d" |@#C5D9FF: 22 |@#C5D9FF: 12 |@#C5D9FF: "dddd" |@#C5D9FF: 12 | |
If the resulting sub-table does not have at least one column of keys or if the given tuple of keys is not present in the input table, an error is reported. | If the resulting sub-table does not have at least one column of keys or if the given tuple of keys is not present in the input table, an error is reported. | ||
- | It is not possible to retrieve a sub-table indexed by keys from arbitrary key columns. For example, in the example above, it is not possible to retrieve a sub-table corresponding to keys ''<2, 22>'', where 2 corresponds to the first column ("Key1") and 22 corresponds to the third column ("Key3"). To do this, first reorder the key columns using the [[Reorder Table Columns]] functor. | + | It is not possible to retrieve a sub-table indexed by keys from arbitrary key columns. For example, in the example above, it is not possible to retrieve a sub-table corresponding to keys ''<2, 22>'', where 2 corresponds to the first column ("Key1") and 22 corresponds to the third column ("Key3"). To do this, first reorder the key columns using the [[Reorder Table Column]] functor. |
===== Internal Name ===== | ===== Internal Name ===== |