Table of Contents

Search

  1. Preface
  2. Introduction to Informatica Big Data Management
  3. Mappings
  4. Sources
  5. Targets
  6. Transformations
  7. Data Preview
  8. Cluster Workflows
  9. Profiles
  10. Monitoring
  11. Hierarchical Data Processing
  12. Hierarchical Data Processing Configuration
  13. Hierarchical Data Processing with Schema Changes
  14. Intelligent Structure Models
  15. Stateful Computing
  16. Connections
  17. Data Type Reference
  18. Function Reference

Creating A Nested Complex Port

Creating A Nested Complex Port

Use the
Create Nested Complex Port
wizard to convert data that passes through one or more ports in two transformations to a struct data that references a nested data type definition. You specify the transformations from which the wizard creates the parent and child complex data type definitions.
  1. Open the mapping or mapplet in which you want to create a nested complex port.
  2. Press Ctrl and select the ports in the two transformations that you want to convert as elements of the nested complex port.
    The mapping contains two Read transformations and two Expression transformations. The Read transformations contain ports that pass employee and bank details. The Expression transformation shows the selected ports from which you want to create nested complex port.
  3. Right-click the selected ports, and select
    Hierarchical Conversions
    Create Nested Complex Port
    .
    The
    Create Nested Complex Port
    wizard appears.
    The first page of the wizard contains the name of the transformations from which you selected the ports. You must choose the parent transformation and select the parent and child key. The first transformation is selected as the parent transformation by default. The first port in each transformation is selected as the join key by default.
  4. Choose the transformation that contains ports for the parent complex data type definition and select the join keys to join the tables.
    The image shows the second transformation as the parent transformation. The first port in each transformation is selected as the join key by default.
  5. Click
    Next
    .
    The wizard page to create child complex data type definition appears.
    The second page of the wizard shows a default name for the child complex data type definition. The page also displays the ports that will be added as the elements of the complex data type definition.
  6. Optionally, change the name of the child complex data type definition and make any changes to the elements.
    The image shows the changed name of the child complex data type definition and the list of elements to be added.
  7. Click
    Next
    .
    The wizard page to select group by port from the parent transformation appears.
    The third page of the wizard contains the Elements field and the Choose button to select the group by port from the parent transformation.
  8. Click
    Choose
    .
    The
    Ports
    dialog box appears.
  9. Select a group by port from the parent transformation and click
    OK
    .
    The selected port appears on the wizard page.
    The page displays the group by port that you selected.
  10. Click
    Next
    .
    The final wizard page to create parent complex data type definition and nested complex port appears.
    The last page of the wizard shows a default name for the parent complex data type definition. The page also displays the ports that will be added as the elements of the complex data type definition.
  11. Optionally, change the name of the parent complex data type definition and make any changes to the elements.
    You cannot delete the port that you selected as the group by port.
    The image shows the changed name of the parent complex data type definition and the list of elements to be added.
  12. Click
    Finish
    .
You can see the following changes in the mapping:
  • The mapping contains a new Joiner transformation
    Join_<transformation1>_<transformation1>
    that joins the two tables.
    The Joiner transformation shows the ports in the output, master, and detail groups. The output group contains the joined ports from the two transformations.
  • The mapping contains a new Expression transformation
    Create_ChildStruct
    with a struct output port and a dynamic port with ports from the upstream transformation.
    The Expression transformation contains a struct output port and a dynamic port.
  • The type definition library contains the new child complex data type definition. The struct output port references the child complex data type definition.
    The image shows a child complex data type definition that contains four elements. Two elements are of type integer and two elements are of type string.
    The output port contains an expression with the STRUCT_AS function:
    STRUCT_AS(:Type.Type_Definition_Library.<child_typedef>,<comma_delimited_child_elements>)
  • The mapping contains a new Aggregator transformation
    Agg_ArrayOfStruct
    with the group by port to group the child structs into an array.
    The Aggregator transformation contains an array output port and a dynamic port.
  • The mapping contains a new Expression transformation
    Final_NestedComplexPort
    with a struct output port and a dynamic port with ports from the upstream transformation.
    The final Expression transformation contains the nested struct port and a dynamic port.
  • The type definition library contains the new parent complex data type definition, which is a nested data type definition. The struct output port references the parent complex data type definition.
    The nested data type definition shows the child and parent complex data type definitions.
    The output port contains an expression with the STRUCT_AS function:
    STRUCT_AS(:Type.Type_Definition_Library.<parent_typedef>,<comma_delimited_struct_elements>)


Updated January 20, 2020