Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lesson_7 [2019/08/13 16:58]
argemiro
lesson_7 [2020/02/19 16:44]
argemiro
Line 1: Line 1:
-=====LESSON 7: Calculating ​lookup table using algebraic/​logical expression involving tables ​and values=====  ​+{{ :​logo_logo.png?​400 |}} 
 +\\ 
 +\\ 
 +====LESSON 7: Creating ​new column ​and retrieving a data column from tables==== 
 +\\ 
 +  * To create a new column in a given table we must open all the files that will be used to retrieve data from. Click on the Input/​Output tab from the library window and grab three [[Load Lookup Table]] Functors and one [[Load Table]] placing them on the sketch. Open the [[Load Lookup Table]] functors and load the files ''​1999_production_value.csv'',​ ''​1999_harvested_area.csv''​ and ''​1999_production.csv''​ from the folder ''​Guidebook_Dinamica_5\Database\Tables\''​. Next, open [[Load Table]] and load ''​IBGE_crop_information_uptated.csv''​. 
 +\\ 
 +\\ 
 +{{ :​imagem43.png?​200 |}} 
 +\\ 
 +\\ 
 +  * Now we can create a new column merge between the ''​1999_harvested_area.csv''​ and ''​1999_production.csv''​ files. On the Input/​Output tab, grab an [[Add Table Column]] and place it on the sketch. Connect the [[Load Lookup Table]] which contains the file ''​1999_harvested_area.csv''​ to [[Add Table Column]], selecting __Table__ as an input port. On the Functor Editor window, write a name for the created column (e.g. “production_value”).  
 +\\ 
 +\\ 
 +<note important>​ 
 +The position where the new column is inserted determines whether the new column is a key or data column. 
 +</​note>​ 
 +\\ 
 +\\ 
 +{{ :​imagem44.png?​500 |}} 
 +\\ 
 +\\ 
 +  * Connect the [[Load Lookup Table]] which contains the file ''​1999_production.csv''​ to [[Add Table Column]], the __Column Values__ port will be automatically assigned as an input port. 
 +\\ 
 +  * Add another [[Add Table Column]] to the sketch, assign the output of the previous [[Add Table Column]] to the __Table__ input port of the recently added functor. Connect the [[Load Lookup Table]] with ''​1999_production_value.csv''​ to the new [[Add Table Column]]. In the Functor Editor window, choose a name for the created column (e.g. "​production"​).  
 +\\ 
 +  * Add a [[Set Table By Key]] to the sketch, assign the output of [[Add Table Column]] to the __Subtable__ input port of [[Set Table By Key]] and the [[Load Table]] with ''​IBGE_crop_information_uptated.csv''​ to the __Table__ port. In the Functor Editor window, enter ''​1999''​ as the key identifying the sub-table that will be updated or inserted. Additionally,​ toggle the __Ignore Column Names__ flag in the Functor Editor Window. 
 +\\ 
 +  * To save the result to a file, place a [[Save Table]] on the sketch, browse to ''​\Guidebook_Dinamica_5\Models\add_table_column_set_table_by_key''​ and write the file name (e.g. ''​IBGE_crop_information_complete''​).  
 +\\ 
 +  * Click on the layout tool Execute Layout. Your final model should be similar to the one below:  
 +\\  
 +\\ 
 +{{ :​imagem45.png?​500 |}} 
 +\\ 
 +\\ 
 +  * Save and run the model. Select the [[Save Table]] functor and click on the eye button to open the resulting table. 
 +\\ 
 +\\ 
 +{{ :​imagem46.png?​500 |}} 
 +\\ 
 +\\
  
 +----
 +
 +Using the table generated previously, we would like to demonstrate how to retrieve a data column from it.
 +\\
 +\\
 +  * Grab a [[Load Table]], placing it on the sketch. Double click it and open the file generated in last step (e.g. ''​IBGE_crop_information_complete.csv''​).
 +\\
 +\\
 +{{ :​imagem47.png?​500 |}}
 +\\
 +\\
 +  * To retrieve a data column corresponding to the harvested area, we will use [[Get Table Column]]. Connect the [[Load Table]] to [[Get Table Column]]. In the input __Column Index or Name__ of the Functor Editor window, insert the index of the column to be retrieved (“3” or “harvested area”).
 +\\
 +\\
 +{{ :​imagem48.png?​500 |}}
 +\\
 +\\
 +  * Now, we can retrieve the harvested area per crop corresponding to the year of 2004.  For this, grab a [[Get Table from Key]] and place it on the sketch. Connect [[Get Table Column]] to [[Get Table from Key]]. In the input __Keys__ of the Functor Editor window, insert the year you want to retrieve the harvested area per crop (in this example, “2004”).
 +\\
 +\\
 +{{ :​imagem49.png?​500 |}}
 +\\
 +\\
 +  * Grab a [[Save Table]] and place it on the sketch. Connect [[Get Table From Key]] and [[Save Table]]. The final model should have the following structure: ​
 +\\
 +\\
 +{{ :​imagem50.png?​500 |}}
 +\\
 +\\
 +  * To save the result to a file, edit [[Save Table]], browse to ''​\Guidebook_Dinamica_5\Models\add_table_column_set_table_by_key''​ and write the file name (e.g. IBGE_crop_information_update).
 +\\
 +\\
 +{{ :​imagem51.png?​500 |}}
 +\\
 +\\
 +  * Save and run the model. To see the resulting table, click on eye button of [[Save Table]]. This functor output is a table that looks like this:
 +\\
 +\\
 +{{ :​imagem53.png?​300 |}}
 +\\
 +\\
 +==== Congratulations,​ you have successfully completed this lesson! ====
 +\\
 +☞[[:​lesson_8 | Next Lesson]]
 +\\
 +☞[[:​guidebook_start| Back to Guidebook Start]] ​