Difference between revisions of "Data Mapping"

From Lianjapedia
Jump to: navigation, search
Line 8: Line 8:
 
example_datamapping
 
example_datamapping
  
[[{{ns:file}}:dm_example_datamappingApp.png|376px|thumb|left|link={{filepath:dm_example_datamappingApp.png}}|Example Data Mapping app: example_datamapping]]
+
[[{{ns:file}}:dm_example_datamappingApp.png|376px|thumb|left|link={{filepath:dm_example_datamappingApp.png}}|Example Data Mapping App: example_datamapping]]
 +
 
 +
 
 +
 
 +
The Example Data Mapping App (example_datamapping) illustrates the use of Data Mapping to display a 'mapped' value of a field in a Grid Section cell.  As demonstrated here, where a product's name is displayed, rather than its numeric product ID, it is frequently used to present more user-friendly data pulled from a lookup table.
  
 
<br clear=all>
 
<br clear=all>
  
 
[[{{ns:file}}:dm_choicelist.png|376px|thumb|left|link={{filepath:dm_choicelist.png}}|Choice list]]
 
[[{{ns:file}}:dm_choicelist.png|376px|thumb|left|link={{filepath:dm_choicelist.png}}|Choice list]]
 +
 +
 +
 +
In the southwind!order_details table Grid Section, the users see the product name in place of the product ID that is actually stored in the table.
 +
 +
They can select a product name from the provided choice list and if they make a change, the correct product ID will be written back to the table.
  
 
<br clear=all>
 
<br clear=all>

Revision as of 11:54, 3 February 2015

Under construction

See Also

INDEX, KEYLOOKUP(), SQL SELECT

Example Data Mapping App

example_datamapping

Example Data Mapping App: example_datamapping


The Example Data Mapping App (example_datamapping) illustrates the use of Data Mapping to display a 'mapped' value of a field in a Grid Section cell. As demonstrated here, where a product's name is displayed, rather than its numeric product ID, it is frequently used to present more user-friendly data pulled from a lookup table.


Choice list


In the southwind!order_details table Grid Section, the users see the product name in place of the product ID that is actually stored in the table.

They can select a product name from the provided choice list and if they make a change, the correct product ID will be written back to the table.


Attributes


Choices:

select productname from products order by productname

Both the Get data mapping and the Set data mapping in this example use the KEYLOOKUP() function.

KEYLOOKUP(<workarea | alias | table>, <"indextagname">, <keyExpr>, <valueExpr> [, <notfoundExpr>])

Get data mapping:

keylookup("products", "productid", {}, productname)
Argument Description
"products" The name of the lookup table (in quotes).
Alternatively, the alias name (in quotes) or workarea number (no quotes) can be specified if the lookup table is open.
"productid" The name of the index tag (in quotes) for the lookup table to search. Index tags can be created using the index on command.
{} The key value expression to search for in the index. In this case, we are looking for the numeric value of the order_details.productid field in the current row of the Grid Section, so we can use {}. For a character value, quotes are required "{}".
productname The value expression to return if the key value is found in the index. So, in this case, if the value of the current order_details.productid is found in the products table productid index, the products.productname value will be returned for the corresponding record.
- An optional 'not found' expression can also be specified. If the key value is not found in the index, this will be returned. This should be the same data type as the 'value' expression, e.g. "Product not found" for the character products.productname here.

Set data mapping:

keylookup("products", "productname", "{}", productid)
Argument Description
"products" The name of the lookup table (in quotes).
Alternatively, the alias name (in quotes) or workarea number (no quotes) can be specified if the lookup table is open.
"productname" The name of the index tag (in quotes) for the lookup table to search. Index tags can be created using the index on command.
{} The key value expression to search for in the index. In this case, we are looking for the character value of the mapped cell contents in the current row of the Grid Section, so we can use "{}". For a numeric value, no quotes are required {}.
productid The value expression to return if the key value is found in the index. So, in this case, if the value of the current cell is found in the products table productname index, the products.productid value will be returned for the corresponding record.
- An optional 'not found' expression can also be specified. If the key value is not found in the index, this will be returned. This should be the same data type as the 'value' expression, e.g. 0 for the numeric products.producid here.

Note: Set data mapping is executed when the contents of the cell are updated.