Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
get_table_from_key [2013/08/06 18:06]
admin created
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 functors retrives ​all elementos ​corresponding to the given set 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 31: Line 35:
 | 2  | "​d" ​ | 22  | 12  | "​dddd" ​ | 12  | | 2  | "​d" ​ | 22  | 12  | "​dddd" ​ | 12  |
  
-retrieving the sub-table corresponding to keys ''<​2,​ "​a">''​+retrieving the sub-table corresponding to the tuple of keys ''<​2,​ "​a">''​, where 2 corresponds to column "​Key1"​ and "​a"​ corresponds to column "​Key2",​
  
 ^ 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  |@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  |
  
-and retriving ​the sub-table corresponding to key ''<​2>''​+**Example 2:** 
 + 
 +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 any column of keys or if the given keys are not present ​in the input tablean error is reported.+It is not possible to retrieve a sub-table ​indexed by keys from arbitrary key columns. For example, ​in the example aboveit 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 =====