Informatica Transformations in PowerCenter

Informatica Transformations are PowerCenter repository objects used inside mappings and mapplets to read, modify, route, validate, aggregate, and pass data from source definitions to target definitions. A transformation is where most ETL business rules are implemented: filtering invalid rows, calculating new columns, joining sources, looking up reference values, generating keys, sorting records, and deciding whether a row should be inserted, updated, deleted, or rejected.

In Informatica PowerCenter Designer, transformations are commonly classified by how they behave in the data pipeline. The most important classifications are active transformations and passive transformations. You will also hear about connected transformations, unconnected transformations, reusable transformations, and non-reusable transformations.

Where Informatica Transformations Fit in an ETL Mapping

In a typical Informatica mapping, data starts from a source definition, passes through one or more transformations, and finally loads into a target definition. Each transformation performs a specific task in that flow. For example, a Source Qualifier reads rows, a Filter removes unwanted rows, an Expression derives new column values, a Lookup adds reference data, and an Update Strategy marks rows for insert or update.

  • Data cleansing: remove invalid rows, trim spaces, handle null values, and standardize formats.
  • Data conversion: change data types, formats, dates, or string values before loading.
  • Data enrichment: add lookup values such as customer segment, region name, or product category.
  • Data integration: join, union, normalize, or aggregate data from multiple sources.
  • Load control: decide insert, update, delete, reject, commit, and rollback behavior.

Active and Passive Transformations in Informatica

The active/passive classification is based on whether a transformation can change the number of rows that pass through it, change transaction boundaries, or change the row type. This classification is important because it affects mapping design, row flow, session behavior, and performance tuning.

Comparison pointActive transformation in InformaticaPassive transformation in Informatica
Row countMay increase, decrease, or reorder rows.Returns the same number of rows that it receives.
Transaction boundaryMay affect transaction control or commit/rollback behavior.Does not change the transaction boundary.
Row typeMay change how the row is treated, such as insert, update, delete, or reject.Does not change the row type.
Common examplesAggregator, Filter, Joiner, Router, Rank, Sorter, Update Strategy.Expression, Lookup, Sequence Generator, Stored Procedure, HTTP.
Typical useUsed when rows must be filtered, grouped, routed, joined, sorted, or controlled.Used when values must be calculated, looked up, generated, or passed through without changing row count.

What is Active Transformation in Informatica?

An active transformation in Informatica can affect the number of rows that pass through the transformation, change transaction boundaries, or change the row type. If a transformation receives n input rows, it may return fewer rows, the same number of rows, or more rows depending on its purpose and configuration.

For example, a Filter transformation may remove rows that do not match a condition, an Aggregator transformation may combine many detail rows into one summary row, and a Router transformation may send a row to one or more output groups.

TransformationTypeDescriptionExample use
AggregatorActive / ConnectedPerforms aggregate calculations such as SUM, AVG, MIN, MAX, and COUNT.Calculate total sales by customer or month.
Application Source QualifierActive / ConnectedRepresents the rows that the Integration Service reads from an application, such as an ERP source, when it runs a session.Read rows from an application source before applying mapping logic.
CustomActive or Passive / ConnectedCalls a procedure in a shared library or DLL.Apply custom processing that is not available through built-in transformations.
FilterActive / ConnectedFilters data based on a condition.Load only active customers or valid transaction rows.
JavaActive or Passive / ConnectedExecutes user logic coded in Java. The byte code for the user logic is stored in the repository.Apply Java-based validation or conversion logic.
JoinerActive / ConnectedJoins data from different databases or flat file systems.Join customer records from a database with sales data from a flat file.
NormalizerActive / ConnectedActs as a source qualifier for COBOL sources. It can also normalize data from relational or flat file sources.Convert repeating columns into multiple rows.
RankActive / ConnectedLimits records to a top or bottom range.Find the top 10 products by revenue.
RouterActive / ConnectedRoutes data into multiple output groups based on group conditions.Send domestic and international orders to different pipelines.
SorterActive / ConnectedSorts data based on one or more sort keys.Sort records before aggregation or comparison.
Source QualifierActive / ConnectedRepresents the rows that the Integration Service reads from a relational or flat file source when it runs a session.Select, join, or filter source rows before downstream transformations.
Transaction ControlActive / ConnectedDefines commit and rollback transactions.Commit rows after a logical business transaction is complete.
UnionActive / ConnectedMerges data from different databases or flat file systems.Combine sales rows from multiple regional files into one pipeline.
Unstructured DataActive or Passive / ConnectedTransforms data in unstructured and semi-structured formats.Extract usable fields from documents or semi-structured inputs.
Update StrategyActive / ConnectedDetermines whether rows are inserted, deleted, updated, or rejected.Mark changed customer rows for update and new customer rows for insert.
XML GeneratorActive / ConnectedReads data from one or more input ports and outputs XML through a single output port.Create XML output from relational input rows.
XML ParserActive / ConnectedReads XML from one or more input ports and outputs data to one or more output ports.Parse XML order data into structured rows.
XML Source QualifierActive / ConnectedRepresents the rows that the Integration Service reads from an XML source when it runs a session.Read XML source rows for further transformation.

