Hierarchy
Hierarchy transforms flat data into Hierarchical Data, by giving it multi-level structure.
Hierarchy can also take a full dataset or a single transaction already with a hierarchical structure and add more levels. See examples below.
Example
The first example below shows a flat Transaction (A) transformed into a two level hierarchy.
The second example shows a two level hierarchy child (Transaction B) transformed into a three level hierarchy within the existing structure.
Hierarchy > Field Mapping
Transaction Id to Hierarchise
This is the transaction that will be put into hierarchy. In the first example above, this is TransactionA. In the second example, this is ChildA.
This field can be edited only during the initial setup. Thereafter, it cannot be edited.
New Transaction Id
To create new transaction types, enter the new transaction id and press the Add (>) button.
Transaction Id Drop Down
Each transaction available to Hierarchy will be listed in this drop down. If a different transaction is selected here, the currently open transaction will save as is and opens the newly selected transaction to edit.
Parent Id
The values in this drop-down are those transactions available to Hierarchy.
Set the value of the drop-down to the parent of the currently open transaction.
If the transaction being edited is the transaction specified in ‘Transaction Id to Hierarchise’, this field is not editable. This is because it will be the parent, and cannot be parent to itself.
Copy Child Transaction To Transaction
When creating new levels of hierarchy, there is the option to retain any existing child records. This drop down contains a list of transactions available to parent such transactions.
Example
In example 2 above, transaction ‘B’ ends up with a child transaction, ‘C’. If creating a further level of hierarchy, transaction ‘C’ can either remain a child to transaction‘B’ or a become a child to one of the new transaction types.
In the example below, the Copy Child Transaction drop-down would list three values: ‘TRANS. B’, ‘*NEW TRANS. D’ and ‘*NEW TRANS. E’.
In this scenario below, Copy Child Transaction is set to ‘*NEW TRANS. D’.
Edit Button
The Edit Button displays the field mapping grid, where Hierarchical Data, Field Types and import options are set.
Remove Button
Deletes the transaction from hierarchy.
Only transaction created in hierarchy transform can be deleted. The button is disabled when the transaction being edited is selected in ‘Transaction Id to Hierarchise’.
Hierarchy > Field Mapping > Edit
When the edit button is pressed the field mapping grid is displayed.
The grid is used to specify the fields represented within the transaction.
The relationship between fields within the transaction is defined through the Hierarchical Data.
Input Fld. Name
The name assigned to the field on input.
Import
If selected, the field becomes part of the transaction. If unselected, the field is dropped from the resulting transaction type.
New Name
The name given to the field after transformation.
Key
The Hierarchical Data is used to construct a hierarchical dataset.
By giving a record a numerical value, the Parent-Child relationships are defined. Child records are inserted into the dataset where its keys match those of the Parent’s.
When setting the keys, each child transaction must have at least 1 more key defined than its parent.
Propagating Transform Changes
All changes made to the transaction and individual fields, including modifications and deletes, automatically filter down to all child transactions.
Changes to the Parent Id represent changes to the transaction's structure. This may cause a child transform to fail, particularly when there are subsequent hierarchy and flatten transforms, as they may be expecting a different structure.
Hierarchy > Audit
Supported Counters
- PROCESSED
- Incremented for each new record, generated by the hierarchy transform, processed.
- INSERTED
- Incremented for each new record generated by the hierarchy transform.
Action on Transform Error
Any errors, irrespective of this setting, will cause the transform to abort.