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
Last revision Both sides next revision
table_type [2013/08/05 17:16]
admin
table_type [2020/02/10 21:37]
admin [Table Type]
Line 1: Line 1:
 ====== Table Type ====== ====== Table Type ======
  
-A table is a collection of [[wp>​Tuple|tuples]],​ where each tuple may be formed by several keys and values. The set of keys must be unique for each tuple.+A table is a collection of [[wp>​Tuple|tuples]] ​(or rows), where each tuple may be formed by several keys and values. The set of keys must be unique for each row.
  
-The set of all elements at the same position in all tuples ​defines a column. All columns must have a unique name. The names must follow the general convention ​of names in Dinamica EGO, they must start with a "​_"​ or a letter and must be formed by letters, numbers and underscores. Blanks in names are automatically replaced by "​_"​ (underscore).+[{{ :​editors:​table_basics_1.png?​nolink |Table Basics}}] 
 + 
 +[{{ :​editors:​table_basics_2.png?​nolink |Table Basics}}] 
 + 
 +The set of all elements at the same position in all rows defines a column. All columns must have a unique name. The names must follow the general ​name convention in Dinamica EGO, they must start with a "​_"​ or a letter and must be formed by letters, numbers and underscores. Blanks in names are automatically replaced by "​_"​ (underscore).
  
 Keys and values can be represented using double precision [[wp>​Floating_point|floating point numbers]], allowing the definition of integral and fractional values, or [[wp>​String_(computer_science)|strings]]. ​ Keys and values can be represented using double precision [[wp>​Floating_point|floating point numbers]], allowing the definition of integral and fractional values, or [[wp>​String_(computer_science)|strings]]. ​
  
 +Internally, tables are represented using trees.
 +
 +[{{ :​editors:​table_internals.png?​nolink |Table Internals}}]
 +
 +<note tip>
 +The Dinamica documentation and error messages usually express a table format as a sequence of column names/types separated by commas. For example, the sequence “City_Id*#​real,​ City_Population#​real,​ City_Name#​string” corresponds to a table with one key column and two value/data column. The key column is named “City_Id” with type Real Value Type and the data/value columns are named “City_Population” and “City_Name” with types Real Value Type and String Type, respectively. It is also possible to omit the column names and represent that table format as “*#real, #real, #string”.
 +
 +When stored as [[wp>​Comma-separated_values]] files, tables may also use the column name/type syntax to represent the column attributes — the name, the indication whether it is key or data/value column, and its data type.
 +</​note>​
 ===== GUI Editor ===== ===== GUI Editor =====
  
Line 25: Line 38:
 </​code>​ </​code>​
  
-The type of each columns is inferred ​by the column elements. Elements representing strings ​must be surrounded by double quotes '"'​.+The type of each columns is inferred ​inspecting ​the column elements. Elements representing strings ​can be surrounded by double quotes '"'​.
  
 <code cpp> <code cpp>
Line 35: Line 48:
   12, "​sugar_cane",​ 75, 45, 123,   12, "​sugar_cane",​ 75, 45, 123,
   34, "​bean",​ 20, 45, 57,   34, "​bean",​ 20, 45, 57,
 +]
 +</​code>​
 +
 +The table below represents the table above without the use of double quotes.
 +
 +<code cpp>
 +[
 +  Categories*,​ Name, Color_Red, Color_Green,​ Color_Blue,
 +  1, soy, 20, 45, 125,
 +  2, rice, 20, 100, 125,
 +  7, coffee, 200, 45, 125,
 +  12, sugar_cane, 75, 45, 123,
 +  34, bean, 20, 45, 57,
 ] ]
 </​code>​ </​code>​
Line 46: Line 72:
 </​code>​ </​code>​
  
 +However, it is possible to omit the column type if the column type is "​Real"​. So, it is legal to redefine the previous table as the following:
 +
 +<code cpp>
 +[
 +  "​From*",​ "​To*",​ "​Variable_Name*#​string",​ "​Upper_Range*",​ "​Weight_Coefficient"​
 +]
 +</​code>​
 +
 +===== Automatic Conversions =====
 +
 +  * **Converted from**: [[Change Matrix Type]], [[Transition Matrix Type]], [[Transition Function Parameter Matrix Type]], [[Percent Matrix Type]], [[Categorization Type]] and [[Lookup Table Type]].
 +
 +  * **Converted to**: [[Change Matrix Type]], [[Transition Matrix Type]], [[Transition Function Parameter Matrix Type]], [[Percent Matrix Type]], [[Categorization Type]] and [[Lookup Table Type]].