Passthru Transformation
Last updated
Last updated
© Copyright 2023, Astera Software
Passthru Transformation creates a new dataset based on the elements that were passed to the transformation. This is useful for organizing datasets for better readability and grouping of values that are otherwise calculated over and over again (e.g. a Sequence Generator Transformation).
In this document, we will learn how to use Passthru Transformation in Astera.
In this case, we have the data coming in from an XML/JSON File Source.
The source file contains customers’ information in the parent node and their order and shipping details in the collection/child node.
Preview data by right-clicking on the source object’s header > Preview Output
A Data Preview window will open up showing you the preview of the hierarchical data.
Now, we want to create a field in the parent node that contains the count of orders that arrived late for each customer, and write these records to a destination file. This new field in the parent node will depend on two fields, RequiredDate and ShippedDate, that are already present in the collection/child node.
For this purpose, we will use Passthru Transformation.
To get a Passthru Transformation from the Toolbox, go to Toolbox > Transformations > Passthru. If you’re unable to see the toolbox, go to View > Toolbox or press Ctrl + Alt + X.
Drag-and-drop the Passthru object onto the designer.
You can see that the dragged transformation object is empty right now. This is because we haven’t mapped any fields on it yet.
Auto-map the source onto the transformation by dragging and dropping the top node of the source object, SampleData onto the top node of the transformation object – PassthruTransformation.
Similarly, map the Orders collection node from the source object onto the field of the transformation object.
To configure the Passthru Transformation object, right-click on its header and select Properties from the context menu.
A configuration window for Passthru Transformation will open. The first screen is the Layout Builder screen. This is where we can create or delete fields, change their name or data types, mark any field as a variable, or attach expression to any field.
Create a new field under the parent node. Let’s call it LateOrders and mark it as an output field.
Click Next and you will be directed to a Layout Modifications window.
Select the LateOrders field. Here you can modify any field by applying expressions on it.
Write the expression that counts the number of late-arriving orders. Click “…” next to the expression box to open the expression builder window where you can make use of the extensive library of built-in functions and expressions.
Click on the Orders node and a panel (Options for Collection) will appear. These options are only available for collection nodes. This is where we will specify the rule for routing late-arriving orders.
Select Route Based on Rules and a new section for adding rules will appear on the screen.
Now, write an expression to route late arriving orders and name this rule “LateArrivals”
Click OK. Now observe that a new collection node Orders_LateArrivals is added to the Passthru Transformation object.
Right-click on the Passthru Transformation object’s header and select Preview Output from the context menu.
A Data Preview window will open.
On expanding records, you will get corresponding order details and appended details of late arriving orders.
Right-click on the collection node, Orders_LateArrivals, and go to Write to > Excel Workbook Destination.
An Excel Workbook Destination object will be added to the dataflow designer with auto-mapped fields from the collection field.
Configure settings for Excel Workbook Destination object.
Right-click on the Excel Workbook Destination object’s header and select Preview Output from the context menu.
A Data Preview window will open up, displaying the records with only late-arriving orders.
Add a new rule by clicking on the Add switch condition icon