In a Hierarchy Processor transformation, a data source must be configured for the output group and for all array and struct fields in the output. A data source identifies the input group or incoming array that populates the primitive child fields for the output group or field.
If you select a field as a data source, you have access to the following objects:
All its primitive children
All its ancestors’ primitive children
Individual elements of its array children
Individual elements of its ancestors’ array children
You can configure multiple data sources for an output group or field. If you do this, you must configure a join condition to join the data.
You can configure filters to exclude certain records. You can also specify group by fields for aggregating the data and order by fields for sorting records.
If the output is relational, the data source for the output groups is always the input group or an incoming field. For example, you add an array to the output group. If you add single occurring children, the data source for the output group is the input group. If you add all descendants, the data source for each output group is an incoming field array.
If the output is hierarchical, the data sources for the output group and fields can vary based on the output data structure.