infa transformations
TRANSCRIPT
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 1/21
Transformations
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 2/21
Transformations
A transformation is a repository object that generates,modifies, or passes data
The Designer provides a set of transformations that
perform specific functions
Data passes into and out of transformations throughports that you connect in a mapping or mapplet
Transformations can be active or passive
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 3/21
Transformations Active transformations
Aggregator performs aggregate calculationsFilter serves as a conditional filterRouter serves as a conditional filter (more than one filters)Joiner allows for heterogeneous joinsSource qualifier represents all data queried from the source
Passive transformations
Expression performs simple calculationsLookup looks up values and passes to other objectsSequence generator generates unique ID valuesStored procedure calls a stored procedure and captures return values
Update strategy allows for logic to insert, update, delete, or rejectdata
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 4/21
Transformations Contd..
Create the transformation. Create it in the Mapping
Designer as part of a mapping, in the Mapplet Designer as
part of a Mapplet, or in the Transformation Developer as
a reusable transformation.
Configure the transformation. Each type of transformation
has a unique set of options that you can configure.
Connect the transformation to other transformations
and target definitions. Drag one port to another to
connect them in the mapping or Mapplet.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 5/21
Expression Transformation
You can use the Expression transformations to calculate
values in a single row before you write to the target.
For example, you might need to adjust employee salaries,
concatenate first and last names, or convert strings tonumbers.
You can use the Expression transformation to perform any
non-aggregate calculations.
You can also use the Expression transformation to test
conditional statements before you output the results to
target tables or other transformations.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 6/21
Expression Transformation
Calculating Values
To use the Expression transformation to calculate values for a single
row, you must include the following ports:
Input or input/output ports for each value used in the
calculation. For example, when calculating the total price for anorder, determined by multiplying the unit price by the quantity
ordered, the input or input/output ports. One port provides the
unit price and the other provides the quantity ordered.
Output port for the expression. You enter the expression as a
configuration option for the output port. The return value for
the output port needs to match the return value of the
expression.
Variable Port : Variable Port is used like local variable inside
Expression Transformation , which can be used in other calculations
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 7/21
Source Qualifier Transformation
Every mapping includes a Source Qualifier
transformation, representing all the columns
of information read from a source andtemporarily stored by the Informatica Server.
In addition, you can add transformations such
as a calculating sum, looking up a value, or
generating a unique ID that modify
information before it reaches the target.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 8/21
Source Qualifier Transformation
When you add a relational or a flat file source definition to a mapping, you need to connectit to a Source Qualifier transformation.
The Source Qualifier represents the records that the Informatica Server reads when it runsa session. You can use the Source Qualifier to perform the following tasks:
• Join data originating from the same source database. You can join two or more tableswith primary-foreign key relationships by linking the sources to one Source Qualifier.
• Filter records when the Informatica Server reads source data. If you include a filtercondition, the Informatica Server adds a WHERE clause to the default query.
• Specify an outer join rather than the default inner join. If you include a user-defined join, the Informatica Server replaces the join information specified by the metadata in theSQL query.
• Specify sorted ports. If you specify a number for sorted ports, the Informatica Serveradds an ORDER BY clause to the default SQL query.
• Select only distinct values from the source. If you choose Select Distinct, theInformatica Server adds a SELECT DISTINCT statement to the default SQL query.
• Create a custom query to issue a special SELECT statement for the Informatica Server toread source data. For example, you might use a custom query to perform aggregatecalculations or execute a stored procedure
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 9/21
Configuring Source Qualifier Transformation
To configure a Source Qualifier:
• In the Designer, open a mapping.
• Double-click the title bar of the Source Qualifier.
• In the Edit Transformations dialog box, click
Rename, enter a descriptive name for the
transformation, and click OK. The naming
convention for Source Qualifier transformations is
SQ_TransformationName,.
• Click the Properties tab.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 10/21
Configuring Source Qualifier
Option Description SQL Query Defines a custom query that replaces the default query the Informatica Server uses
to read data from sources represented in this Source Qualifier User-Defined
Join Specifies the condition used to join data from multiple sources represented in thesame Source Qualifier transformation
Source Filter Specifies the filter condition the Informatica Server applies when querying records.
Number of SortedPorts
Indicates the number of columns used when sorting records queried from relationalsources. If you select this option, the Informatica Server adds an ORDER BY tothe default query when it reads source records. The ORDER BY includes thenumber of ports specified, starting from the top of the Source Qualifier.
When selected, the database sort order must match the session sort order.
Tracing Level Sets the amount of detail included in the session log when you run a sessioncontaining this transformation.
Select Distinct Specifies if you want to select only unique records. The Informatica Server includes
a SELECT DISTINCT statement if you choose this option.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 11/21
Joiner Transformation
While a Source Qualifier transformation can join data originating from a common source database,
the Joiner transformation joins two related
heterogeneous sources residing in different locations or file systems. The combination of sources
can be varied. You can use the following sources:
• Two relational tables existing in separate databases
• Two flat files in potentially different file systems
• Two different ODBC sources
• Two instances of the same XML source
• A relational table and a flat file source
• A relational table and an XML source
If two relational sources contain keys, then a Source Qualifier transformation can easily join thesources on those keys. Joiner transformations typically combine information from two
different sources that do not have matching keys, such as flat file sources.
The Joiner transformation allows you to join sources that contain binary data.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 12/21
Creating a Joiner Transformation
To create a Joiner Transformation:
• In the Mapping Designer, choose Transformation-Create. Select theJoiner transformation. Enter a name for the Joiner. Click OK. Thenaming convention for Joiner transformations isJNR_TransformationName. Enter a description for the transformation.This description appears in the Repository Manager, making it easier foryou or others to understand or remember what the transformationdoes.
• The Designer creates the Joiner transformation. Keep in mind that you
cannot use a Sequence Generator or Update Strategy transformation asa source to a Joiner transformation.• Drag all the desired input/output ports from the first source into the
Joiner transformation. The Designer creates input/output ports for thesource fields in the Joiner as detail fields by default. You can edit thisproperty later.
• Select and drag all the desired input/output ports from the secondsource into the Joiner transformation. The Designer configures thesecond set of source fields and master fields by default.
• Double-click the title bar of the Joiner transformation to open the EditTransformations dialog box.
• Select the Ports tab.• Click any box in the M column to switch the master/detail relationship
for the sources. Change the master/detail relationship if necessary byselecting the master source in the M column.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 13/21
Creating a Joiner Transformation
Select the Condition tab and set the condition.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 14/21
Configuring Joiner transformation
Joiner Setting Description Case-SensitiveStringComparison
If selected, the Informatica Server uses case-sensitive stringcomparisons when performing joins on string columns.
Cache Directory Specifies the directory used to cache master records and the index tothese records. By default, the caches are created in a directoryspecified by the server variable $PMCacheDir. If you override the
directory, be sure there is enough disk space on the file system. Thedirectory can be a mapped or mounted drive.
Join Type Specifies the type of join: Normal, Master Outer, Detail Outer, or FullOuter.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 15/21
Used to look up data in a relational table, view, synonym or FlatFile.
It compares Lookup transformation port values to lookup tablecolumn values based on the lookup condition.
Connected Lookups Receives input values directly from another transformation in the
pipeline For each input row, the Informatica Server queries the lookup table
or cache based on the lookup ports and the condition in thetransformation
Passes return values from the query to the next transformationUn Connected Lookups Receives input values from an expression using the :LKP (:LKP.lookup_transformation_name (argument, argument,
...)) reference qualifier to call the lookup and returns one value. With unconnected Lookups, you can pass multiple input values into
the transformation, but only one column of data out of thetransformation
Lookup Transformation
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 16/21
Lookup Transformation
You can configure the Lookup transformation to perform different types of
lookups. You can configure the transformation to be connected or
unconnected, cached or uncached:
Connected or unconnected. Connected and unconnected transformations
receive input and send output in different ways.
Cached or uncached. Sometimes you can improve session performance by
caching the lookup table. If you cache the lookup table, you can choose to use
a dynamic or static cache. By default, the lookup cache remains static and does
not change during the session. With a dynamic cache, the Informatica Server
inserts rows into the cache during the session. Informatica recommends that
you cache the target table as the lookup. This enables you to look up values in
the target and insert them if they do not exist.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 17/21
Diff bet Connected & Unconnected Lookup
Connected lookup Unconnected lookup
1) Receives input values directly from of athe pipe line transformation.
Receives input values from the result of LKP expression within othertransformation.
2) U can use a dynamic or static cache U can use a static cache.
3) Cache includes all lookup columns usedin the mapping.
Cache includes all lookup out put ports.
4) Support user defined default values Does not support user defined defaultvalues
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 18/21
Diff between Static & Dynamic Cache
Static Cache Dynamic Cache
1) U can not insert or update the
cache
U can insert rows into the cache as u pass
to the target
2) The Informatica Server does notupdate the cache while it processesthe Lookup transformation
The Informatica Server dynamicallyinserts data into the lookup cacheand passes data to the target table.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 19/21
Update Strategy Transformation
When you design your data warehouse, you need to decide what type of information to store in targets. As part of your target table design, youneed to determine whether to maintain all the historic data or just themost recent changes.
For example, you might have a target table, T_CUSTOMERS, that contains customerdata. When a customer address changes, you may want to save the originaladdress in the table, instead of updating that portion of the customer record. Inthis case, you would create a new record containing the updated address, and
preserve the original record with the old customer address. This illustrates howyou might store historical information in a target table. However, if you want theT_CUSTOMERS table to be a snapshot of current customer data, you would updatethe existing customer record and lose the original address.
The model you choose constitutes your update strategy , how to handle changes toexisting records. In Power Mart and Power Center, you set your update strategy attwo different levels:
• Within a session. When you configure a session, you can instruct the
Informatica Server to either treat all records in the same way (forexample, treat all records as inserts), or use instructions coded into thesession mapping to flag records for different database operations.
• Within a mapping. Within a mapping, you use the Update Strategytransformation to flag records for insert, delete, update, or reject.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 20/21
Setting up Update Strategy at Session Level
During session configuration, you can select a single database operationfor all records. For the Treat Rows As setting, you have the following
options:
Setting Description Insert
Treat all records as inserts. If inserting the record violates a primary orforeign key constraint in the database, the Informatica Server rejects therecord.
Delete Treat all records as deletes. For each record, if the Informatica Server finds a
corresponding record in the target table (based on the primary key value),the Informatica Server deletes it. Note that the primary key constraint mustexist in the target definition in the repository.
Update Treat all records as updates. For each record, the Informatica Server looks fora matching primary key value in the target table. If it exists, the InformaticaServer updates the record. Again, the primary key constraint must exist in thetarget definition.
DataDriven
The Informatica Server follows instructions coded into Update Strategytransformations within the session mapping to determine how to flag recordsfor insert, delete, update, or reject.
If the mapping for the session contains an Update Strategy transformation,this field is marked Data Driven by default.If you do not choose Data Driven setting, the Informatica Server ignores all
Update Strategy transformations in the mapping.
7/28/2019 Infa Transformations
http://slidepdf.com/reader/full/infa-transformations 21/21
Update Strategy Settingssetting you choose depends on your update strategy and the status of data in target tables:
Setting Use To
Insert Populate the target tables for the first time, or maintaining a historicaldata warehouse. In the latter case, you must set this strategy for theentire data warehouse, not just a select group of target tables.
Delete Clear target tables.
Update Update target tables. You might choose this setting whether your datawarehouse contains historical data or a snapshot. Later, when youconfigure how to update individual target tables, you can determinewhether to insert updated records as new records or use the updated
information to modify existing records in the target.
DataDriven
Exert finer control over how you flag records for insert, delete, update,or reject. Choose this setting if records destined for the same tableneed to be flagged on occasion for one operation (for example,update), or for a different operation (for example, reject). In addition,this setting provides the only way you can flag records for reject.