Home | Table of Contents | Combine | CloverETL 4.6.1
--- | --- | ---
Prev | Joiners | Next

## Combine

# Not available in Community Designer

Short Description
Ports
Metadata
Combine Attributes
Details
Best Practices
See also

### Short Description

Combine takes one record from each input port, combines them according to a specified transformation and sends the resulting records to one or more ports.

Component | Same input metadata | Sorted inputs | Inputs | Outputs | Transformation | Transf. req. | Java | CTL | Auto-propagated metadata
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
Combine |  |  | 1–n | 1-n |  |  |  |  |

### Icon

### Ports

Port type | Number | Required | Description | Metadata
--- | --- | --- | --- | ---
Input | 0–n |  | Input records to be combined. | Any
Output | 0-n |  | Output record which is the result of combination. | Any

### Metadata

Combine does not propagate metadata.

Combine has no metadata templates.

### Combine Attributes

Attribute | Req | Description | Possible values
--- | --- | --- | ---
Basic
Transform | [1] | Definition of how input records should be combined into output record. Written in the graph source either in CTL or in Java. |
Transform URL | [1] | Name of external file, including path, containing the definition of the way how records should be combined. Written in CTL or in Java. |
Transform class | [1] | Name of external class defining the way how records should be combined. |
Transform source charset |  | Encoding of external file defining the transformation. The default encoding depends on DEFAULT_SOURCE_CODE_CHARSET in defaultProperties. | E.g. UTF-8
Allow incomplete tuples |  | Whether each input port has to contribute a record for each output record. | true (default) | false
[1] One of these must be specified. Any of these transformation attributes uses a CTL template for Reformat or implements a `RecordTransform` interface. See also Defining Transformations for detailed information about transformations.

### Details

In each step, the Combine component takes one record from all input ports, creates single output record, and fills fields of this output record with data from input record (or other data) according to specified transformation.

The simplest way how to define the combination transformation is using the Transform Editor available at the Transform component attribute. There you will see metadata for each input port on the left side and metadata for single output port on the right side. Simply drag and drop fields from the left to the fields on the right to create desired combination transformation.

In default setting, the component assumes that the same number of records will arrive on each input port, and in case that some input edge becomes empty while others still contain some records, the component fails. You can avoid this failures by setting the Allow incomplete tuples attribute to true.

### Best Practices

If the transformation is specified in an external file (with Transform URL), we recommend users to explicitly specify Transform source charset.

### See also

Common Properties of Components
Specific Attribute Types
Joiners Comparison

Prev | Up | Next
Java Interfaces for Joiners | Home | Table of Contents | CrossJoin