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_8 [2019/08/13 13:49]
argemiro ↷ Page name changed from lesson_9 to lesson_8
lesson_8 [2020/02/11 22:08] (current)
hermann [LESSON 8: Inserting and getting a specific value into a table]
Line 1: Line 1:
 {{ :​logo_logo.png?​400 |}} {{ :​logo_logo.png?​400 |}}
 \\ \\
-=====MODULE III: Working with tables on Dinamica EGO===== 
 \\ \\
-Work with tables is critical in data manipulation ​and most of these operations can be performed on Dinamica EGO. +====LESSON 8: Inserting ​and getting a specific value into a table====
 \\ \\
-=====LESSON 8: Inserting ​specific valuecreating a new column ​and retrieving a data column=====  ​+The aim of this lesson is getting and inserting specifics values from and into table on Dinamica. We will use the [[Get Table Value]][[Set Table Cell Value]], [[Add Table Column]], [[Set Table By Key]] and [[Get Table From Key]] functors and the following files:
 \\ \\
-==This lesson is focused on helping you to get and insert a specific value into a table on Dinamica.== 
 \\ \\
-**Which Functors will you use in this lesson?**\\ \\ +  ​The IBGE crop information Table (''​Guidebook_Dinamica_5\Database\Tables\IBGE_crop_information.csv''​) 
-• Functors:​ Get Set Table Value, Add table column set table by key and Get table from key +  * The 1999_production_value Table (''​Guidebook_Dinamica_5\Database\Tables\1999_production_value.csv''​) 
 +  * The 1999_harvested_area ​Table (''​Guidebook_Dinamica_5\Database\Tables\1999_harvested_area.csv.csv''​) 
 +  * The 1999_production Table (''​Guidebook_Dinamica_5\Database\Tables\1999_production.csv''​)
 \\ \\
 +**Let'​s go!** 
 \\ \\
-We will use:  +  ​From the Input/Output ​tab, grab a [[Load Table]] and place it on the sketch. Double click it, browse to the folder ​''​Guidebook_Dinamica_5\Database\Tables'' ​and open the ''​IBGE_crop_information.csv'' ​file.
-\\ +
--The IBGE crop information Table (Dinamica EGO\Guidebook Dinamica_4\Database\Tables\IBGE_crop_information.csv)\\ +
-\\ +
--The 1999_production_value Table (Dinamica EGO\Guidebook Dinamica_4\Database\Tables\1999_production_value.csv)\\ +
-\\ +
--The 1999_harvested_area Table (Dinamica EGO\Guidebook Dinamica_4\Database\Tables\1999_harvested_area.csv.csv)\\ +
-\\ +
--The 1999_production Table (Dinamica EGO\Guidebook Dinamica_4\Database\Tables\1999_production.csv)\\ +
-\\ +
-\\ +
-**Let's go!** Click on the Input/output ​tab from the library window, grab a Load Table and place it on the sketch. Double click, browse to the folder Dinamica EGO\Guidebook Dinamica_4\Database\Tables and open the IBGE_crop_information.csv file. +
-\\ +
-\\ +
-Click on the Input/​output tab from the library window, grab a Load Table and place it on the sketch. Double click, browse to the folder ​Dinamica EGO\Guidebook Dinamica_4\Database\Tables and open the IBGE_crop_information.csv file.+
 \\ \\
 \\ \\
Line 34: Line 20:
 \\ \\
 \\ \\
-<​note ​warning>**ATTENTION:​** ​Only multi-column CSV - comma separated value formatis accepted</​note>​+<​note ​important> 
 +Only multi-column CSV - comma separated value format is accepted 
 +</​note>​
 \\ \\
-\\ +  * The first two columns are considered the keys of the file, being used to access a certain data in the table. Click on eye button of [[Load Table]] to see the table. ​
-The first two columns are considered the keys of the file, being used to access a certain data in table. Click on eye button of Load Table” to see the Table: ​+
 \\ \\
 \\ \\
Line 43: Line 30:
 \\ \\
 \\ \\
-In the next step, grab a Get Table Value and place it on the sketch. Connect ​the functor ​Load Table in the Get Table value+  * Grab [[Get Table Value]] and place it on the sketch. Connect ​[[Load Table]] to [[Get Table Value]]
 \\ \\
 \\ \\