What is Passive Transformation in Informatica?

A passive transformation in Informatica does not change the number of rows that pass through it. If it receives n input rows, it returns n output rows. It also maintains the transaction boundary and does not change the row type.

For example, an Expression transformation may calculate a full name from first name and last name, a Sequence Generator may create a surrogate key value, and a Lookup transformation may return reference data for each incoming row.

TransformationTypeDescriptionExample use
ExpressionPassive / ConnectedCalculates values using expressions and functions.Derive full name, tax amount, margin, or formatted date.
HTTPPassive / ConnectedConnects to an HTTP server to read or update data.Call an HTTP service during row processing.
InputPassive / ConnectedDefines mapplet input rows and is available in the Mapplet Designer.Pass rows into a reusable mapplet.
LookupPassive / Connected or UnconnectedLooks up values from a relational table, flat file, or other lookup source.Find customer name, product category, or currency conversion rate.
OutputPassive / ConnectedDefines mapplet output rows and is available in the Mapplet Designer.Pass transformed rows out of a mapplet.
Sequence GeneratorPassive / ConnectedGenerates numeric sequence values, often used as surrogate keys.Create customer_key or order_key values for a target table.
Stored ProcedurePassive / Connected or UnconnectedCalls a stored procedure.Run database logic or return a value from a procedure.

Connected, Unconnected, Reusable, and Non-Reusable Transformations

Informatica transformations can also be described by how they are connected and reused in mappings. This classification is separate from active and passive behavior.

Transformation categoryMeaning in InformaticaTypical example
Connected transformationThe transformation is connected to the mapping pipeline. It receives data from another object and passes data to another object.Expression, Filter, Joiner, Aggregator, Router.
Unconnected transformationThe transformation is not directly connected to the pipeline. It is called from another transformation and returns a value.Unconnected Lookup or Stored Procedure.
Reusable transformationThe transformation is created once and reused in multiple mappings.A reusable Expression transformation for standard date formatting.
Non-reusable transformationThe transformation is created inside one mapping and is used only in that mapping.A Filter transformation created for one specific load rule.

Unconnected Transformation in Informatica

An unconnected transformation in Informatica is not linked directly in the mapping pipeline. Instead, it is called from another transformation, usually through an expression, and it returns a value to the calling transformation. The most common example is an unconnected Lookup transformation that returns one lookup value when called.

Use an unconnected transformation when the logic is needed conditionally, when the same lookup must be called from multiple places, or when returning a single value is enough. Use a connected transformation when every row must pass through the transformation as part of the main data flow.

How to Create an Informatica Transformation in PowerCenter Designer

Informatica transformations can be created using Designer tools such as Mapping Designer, Transformation Developer, and Mapplet Designer. After creating a transformation, configure its ports, properties, groups, expressions, conditions, and cache settings as required. Finally, link the transformation to source definitions, other transformations, and target definitions in the mapping or mapplet.

Mapping Designer: Mapping Designer creates transformations inside a mapping that connects source definitions to target definitions. These transformations are usually specific to that mapping.

Transformation Developer: Transformation Developer creates individual reusable transformations. A reusable transformation can be used in more than one mapping, which helps keep common logic consistent.

Mapplet Designer: Mapplet Designer creates and configures a group of transformations called a mapplet. A mapplet can be reused in multiple mappings when the same transformation logic is required repeatedly.

  1. Open the appropriate Designer tool for the mapping, reusable transformation, or mapplet.
  2. Select the transformation type that matches the business rule, such as Expression, Filter, Lookup, Router, or Aggregator.
  3. Add input, output, input/output, variable, or generated ports as required.
  4. Configure transformation-specific properties such as filter condition, lookup condition, group by ports, sort keys, or update strategy expression.
  5. Connect the transformation ports to the previous and next objects in the mapping.
  6. Validate the mapping and review errors related to port data types, unconnected ports, invalid expressions, or unsupported transformation order.
Informatica transformations

Informatica Transformation Examples by ETL Requirement

The right transformation depends on the ETL rule you need to implement. The following examples show common mapping requirements and the transformations usually used for them.

