Components > Intelligent structure models > Repeating groups
  

Repeating groups

Intelligent Structure Discovery creates a repeating group for input data such as a table or array, where a row or set of fields repeats as a group.
When a model that is based on a JSON, XML, or XSD file contains nested repeating groups, that is, repeating groups within repeating groups, Intelligent Structure Discovery assigns each nested repeating group to its own output group. For models that are based on other input types, you can manually assign nested repeating groups to their output groups. You can assign all nested repeating groups to their output groups by normalizing the data in the model, or you can assign individual nested repeating groups to their output groups by promoting them. Assigning nested repeating groups to their output groups reduces the number of ports in the model.
For example, you create a model based on the following JSON input:
{
"CompanyID": 210850,
"Name": "Tollers Shipping",
"Address": "701 Natash Ave.",
"City": "San Diego",
"Department": [
{
"Domain": "Logistics",
"Identifier": "21973b77",
"Employees": [
{
"name": "Sujitha Naarana",
"employeeID": "2100Z9"
},
{
"name": "Dwain Lord",
"employeeID": "34t001"
}
],
},
{
"Domain": "Accounting",
"Identifier": "301ad177",
"Employees": [
{
"name": "LeTroy Prince",
"employeeID": "31910a"
}
]
}
]
}
The following image shows the structure that Intelligent Structure Discovery discovers:
The intelligent structure contains two output groups. The second output group is a repeating group that contains nested repeating groups.
The structure contains a nested repeating group. The top level repeating group is Department. Each Department group contains an Employees repeating group that contains an Employee group node. The Employee group node contains name and employeeID child nodes.
A repeating group is displayed in the Visual Model with three overlapping circles for the parent node.
The following image shows the Employees repeating group:
The Employees repeating group node contains an employee node. The employee node contains a name child node and an employeeID child node.