- {{ :​imagem34.png?​300 |}} +{{ :​imagem34.png?​300 |}} 
-Double click the Get Table Value for indicate ​the Keys corresponding to the certain value and Column ​name (highlighted by an asterisk). In the box Keys, enter 2001. Next, enter 1” (The Keys to identify the desired ​value on the table). Also add 4, i.e., the column name or index where the value is located:+\\ 
 +  * Double click the Get Table Value to enter the keys corresponding to the sought-after values ​and the column ​name (highlighted by an asterisk). In the box Keys, enter ''​2001''​. Next, enter ''​1'' ​(The Key to identify the wanted ​value on the table). Also, in the Column tab, add ''​4''​, i.e., the column name or index where the value is located.
 \\ \\
 \\ \\
Line 53: Line 41:
 \\ \\
 \\ \\
-<​note ​tip>**TiP:​** ​If the given keys are not found in the input table and the “Value ​If Not Found” ​parameter is not provided, an error will be reported.</​note>​+<​note>​ 
 +If the given keys are not found in the input table and the __Value ​If Not Found__ ​parameter, in the Advanced Tab, is not provided, an error will be reported. 
 +</​note>​
 \\ \\
 \\ \\
-Click on the Table tab from the library window and grab a Calculate Value and place it on the sketch. Assign a number to Number ​value and connect the functors ​Get Table Value and Number ​value. In the “connect port” ​window, select ​“Value”.  +  * From the Table tabgrab a [[Calculate Value]] and place it on the sketch. Assign a number to [[Number ​Value]] ​and connect the [[Get Table Value]] to [[Number ​Value]]. In the Connect ports window, select ​__Value__.  
- \\+\\
 \\ \\
 {{ :​imagem36.png?​600 |}} {{ :​imagem36.png?​600 |}}
 \\ \\
 \\ \\
-Double-click on Calculate ​value to add a logic or an algebraic expression ​to calculate a value employing it. We divide v1 (the selected value) by 1000 and click OK.+  * Double-click on [[Calculate ​Value]] ​to add a logic or an algebraic expression. We divide v1 (the selected value) by 1000, ''​v1/​1000'', ​and click OK.
 \\ \\
 \\ \\
- {{ :​imagem37.png?​300 |}}+{{ :​imagem37.png?​300 |}}
 \\ \\
 \\ \\
-Click on the Table tab from the library window and grab a Set Table Cell Value and place it on the sketch. Connect ​the container ​Calculate ​value and the functor ​Load Table to the Set Table Cell Value. ​ In the “connect port” ​window, select ​Value.+  * From the Table tab grab a [[Set Table Cell Value]] and place it on the sketch. Connect ​[[Calculate ​Value]] ​and [[Load Table]] to [[Set Table Cell Value]].  In the Connect Ports window, select ​__Value__ input port for the output of [[Calculate ​Value]].
 \\ \\
 \\ \\
Line 74: Line 64:
 \\ \\
 \\ \\
- Double-click ​on Set Table Cell value. To identify where the value is located, on the box “Keys”, ​enter 20011” (Corresponding ​to Year 2001 and Crop 1) and add the index “4+  * Double-click ​[[Set Table Cell Value]]. To identify where the sought-after ​value is located, on the __Keys__ input enter ''​2001''​''​1'' ​(corresponding ​to Year 2001 and Crop 1) and add the Index ''​4''​ on the __Column__ input
- \\+\\
 \\ \\
 {{ :​imagem39.png?​600 |}} {{ :​imagem39.png?​600 |}}
 \\ \\
 \\ \\
-Click on the Input/output ​tab from the library window and grab a Save Table” and place it on the sketch. Connect ​the functor ​Set Table Cell Value to Save Table. \\ \\ +  * From the Input/Output ​tabgrab a [[Save Table]] and place it on the sketch. Connect ​[[Set Table Cell Value]] to [[Save Table]], select a folder and chose file name (e.g.  ​IBGE_crop_information_update.csv). ​The final model will look like this: 
-Now you need to save the result to a file. Open Save Map, select a folder and write a name file to save (suggestion: ​ ​IBGE_crop_information_update.csv). +\\ 
-\\+
 \\ \\
 {{ :​imagem40.png?​600 |}} {{ :​imagem40.png?​600 |}}
 \\ \\
 \\ \\
-  +{{ :imagem41.png?​600 |}}
-Mark the eye button at the top of “Save Table” to viewer the results hereafter. \\ \\ +
-The final model will look like this+
 \\ \\
 \\ \\
-{{ :imagem41.png?600 |}}+  * Save and run your model. Select the [[Save Table]] functor and click on the eye button to see the result.
 \\ \\
 \\ \\