ETL requirementRecommended Informatica transformationReason
Load only records where status is Active.FilterRemoves rows that do not satisfy the condition.
Create a new column for total amount.ExpressionCalculates values without changing row count.
Find product category from product code.LookupFetches reference values from a lookup source.
Generate surrogate key values for a dimension table.Sequence GeneratorCreates sequential numeric values.
Split rows into valid, invalid, and review groups.RouterSends rows to different output groups using conditions.
Join customer data from one database with order data from another source.JoinerCombines rows from heterogeneous sources.
Calculate monthly sales by region.AggregatorGroups detail rows and calculates summary values.
Mark rows for insert or update based on a lookup result.Update StrategyControls the target row operation.
Combine files with the same structure from different regions.UnionMerges multiple pipelines with matching port structures.

Four Common Data Transformation Types in Informatica Projects

Informatica product documentation classifies transformations by behavior and connectivity, but in project discussions data transformation is also described by the kind of change applied to the data. Four common types are:

  1. Structural transformation: changing the shape of data, such as normalizing repeating columns, joining sources, or splitting rows into groups.
  2. Cleansing transformation: correcting or removing invalid values, trimming spaces, handling nulls, or standardizing formats.
  3. Derivation transformation: creating new values from existing columns, such as full name, tax amount, age, or status flag.
  4. Aggregation transformation: summarizing detail rows into grouped results, such as total sales by region or count of orders by customer.

PowerCenter Transformations and IICS Transformations

Informatica PowerCenter and Informatica Intelligent Cloud Services (IICS) both use transformations to define mapping logic, but the design tools and available transformation options are not always identical. In PowerCenter, transformations are created in client tools such as Designer. In IICS Cloud Data Integration, transformations are configured in cloud mapping designers and mapping tasks.

When moving from PowerCenter to IICS, review each transformation type, expression, lookup rule, parameter, and session behavior instead of assuming a direct one-to-one conversion. Most common ETL ideas remain the same, but configuration screens, supported connectors, and runtime options may differ.

Common Mistakes with Informatica Transformations

  • Using Filter when Router is needed: A Filter keeps or rejects rows, while a Router can send rows to multiple output groups.
  • Using Joiner unnecessarily: If both sources are from the same relational database, a Source Qualifier join may be simpler in some designs.
  • Ignoring sorted input rules: Aggregator, Joiner, and Sorter performance depends heavily on sort order and cache behavior.
  • Using too many unconnected lookups: Conditional lookup calls can be useful, but repeated lookup calls may affect performance.
  • Forgetting update strategy handling: Target load behavior must match the session and target properties, not just the Update Strategy expression.
  • Not validating port data types: Mismatched precision, scale, or date formats can cause session failures or incorrect target values.

Informatica Transformation QA Checklist for Mapping Review

Before validating and running an Informatica mapping, review the transformation design against these points:

  • Each active transformation is placed intentionally and its effect on row count is understood.
  • Filter, Router, Joiner, Aggregator, and Update Strategy conditions match the business rules.
  • Expression ports use correct data types, precision, scale, and date formats.
  • Lookup conditions, cache settings, and default return values are reviewed.
  • Sorter, Aggregator, and Joiner settings are checked for performance and sorted input assumptions.
  • Rejected rows, update rows, delete rows, and transaction control rules are tested with sample data.
  • Reusable transformations and mapplets are used only when the logic is genuinely shared across mappings.

FAQs on Informatica Transformations

What is a transformation in Informatica?

A transformation in Informatica is a repository object used in a mapping or mapplet to process data. It can read rows, calculate values, filter records, join data, perform lookups, aggregate records, route rows, generate sequence numbers, or control target row operations.

What is the difference between active and passive transformations in Informatica?

An active transformation can change the number of rows, row order, transaction boundary, or row type. A passive transformation returns the same number of rows it receives and does not change the transaction boundary or row type.

How many transformations are there in Informatica?

The exact number depends on the Informatica product, version, license, and installed connectors. In PowerCenter learning materials, the most frequently discussed transformations include Source Qualifier, Expression, Filter, Lookup, Aggregator, Joiner, Router, Rank, Sorter, Sequence Generator, Update Strategy, Union, Normalizer, XML transformations, Stored Procedure, and Java transformations.

What are the four main Informatica PowerCenter client tools?

The four commonly taught PowerCenter client tools are Designer, Workflow Manager, Workflow Monitor, and Repository Manager. Transformations are mainly created and configured in Designer, while workflows and sessions are managed in Workflow Manager and monitored in Workflow Monitor.

What are transformations in IICS?

In IICS, transformations are mapping objects used in Cloud Data Integration to define how data is processed between sources and targets. The concept is similar to PowerCenter transformations, but the available transformations, interface, connectors, and runtime settings may differ.

Informatica Transformations Summary

Informatica transformations define the data processing logic in a mapping. Active transformations can change row flow, while passive transformations preserve the number of rows. Connected transformations participate directly in the pipeline, while unconnected transformations are called from another transformation and return a value. A clear understanding of these categories helps you choose the right transformation for filtering, calculating, joining, looking up, aggregating, routing, and loading data correctly.