Beruflich Dokumente
Kultur Dokumente
Active Transformation
Connected
Ports
• All input / output
Usage
• Filter rows from
flat file sources
• Single pass source(s)
into multiple targets
1
Aggregator Transformation
Active Transformation
Connected
Ports
• Mixed
• Variables allowed
• Group By allowed
Create expressions in
output or variable ports
Usage
• Standard aggregations
2
Informatica Functions
Aggregate Functions
AVG Return summary values for non-null data
COUNT in selected ports
FIRST
LAST
Use only in Aggregator transformations
MAX
Use in output ports only
MEDIAN
MIN Calculate a single value (and row) for all
PERCENTILE
records in a group
STDDEV
SUM Only one aggregate function can be
VARIANCE nested within an aggregate function
Conditional statements can be used with
these functions
3
Aggregate Expressions
Aggregate
functions are
supported
only
in the
Aggregator
Transformation
Conditional
Aggregate
expressions
are supported Conditional SUM format: SUM(value, condition)
4
Aggregator Properties
Instructs the
Aggregator to
expect the data
to be sorted
Set Aggregator
cache sizes (on
Informatica Server
machine)
5
Sorted Data
6
Incremental Aggregation
MTD
Trigger in calculation
Session Properties,
Performance
Tab
Best Practice is to copy these files in case a rerun of data is ever required.
Reinitialize when no longer needed, e.g. – at the beginning new month processing 7
Joiner Transformation
8
Homogeneous Joins
Joins that can be performed with a SQL SELECT statement:
Source Qualifier contains a SQL join
9
Heterogeneous Joins
10
Joiner Transformation
Active Transformation
Connected
Ports
• All input or input / output
• “M” denotes port comes
from master source
Specify the Join condition
Usage
• Join two flat files
• Join two tables from
different databases
• Join a flat file with a
relational table 11
Joiner Conditions
Multiple
join
conditions
are supported
12
Joiner Properties
Join types:
• “Normal”
(inner)
• Master outer
• Detail outer
• Full outer
Set
Joiner Cache
14
Sorter Transformation
15
Lookup Transformation
16
How a Lookup Transformation Works
For each Mapping row, one or more port values are looked
up in a database table
If a match is found, one or more table values are returned
to the Mapping. If no match is found, NULL is returned
Return value(s)
17
Lookup Transformation
Looks up values in a database table and provides
data to other components in a Mapping
Passive Transformation
Connected / Unconnected
Ports
• Mixed
• “L” denotes Lookup port
• “R” denotes port used as a
return value (unconnected
Lookup only)
Specify the Lookup Condition
Usage
• Get related values
• Verify if records exists or
if data has changed 18
Lookup Properties
Override
Lookup SQL
option
Toggle
caching
Native
Database
Connection
Object name
19
Additional Lookup Properties
Set cache
directory
Make cache
persistent
Set
Lookup
cache sizes
20
Lookup Conditions
Multiple conditions are supported
21
To Cache or not to Cache?
Caching can significantly impact performance
Cached
• Lookup 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 the Lookup table is small relative to the
number of mapping rows requiring lookup
22
Target Options
23
Target Properties
Session Task
Select target
instance
Row loading
operations
Error handling
Properties Tab
24
Constraint-based Loading
Maintains referential integrity in the Targets
pk1
Example 1
fk1, pk2 With only One Active source, rows
for Targets 1-3 will be loaded
properly and maintain referential
fk2 integrity
pk1 Example 2
With Two Active sources, it is not
fk1, pk2 possible to control whether rows for
Target 3 will be loaded before or
fk2 after those for Target 2
26
Update Strategy Transformation
Used to specify how each individual row will be used to
update target tables (insert, update, delete, reject)
Active Transformation
Connected
Ports
• All input / output
Usage
• Updating Slowly
Changing Dimensions
• IIF or DECODE logic
determines how to
handle the record
27
Target Refresh Strategies
28
Router Transformation
Active Transformation
Connected
Ports
• All input/output
• Specify filter conditions
for each Group
Usage
• Link source data in one
pass to multiple filter
conditions
29
Router Transformation in a Mapping
30
Parameters and Variables
31
System Variables
SYSDATE Provides current datetime on the
Informatica Server machine
• Not a static value
33
Mapping Parameters and Variables
Sample declarations
Set the
User- appropriate
defined aggregation
names type
Set optional
Initial Value
35
Unconnected Lookup
Will be physically “unconnected” from other transformations
• There can be NO data flow arrows leading to or from an
unconnected Lookup
Lookup function can be set within any
transformation that supports expressions
Lookup data is
called from the
point in the
Mapping that
needs it
Function in the
Aggregator calls the
unconnected Lookup
36
Conditional Lookup Technique
Two requirements:
Must be Unconnected (or “function mode”) Lookup
Lookup function used within a conditional statement
Row keys
Condition (passed to Lookup)
IIF ( ISNULL(customer_id),:lkp.MYLOOKUP(order_no))
Lookup function
Condition Lookup
(true for 2 percent of all (called only when condition is
rows) true)
Net savings = 490,000 lookups
38
Connected vs. Unconnected Lookups
Part of the mapping data flow Separate from the mapping data
flow
Returns multiple values (by linking Returns one value (by checking the
output ports to another Return (R) port option for the output
transformation) port that provides the return value)
Executed for every record passing Only executed when the lookup
through the transformation function is called
More visible, shows where the Less visible, as the lookup is called
lookup values are used from an expression within another
transformation
Default values are used Default values are ignored
39
Heterogeneous Targets
40
Definition: Heterogeneous Targets
41
Step One: Identify Different Target Types
Oracle table
Oracle table
Tables are EITHER in two
different databases, or
require different (schema-
specific) connect strings
Flat file
One target is a flatfile load
42
Step Two: Different Database Connections
Flatfile requires
separate location
information
43
Target Type Override (Conversion)
CAUTION: If target definition datatypes are not compatible with datatypes in newly
selected database type, modify the target definition 44
Mapplet Designer
Mapplet Output
Transformation
45
Mapplet Advantages
46
Active and Passive Mapplets
47
Using Active and Passive Mapplets
Multiple Passive
Mapplets can populate
Passive the same target
instance
48
Reusable Transformations
49
Reusable Transformations
Define once - reuse many times
Reusable Transformations
• Can be a copy or a shortcut
• Edit Ports only in Transformation Developer
• Can edit Properties in the mapping
• Instances dynamically inherit changes
• Be careful: It is possible to invalidate mappings by
changing reusable transformations
Transformations that cannot be made reusable
• Source Qualifier
• ERP Source Qualifier
• Normalizer used to read a Cobol data source
50
Promoting a Transformation to Reusable
Place a
check in the
“Make
reusable” box
This action
is not
reversible
51
Sequence Generator Transformation
Passive Transformation
Connected
Ports
• Two predefined
output ports,
NEXTVAL and
CURRVAL
• No input ports allowed
Usage
• Generate sequence numbers
• Shareable across mappings
52
Sequence Generator Properties
Number
of
Cached
Values
53
Dynamic Lookup
54
Additional Lookup Cache Options
Make cache
persistent
56
Dynamic Lookup Cache Advantages
57
Update Dynamic Lookup Cache
NewLookupRow port values
• 0 – static lookup, cache is not changed
• 1 – insert row to Lookup cache
• 2 – update row in Lookup cache
Does NOT change row type
Use the Update Strategy transformation before or after
Lookup, to flag rows for insert or update to the target
Ignore NULL Property
• Per port
• Ignore NULL values from input row and update the cache
using only with non-NULL values from input
58
Example: Dynamic Lookup Configuration
60
Multi-Task Workflows - Sequential
61
Multi-Task Workflows - Concurrent
62
Multi-Task Workflows - Combined
64
Rank Transformation
Filters the top or bottom range of records
Active Transformation
Connected
Ports
• Mixed
• One pre-defined
output port
RANKINDEX
• Variables allowed
• Group By allowed
Usage
• Select top/bottom
• Number of records
65
Normalizer Transformation
Active Transformation
Connected
Ports
• Input / output or output
Usage
• Required for VSAM
Source definitions
• Normalize flat file or
relational source
definitions
• Generate multiple
records from one record
66
Normalizer Transformation
Turn one row
YEAR,ACCOUNT,MONTH1,MONTH2,MONTH3, … MONTH12
1997,Salaries,21000,21000,22000,19000,23000,26000,29000,29000,34000,34000,40000,4500
0
1997,Benefits,4200,4200,4400,3800,4600,5200,5800,5800,6800,6800,8000,9000
1997,Expenses,10500,4000,5000,6500,3000,7000,9000,4500,7500,8000,8500,8250
67
Stored Procedure Transformation
Passive Transformation
Connected/Unconnected
Ports
• Mixed
• “R” denotes port will
return a value from the
stored function to the
next transformation
Usage
• Perform transformation
logic outside PowerMart /
PowerCenter
68
External Procedure Transformation (TX)
Calls a passive procedure defined in a dynamic linked
library (DLL) or shared library
Passive Transformation
Connected/Unconnected
Ports
• Mixed
• “R” designates return
value port of an
unconnected
transformation
Usage
• Perform transformation
logic outside PowerMart /
PowerCenter
Option to allow partitioning 69
Advanced TX Transformation
Calls an active procedure defined in a dynamic linked
library (DLL) or shared library
Active Transformation
Connected Mode only
Ports
• Mixed
Usage
• Perform
transformation logic
outside PowerMart /
PowerCenter
• Sorting, Aggregation
Passive Transformation
Connected Mode Only
Ports
• Input and Output
Properties
• Continue
• Commit Before
• Commit After
• Rollback Before
• Rollback After
71
Transaction Control Functionality
Commit Types
• Target Based Commit -
Commit Based on “approximate” number of records
written to target
• Source Based Commit –
Ensures that a source record is committed in all
targets
• User Defined Commit –
Uses Transaction Control Transform to specify
commits and rollbacks in the mapping based on
conditions
Set the Commit Type (and other specifications) in the
Transaction Control Condition
72
Versioning
73
Informatica Business Analytics Suite
Modular
Plug-&-Play
Approach
Packaged
Analytic Solutions Custom Built
Analytic Solutions
74
Informatica Warehouses / Marts
Informatica Warehouse™
Customer Finance Human Supply Chain
Relationship Resources
Sales G/L Compensation Planning
Marketing Receivables Scorecard Sourcing
Service Payables Inventory
Web Profitability Quality
Common Dimensions
Customer Product Supplier Geography
Organization Time Employee
75
Inside the Informatica Warehouse
Business Intelligence Business Adapters™ (Extract)
• Data Source Connectivity with Minimal
Load
Informatica Warehouse™ • Structural/Functional Knowledge of
Sources
Analytic Advanced
Data Model Calculation Analytic Bus™ (Transform)
Engine • Transaction consolidation and
standardization
• Source independent interface
Load