Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

A lookup table is defined by an entry in the LookupTable table. Each row in this table defines a lookup table. The rows of each one of these lookup tables are stored in one of the value tables. The LookupTable has the following properties:

uniqueName

Primary key. A string that is used to refer to the table. Contrary to the property name, it does not have to be unique. It is the combination of uniqueName, validAfter, and simulationSet that uniquely identifies a lookup table.

validAfter

Primary key. Specifies a date after which this lookup table can be used. When multiple lookup tables share the same name, the lookup table with the most recent validAfter date will be used.

simulationSet

Primary key. A nullable string that forms

type & valueType

These properties do not have meaning on their own, but the combination determines which value table will be used. When the type is SIMPLE, the valueType determines the type of value. When the type is RANGE, the valueType determines the type of the key.

status

Value of the TimedObjectStatus enumeration. Determines whether — or in what context — the lookup table will be used.

label

The text that will be displayed to the end-user — to represent the lookup table.

formatType

Only relevant for simple lookup tables. Specifies how the value in the key-value-pair will be formatted in the frontend application.

Value Tables

The value tables store the actual rows of the lookup table. It is the combination of LookupTable.type and LookupTable.valueType that determines which value type table will be used. The table below contain these details.

MatrixLookupTableValue

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the MatrixLookupTableValue table.

LookupTable.typeMATRIX
LookupTable.valueTypeMATRIX
Value TableMatrixLookupTableValue

The MatrixLookupTableValue has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.
name – Primary key(s), whose combination uniquely identifies a single lookup table row.
attribute1..30 – Fields that can be customized with attribute metadata.
Info
When the LookupTable.valueType is MATRIX, the name of the key is name — rather than key1.

MatrixLookupTableValue2Key

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the MatrixLookupTableValue2Key table.

LookupTable.typeMATRIX
LookupTable.valueTypeMATRIX2
Value TableMatrixLookupTableValue2Key

The MatrixLookupTableValue2Key has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.
key1..2 – Primary key(s), whose combination uniquely identifies a single lookup table row.
attribute1..30 – Fields that can be customized with attribute metadata.

MatrixLookupTableValue3Key

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the MatrixLookupTableValue3Key table.

LookupTable.typeMATRIX
LookupTable.valueTypeMATRIX3
Value TableMatrixLookupTableValue3Key

The MatrixLookupTableValue3Key has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.
key1..3 – Primary key(s), whose combination uniquely identifies a single lookup table row.
attribute1..30 – Fields that can be customized with attribute metadata.

MatrixLookupTableValue4Key

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the MatrixLookupTableValue4Key table.

LookupTable.typeMATRIX
LookupTable.valueTypeMATRIX4
Value TableMatrixLookupTableValue4Key

The MatrixLookupTableValue4Key has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.
key1..4 – Primary key(s), whose combination uniquely identifies a single lookup table row.
attribute1..30 – Fields that can be customized with attribute metadata.

MatrixLookupTableValue5Key

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the MatrixLookupTableValue5Key table.

LookupTable.typeMATRIX
LookupTable.valueTypeMATRIX5
Value TableMatrixLookupTableValue5Key

The MatrixLookupTableValue5Key has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.
key1..5 – Primary key(s), whose combination uniquely identifies a single lookup table row.
attribute1..30 – Fields that can be customized with attribute metadata.

MatrixLookupTableValue6Key

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the MatrixLookupTableValue6Key table.

LookupTable.typeMATRIX
LookupTable.valueTypeMATRIX6
Value TableMatrixLookupTableValue6Key

The MatrixLookupTableValue6Key has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.
key1..6 – Primary key(s), whose combination uniquely identifies a single lookup table row.
attribute1..30 – Fields that can be customized with attribute metadata.

LookupTableValue

The LookupTableValue table is used for two different types of lookup tables:

  • If the LookupTable.type is SIMPLE, SIMPLE_REAL_KEY, SIMPLE_INT_KEY, or SIMPLE_DATE_KEY, then the LookupTableValue table is used to store key-value pairs. In this case, the LookupTable.valueType defines the type of the value in the key-value pair. The key is determined by LookupTable.type, while the value is determined by the LookupTable.valueType.

  • If the LookupTable.type is RANGE, then the LookupTableValue table is used to store key-value pairs, where the value is a pair of integers. This pair denotes a range. In this case, the LookupTable.valueType defines the type of the key in the key-value pair.

Note
The LookupTable.valueType is used for different purposes depending on the LookupTable.type.

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the LookupTableValue table.

LookupTable.typeSIMPLE | SIMPLE_REAL_KEY | SIMPLE_INT_KEY | SIMPLE_DATE_KEY | RANGE
LookupTable.valueTypeREAL | INT | STRING | DATE
Value TableLookupTableValue

The LookupTableValue has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.
name – A primary key that can be used to uniquely identify a row. If LookupTable.type is RANGE, the LookupTable.valueType determines the type of name. Otherwise, the type of name is determined by LookupTable.type.
value – If and only if the LookupTable.type is not RANGE, this property is used to store a value. The type of the value is determined by LookupTable.valueType.
lowerBound – If and only if the type is RANGE, this property is used to store an integer that denotes the minimum value.
upperBound – If and only if the type is RANGE, this property is used to store an integer that denotes the maximum value.

JsonLookupTableValue

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the JsonLookupTableValue table.

LookupTable.typeJSON
LookupTable.valueTypeJSON
Value TableJsonLookupTableValue

The JsonLookupTableValue has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.

JsonLookupTableValue2Key

When an instance of LookupTable has the following combination of type and valueType, the lookup table’s rows will be stored in the JsonLookupTableValue2Key table.

LookupTable.typeJSON
LookupTable.valueTypeJSON2
Value TableJsonLookupTableValue2Key

The JsonLookupTableValue2Key has the following properties

lookupTable.id – A reference to the LookupTable row to which this row belongs. This property can be used in queries, but will not be part of the results.