infa transformations

21
Transformations

Upload: lokeshscribd186

Post on 03-Apr-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Infa Transformations

7/28/2019 Infa Transformations

http://slidepdf.com/reader/full/infa-transformations 1/21

Transformations

Page 2: Infa 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

Page 3: Infa Transformations

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

Page 4: Infa Transformations

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.

Page 5: Infa Transformations

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.

Page 6: Infa 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

Page 7: Infa Transformations

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.

Page 8: Infa Transformations

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

Page 9: Infa Transformations

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.

Page 10: Infa Transformations

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.

Page 11: Infa Transformations

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.

Page 12: Infa Transformations

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.

Page 13: Infa Transformations

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.

Page 14: Infa Transformations

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. 

Page 15: Infa Transformations

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

Page 16: Infa Transformations

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.

Page 17: Infa Transformations

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

Page 18: Infa Transformations

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.

Page 19: Infa Transformations

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.

Page 20: Infa Transformations

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. 

Page 21: Infa Transformations

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.