8/4/2019 Presentation Determination
1/39
Determination
Presented By :
Rupal Bhatt
Mikky Mahant
Jateen Makawana
Sanjay Dubey
1
8/4/2019 Presentation Determination
2/39
2
8/4/2019 Presentation Determination
3/39
Ports
All input / outputSpecify a Filter Condition
UsageFilters rows from inputflow
Filter Transformation
Drops rows conditionally
8/4/2019 Presentation Determination
4/39
Can sort data from relational tables or flat files
Sort takes place on the Informatica Server machine
Multiple sort keys are supported
The Sorter transformation is often more efficient than a sortperformed on a database with an ORDER BY clause
Sorter Transformation
8/4/2019 Presentation Determination
5/39
contd
PortsAll input / outputDefine one or more sort
keysDefine sort order for eachkey
Example of UsageSort data beforeAggregator to improveperformance
Sorts data from any source, at any point in a data flowSort Keys
Sort Order
8/4/2019 Presentation Determination
6/39
Cache size can beadjusted. Default is8MbServer uses twice thecache listed
Ensure sufficientmemory is available onthe Informatica Server(else the Session Taskwill fail)
Properties
contd
8/4/2019 Presentation Determination
7/39
PortsMixedVariables allowedGroup By allowedCreate expressions in outputports
UsageStandard aggregations
Aggregator Transformation
Performs aggregate calculations
8/4/2019 Presentation Determination
8/39
AVGCOUNTFIRSTLASTMAXMEDIAN
MINPERCENTILESTDDEVSUMVARIANCE
Functions
Return summary values for non-null data in selected portsUse only in AggregatortransformationsUse in output ports only
Calculate a single value (and row)for all records in a groupOnly one aggregate function can benested within an aggregate functionConditional statements can be used
with these functions
contd
8/4/2019 Presentation Determination
9/39
Instructs theAggregator to expectthe data to be sorted
Set Aggregator cachesizes for InformaticaServer machine
Properties
Sorted Input Property
contd
8/4/2019 Presentation Determination
10/39
Sorted Data
Aggregator can handle sorted or unsorted dataSorted data can be aggregated more efficiently, decreasing totalprocessing time
The Server will cache data from each group and release thecached data
upon reaching the first record of the next group
Data mustbe sorted according to the order of the Aggregators
Group By ports
Performance gain will depend upon variable factors
contd
8/4/2019 Presentation Determination
11/39
Data Flow Rules - Terminology
Passive Transformation- Operates on one row of data at a time AND- Cannot change the number of rows on the data flow- Example: Expression transformation
Active Transformation- Can operate on groups of data rows AND/OR- Can change the number of rows on the data flow- Examples: Aggregator, Filter, Source Qualifier
8/4/2019 Presentation Determination
12/39
Active Transformation
Ports
All input or input / outputM denotes port comesfrom master source
ExamplesJoin two flat filesJoin two tables from
different databasesJoin a flat file with arelational table
Joiner Transformation
Performs heterogeneous joins on different data flows
8/4/2019 Presentation Determination
13/39
Joiner Conditions
Multiple join conditionsare supported
contd
8/4/2019 Presentation Determination
14/39
Joiner Properties
Join types:Normal (inner)Master outer
Detail outerFull outer
Set Joiner Caches
Joiner can accept sorted data (configure the join condition to use the sort origin ports)
contd
8/4/2019 Presentation Determination
15/39
For each mapping row, one or more port values are looked up in adatabase table or flat file
If a match is found, one or more table values are returned to themapping. If no match is found, NULL is returned
Lookup Transformation
Lookup valuesLookup transformation
Return values
8/4/2019 Presentation Determination
16/39
Ports
Mixed
L denotes Lookup port
R denotes port used as areturn value (forunconnected Lookups)
Specify the Lookup Condition
Usage
Get related values Verify if a record exists or if
data has changed
Looks up values in a database table or flat file andprovides data to other components in a mapping
contd
8/4/2019 Presentation Determination
17/39
Lookup Conditions
Multiple conditionsare supported
contd
8/4/2019 Presentation Determination
18/39
Lookup table name
Lookup Condition
Native database connectionobject name
Source type(database or flat file)
Lookup Properties
contd
8/4/2019 Presentation Determination
19/39
Policy on multiple match:
Use first value Use last value
Report Error
Lookup Properties
contd
8/4/2019 Presentation Determination
20/39
Caching can significantly impact performance
Cached
Looked table data is cached locally on the server
Mapping rows are looked up against the cache
Only one SQL SELECT is needed
Uncached
Each Mapping row needs one SQL SELECT
Rule Of Thumb: Cache if the number (and size) of records in theLookup table is small relative to the number of mapping rowsrequiring the lookup
Lookup Caching
contd
8/4/2019 Presentation Determination
21/39
By default, Lookup caches are not persistent; when the session
completes, the cache is erased
Cache can be made persistent with the Lookup properties
When the Session completes, the persistent cache is stored on theserver hard disk
The next time the Session runs, cached data is loaded fully orpartially into the RAM and reused
A named persistent cache may be shared by different sessions
Can improve performance, but stale data may pose a problem
Persistent Caching
contd
8/4/2019 Presentation Determination
22/39
8/4/2019 Presentation Determination
23/39
Make cache persistent
Set Lookup cache sizes
Set prefix for persistentcache file name
Reload persistent cache
contd
8/4/2019 Presentation Determination
24/39
To maintain referential integrity, primary keys must be loadedbefore their corresponding foreign keys: in order tgt1, tgt2, tgt3
Constraint-based Loading
PK1
PK2
PK2
PK3
PK3
contd
8/4/2019 Presentation Determination
25/39
Setting Constraint-based Loading
contd
8/4/2019 Presentation Determination
26/39
Active transformation
Can operate on groups of data rows and/or can change the number ofrows on the data flow
Examples: Source Qualifier, Aggregator, Joiner, Sorter, Filter
Active Source Active transformation that generates rows Cannot match an output row with a distinct input row Examples: Source Qualifier, Aggregator, Joiner, Sorter NOTE: The Filter is NOT an active source
Active Group Group of targets in a mapping being fed by the same active source
Constraint-based Loading - Terminology
contd
8/4/2019 Presentation Determination
27/39
Example 1
With only one Active source,rows for targets 1, 2, and 3will be loaded properlyand maintain referentialintegrity
Example 2:
With two Active sources, it isnot possible to controlwhether rows for tgt3 willbe loaded before or afterthose for tgt2
Constraint-based Loading - Restrictions
Cannot have two active groups
PK1
PK2
PK2
PK3
PK3
PK1
PK2
PK2
PK3
PK3
contd
8/4/2019 Presentation Determination
28/39
Ports
All input / output
Specify the UpdateStrategy Expression IIF or DECODElogic determineshow to handle therecord
Example Updating Slowly
ChangingDimensions
Update Strategy Transformation
Used to specify how each individual row will be used toupdate target tables (insert, update, delete, reject)
8/4/2019 Presentation Determination
29/39
IIF ( score > 69, DD_INSERT, DD_DELETE ) Expression is evaluated for each row
Rows are tagged according to the logic of the expression
Appropriate SQL (DML) is submitted to the target database:insert, delete or update
DD_REJECT means the row will not have SQL written for it. Thetarget will not see that row
Rejected rows may be forwarded through Mapping
Update Strategy Expressions
contd
8/4/2019 Presentation Determination
30/39
Router Transformation
Sequence Generator Transformation Normalizer Transformation
Rank Transformation
Union Transformation
Other Transformations
8/4/2019 Presentation Determination
31/39
Mapplets are created in the mapplet designer
Mapplets are used when you want to use a standardizedset of transformation logic in several mappings When you use a mapplet in a mapping only the input and
output ports from the transformations are viewed
Mapplets
Mapplet
8/4/2019 Presentation Determination
32/39
Mapplets help simplify mappings in the following ways: Include source definitions. You can include multiple source
definitions and qualifiers to provide data for a mapping.
Accept data from sources in a mapping. If you want the mapplet toaccept data from a mapping you can use an input transformation to
receive source data. Include multiple transformations. A mapping can contain as many
transformations as you need.
Pass data to multiple transformations. You can create a mapplet tofeed data to multiple transformations in the mapping.
Contain unused ports. You do not have to use all input and outputports in a mapplet.
Reusable. A complex mapplet can be used in multiple mappings
contd
8/4/2019 Presentation Determination
33/39
Useful for repetitive tasks / logic
Represents a set of transformations
Mapplets are reusable
Use an instance of a Mapplet in a Mapping
Changes to a Mapplet are inherited by all instances
Server expands the Mapplet at runtime
Mapplet Advantages
contd
8/4/2019 Presentation Determination
34/39
Do not use the following in a mapplet:
XML source definitions
Target definitions Other mapplets
Unsupported Transformations
contd
8/4/2019 Presentation Determination
35/39
Internal Sources
One or more Source definitions / Source Qualifiers within theMapplet
External Sources Mapplet contains a Mapplet Input transformation
Receives data from the Mapping it is used in
Mixed Sources
Mapplet contains one or more of either a Mapplet Inputtransformation AND one or more Source Qualifiers
Receives data from the Mapping it is used in, AND from theMapplet
Mapplet Source Options
contd
8/4/2019 Presentation Determination
36/39
8/4/2019 Presentation Determination
37/39
Define once, use many times Can be a copy or a shortcut
Edit Ports only in Transformation Developer
Can edit Properties in the mapping
Instances dynamically inherit changes
Caution: change reusable transformations can invalidatemappings
Note: Source Qualifier Transformations cannot be made reusable
Reusable Transformations
8/4/2019 Presentation Determination
38/39
This copy action must be done within the same folder
Hold down the Ctrl key and drag a Reusable transformation fromthe Navigator window into a mapping (Mapping Designer tool)
A message appears in the status bar:
Make a non-reusable copy of this transformation and add it to thismapping
Drop the transformation into the mapping
Save the changes to the Repository
Copying Reusable Transformations
contd
8/4/2019 Presentation Determination
39/39
Thank You