-  
-Save your model (Disk button on the main tool bar) and then run it by clicking on the run button (blue arrow on the main tool bar). \\ \\ 
-Now, click on eye button of “Save Table” to see the result. This functor output is table that looks like this:\\ 
- 
 {{ :​imagem42.png?​600 |}} {{ :​imagem42.png?​600 |}}
-  
-**In the first step of this lesson**, your model is loading “IBGE_crop_information.csv” file and then getting and inserting a specific value into a table. The new table will be saved with a crop 1 on year 2001 been divided by 1000. 
- 
-**Now, Go ahead** to create a new column in the given table 
-\\ 
-\\ 
-We must open all the files that will be used. Click on the Input/​output tab from the library window and grab three “Load Lookup Table” Functors and one “Load Table” and place it 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 folder “Tables”. Next, Open the Load Table functor and load the file IBGE_crop_information_uptated.csv. 
-{{ :​imagem43.png?​200 |}} 
-\\ 
-\\ 
-Now, can create a new column merge with 1999_harvested_area.csv and 1999_production.csv files. Click on the Input/​output tab from the library window and grab a 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. On the Functor Editor window, write a name for the created column (it can be “production_value”). ​ 
-\\ 
-\\ 
-<note important>​**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. Finally, connect the Load Lookup Table which contains the file IBGE_crop_information_uptated.csv to Set Table by Key. 
-Now you need to save the result to a file. For this, open Save Map functor and browse to the Dinamica EGO\Guidebook Dinamica_4\Models\Set_2\basics\ to determine where the file will be saved and write the name file (Suggestion:​ “IBGE_crop_information_complete.csv”).\\ \\ 
-Mark the eye button at the top of “Save Table” to viewer the results hereafter. \\ \\ 
-Click on the layout tool Left to Right and your final model will look like the one below: \\ \\ 
-{{ :​imagem45.png?​500 |}} 
-\\ 
-\\ 
-Save and run the model! \\ 
-Now, click on eye button of “Save Table” to see the result. This functor output is table that looks like this: 
-\\ 
-\\ 
-{{ :​imagem46.png?​500 |}} 
-\\ 
-\\ 
-Now, using the table generated previously, we would like to demonstrate how to retrieves a data column from the specified table. 
-\\ 
-\\ 
-First, grab a “Load Table” and place it on the sketch. Double click the Load Table Functor and open the IBGE_crop_information_complete.csv file. 
-\\ 
-\\ 
- {{ :​imagem47.png?​500 |}} 
-\\ 
-\\ 
- 
-Now, we can retrieve data column table corresponding to harvested area. For this, grab a “Get Table Column functor” and place it on the sketch. Connect the Load Table to Get Table Column. In the tab “Column Index or Name”, 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 2004 year.  For this, grab a “Get Table from key” and place it on the sketch. Connect the Get Table Column to Get Table from Key. In the tab “Keys”, insert the year you want to retrieve the harvested area per crop (In this example, “2004”). 
-\\ 
-\\ 
-{{ :​imagem49.png?​500 |}} 
-\\ 
-\\ 
- 
-Now, grab a “Save Table” and place it on the sketch. Connect the functor Get Table from Key and Save Table. The final model will look like this:  
-\\ 
-\\ 
-{{ :​imagem50.png?​500 |}} 
-\\ 
-\\ 
-  
-Now you need to save the result to a file. Open Save Map, browse to the Documents\GuideBook Dinamica\Guidebook Dinamica_4\Models\Set_2\basics\ Get_Table_from_Key and write the name file (it can be IBGE_crop_information_update.csv). 
-\\ 
-\\ 
-{{ :​imagem51.png?​500 |}} 
-\\ 
-\\ 
-  
-Mark the eye button at the top of “Save Table” to viewer the results hereafter. ​ 
-Click on the layout tool Left to Right and your final model will look like the one below: ​ 
- \\ 
-\\ 
-{{ :​imagem52.png?​500 |}} 
-\\ 
-\\ 
- 
-Save and run the model! 
-Now, click on eye button of “Save Table” to see the result. This functor output is table that looks like this: 
 \\ \\
 \\ \\
-{{ :​imagem53.png?​300 |}}+===Congratulations,​ you have successfully completed this lesson!=== ​
 \\ \\
 +☞[[:​lesson_9 | Next Lesson]]
 \\ \\
- +☞[[:​guidebook_start| Back to Guidebook Start]] ​
- +
- +