Differences

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

Link to this comparison view

Next revision
Previous revision
Next revision Both sides next revision
table_type [2013/08/05 14:55]
admin created
table_type [2020/02/10 21:24]
admin [Table Type]
Line 3: Line 3:
 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]],​ where each tuple may be formed by several keys and values. The set of keys must be unique for each tuple.
  
-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}}]
  
-Keys and values can be represented using double precision ​[[wp>​Floating_point|floating point numbers]], allowing the definition of integral and fractional, or [[wp>​String_(computer_science)|strings]]. ​+[{{ :​editors:​table_basics_2.png?​nolink ​|Table Basics}}]
  
 +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 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]]. ​
 +
 +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 the previous 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 40:
 </​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 50:
   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 74:
 </​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]].