Initializing help system before first use

Accessing Set Entities

Set entities are treated within VDL as one-dimensional arrays, each element being an object with a value and a label property.
You can access the elements of a set with the square bracket [ ] notation. Set entities are simple arrays and it is very common to iterate over them. The following markup:
<vdl-section>
  <vdl-column vdl-repeat="=item in scenario.entities.RISK">
    <p vdl-text="=item.value"></p>
  </vdl-column>
</vdl-section>
renders as:

A Rendered View of a Set Entity

Rendered View of a Set Entity

Loops and the <vdl-repeat> element are covered thoroughly in Using Loops with Arrays and Sets.
If you wish to extract individual elements from a set entity, you need to protect the statement with a guard, such as:
<p vdl-text="=scenario.entities.RISK.length && 
              scenario.entities.RISK[0].value ? 
              scenario.entities.RISK[0].value :
              '' "></p>             
By default, there is no guarantee about the order in which members of a set entity will be returned. However, within a <script> block, a set sorter function can be assigned via the JavaScript API.
<script>
function setSorter(originalSet) { 
    // Sort the set, for example, in reverse 
    // integer order for a set of integers
    return originalSet.sort(function(a,b) {
                              return a < b;
                           };
    }
insight.addSetSorter('MySet',setSorter);
</script>