Working with Sequence Properties

Sequence properties use the sequence data type, which automatically generates incrementing sequence numbers for node property values.

Nodes using a sequence property will get a value when they are added to a viewpoint. If a node is already in a viewpoint, it will get a value the next time it is updated.

For example, you can use a sequence property to generate unique record IDs for a data warehouse dimension, or you could use a sequence property with a custom validation to ensure that a new node name uses that sequence (such as CC_001005).

Considerations

  • Sequence properties can be defined as node level properties only.
  • Sequence properties must have a Default Type of None, and they do not support inheritance.
  • You can manually override sequence properties, and you can clear the current value (including blank values) to get the next number in the sequence.
  • You can view the last sequence value in the property inspector, and you can edit the data type parameters to manually enter a sequence value or to reset the sequence value back to the initial starting value for the property. See Viewing, Editing, and Resetting Sequence Values.
  • You can edit the data type parameters for sequence properties at the application level only. You cannot edit the data type parameters at the node type level.
  • Sequence values are maintained at the application level for each property. That means that if you use the same sequence property in two different dimensions, the sequence is shared across those dimensions.
  • Sequence values are derived when nodes are added or updated in a viewpoint (see Sequence Property Processing) and then stored and indexed. You can reference sequence values in both expressions and viewpoint queries.
  • Although the sequence numbers that are generated are unique, by default there are no uniqueness constraints on the property values themselves. This means, for example, that you can manually populate two different nodes with the same sequence value in an application. If you want to enforce unique values, you can create an application-level constraint. See Working with Constraints.
  • The next sequence number is maintained internally by adding the step value to the current sequence value. The system does not scan for existing values and then increment the current highest. For example, suppose you add nodes with derived values 1000, 1001, and 1002, and then manually add a node with a value of 1005. The next node that you add will get a value of 1003, not 1006. Furthermore, if you add two more nodes they will get values of 1004 and 1005, even though a node with 1005 already exists (unless you have created an application level constraint to ensure uniqueness).
  • You can create sequence properties manually (see Creating Properties Manually) or during registration of a Universal application (see Creating a Custom Property).