What is a multivalue field
Why are multivalue fields so useful? You can use the basic Data Field in the Rossum extraction schema to extract a single value, e.g., extraction of Invoice Number. However, in some cases, you might need to extract multiple values under one field. For such cases, Rossum schema also supports extracting data fields with multiple values.
A simple multivalue field is a special type of datapoint representing a container for data with multiple occurrences. It is useful in documents containing multiple PO numbers or multiple Container or Seal Numbers. Using multivalue fields to extract such data will allow you to have all these values extracted under the same field ID.
How to create a multivalue field and add it to your schema
For purposes of this article, let’s say your documents have multiple PO numbers, and you need to extract them all. We will create a new multivalue field called “PO number.”
How to add it in the Rossum schema editor
Go to Queue settings -> Fields to capture to display extraction schema. Then scroll to the section where you want this field and click on the “Add a new field” button.
In the new window add Label, ID, choose “Multivalue” as a Field type and “Text” as Data type. Remember to Save the changes, and now you’ll see the new field in the list.
How to add it to your schema in JSON
You can add such a field to your schema by going to Queue’s Settings -> Fields to capture -> Edit JSON.
The attributes of the field required for creating our “PO Number” multivalue field in the extraction schema would be as follows:
{
"category": "multivalue",
"id": "po_number_multi",
"label": "PO Number",
"children": {
"rir_field_names": ["order_id"],
"category": "datapoint",
"id": "po_number",
"label": "PO Number",
"type": "string" }
}
Regardless of the number of PO Numbers on the document, there will be only one PO Number in the “children” attribute of the multivalue field. Moreover, the AI Engine output “order_id” will initialize the multivalue field. You can explore the multivalue field and its attributes in more detail in our API documentation.
Creating this kind of field is the same as adding a new custom data field. In the Rossum schema JSON editor, navigate to the section where you would like to add this new field. Copy the necessary data from our example, and paste it into that selected section’s “children” attribute. You will see the newly created multivalue field in the left sidebar. Always remember to save any changes.
How to add / remove values
On the Validation screen in Rossum UI, the simple multivalue fields look similar to the regular data field. But on the right side, instead of actual values, you can see a number reflecting how many values the engine extracted. After clicking on it, the multivalue field expands and displays all the values.
To add a new value: click the “Add” button to add a new value and use a Bounding box to capture this field on the document. You can also use keyboard shortcuts to speed up the data capture.
To delete an existing value: click on the “Delete” or “Delete all” buttons below the values to remove it.
Sometimes you need to delete many unwanted values, and deleting them one by one would take a lot of time. In that case, you can multi-select values and delete them all at once.
Shift ⇧ + Mouse Click | Select all values between two selected values. |
CMD (⌘) + Mouse Click (Mac) CTRL + Mouse Click (Win) | Select only clicked values. |
Then click on the “Delete selected” button to delete selected values at once.
Simple multivalue field in the exported data
How will the exported data look like if you have a simple multivalue field in your extraction schema? In the spreadsheet, the multivalue field will populate 1 row per each value it contains. Other header field values will be repeated for each row for the same document.
In the example above, there is one multivalue field with 3 PO Number values. In the exported data, this will result in 3 lines. Each line will have a different PO Number, and all the other columns (header field values) will be repeated.