Sei sulla pagina 1di 223

Informatica

PowerMart /
PowerCenter 6 Basics

Hands-on Lab Guide


PC6B-20030512

Informatica Corporation, 2003. All rights reserved.


Duplication prohibited without written consent from Informatica Corporation
Table of Contents

Document Conventions........................................................ ..............5


Lab Guidelines.................................................................. .................5
The Design Process .......................................................................... .6
Lab 1 – Create a Folder........................................................... ...........6
Start Repository Manager..........................................................................6
Connect to the Repository.........................................................................6
Create a Folder........................................................................................7
Close the Repository Manager....................................................................8
Lab 2 – Analyze Source Data.............................................................9
Start the Designer....................................................................................9
Open Folder.............................................................................................9
Open the Source Analyzer........................................................................11
Analyze Source Definitions.......................................................................13
Edit the Source Definition........................................................................14
Create Metadata Extensions.....................................................................16
Clear the Workspace...............................................................................17
Save Work.............................................................................................18
Lab 3 – Import Target Schema........................................................19
Open the Warehouse Designer.................................................................19
Import Target Table Definitions.................................................................20
Lab 4 – Create a Mapping................................................................22
Open Mapping Designer...........................................................................22
Create Mapping ....................................................................................23
Add Source and Target Definitions............................................................24
Source Qualifier Transformation................................................................26
Create an Expression Transformation .......................................................27
Modify / Add Ports..................................................................................30
Create Expression Formula......................................................................30
Validate the Mapping ..............................................................................34
Lab 5 – Create a Workflow......................................................... ......37
Start Workflow Manager..........................................................................37
Create Workflow.....................................................................................38
Edit the Workflow...................................................................................40
Create Metadata Extensions.....................................................................40
Working with Tasks.................................................................................41
Create Session Task................................................................................42
Edit Session Task....................................................................................42
Link Workflow Tasks................................................................................46
Validate the Workflow .............................................................................47
Lab 6 – Start and Monitor the Workflow..........................................49
Open Workflow.......................................................................................49
Close the Workflow Monitor .....................................................................50
Start Workflow.......................................................................................51

Informatica PowerMart / PowerCenter 6 Basics – Hands-on Lab Guide 1


The Workflow Monitor..............................................................................52
Open Workflow Monitor...........................................................................52
Connect to the Repository (Workflow Monitor)............................................54
Monitoring the Workflow..........................................................................56
View Session Properties...........................................................................57
View the Session Log..............................................................................59
Lab 7 – Features and Techniques I..................................................61
Lesson 1 – Arrange Objects...........................................................................62
Lesson 2 – Remove Links..............................................................................64
Lesson 3 – Manual Linking............................................................................64
Lesson 4 – Revert to Saved...........................................................................66
Lesson 5 – Link Path.....................................................................................67
Lesson 6 – Autolink by name and position....................................................68
Autolink by name ..................................................................................68
Autolink by name and prefix or suffix........................................................70
Autolink by Position.................................................................................71
Lesson 7 – Moving Ports ...............................................................................73
Up & Down Arrows to Move a Port.............................................................73
Drag-and-Drop Method to Move a Port......................................................73
Lesson 8 – Shortcut from Normal View to Edit Port.......................................74
Lesson 9 – Copy Columns versus Link Columns.............................................75
Copy Columns........................................................................................76
Link Columns.........................................................................................76
Copy / Link Columns...............................................................................76
Lesson 10 – Create Transformation Methods.................................................77
Transformation Toolbar Method.................................................................77
Transformation Menu Method...................................................................78
Lesson 11 – Zoom and scale-to-fit ................................................................79
Lesson 12 – Designer Options ......................................................................82
Lab 9 – Flat File Wizard and Filter............................................... .....84
Analyze a Flat File source.........................................................................84
Create Expression Transformation.............................................................89
Create Filter Transformation.....................................................................91
Results – Session Properties.....................................................................94
Lab 10 – Heterogeneous Join.................................................... .......97
Create Joiner Transformation..................................................................100
Create Aggregator Transformation...........................................................103
Results – Session Properties...................................................................107
Lab 11 – Sorter.................................................................. ............109
Results – Session Properties...................................................................113
Lab 12 – Basic Lookup.......................................... .........................114
Create Lookup Transformation................................................................116
Results – Session Properties...................................................................122

Informatica PowerMart / PowerCenter 6 Basics – Hands-on Lab Guide 2


Lab 13 – Deleting Rows..................................... ............................124
Results – Session Properties...................................................................128
Lab 14– Data Driven Inserts and Rejects.......................................129
Create Update Strategy Transformation...................................................129
Results – Session Properties...................................................................133
Extra Credit..........................................................................................134
Results – Extra Credit Session Properties.................................................135
Lab 15 – Incremental Update ..................................................... ...137
Create Source Qualifier ........................................................................139
Create Lookup Transformation - Connected..............................................140
Results – Session Properties...................................................................146
Lab 16 – Features and Techniques II.............................................148
Lesson 1 – The Find feature........................................................................148
Find Next.............................................................................................150
Lesson 2 – View Dependencies....................................................................151
Lesson 3 – Comparing Objects....................................................................153
Compare Instances Within Mapping or Mapplets.......................................153
Compare Target Definitions....................................................................154
Compare Mapping Instances...................................................................157
Lesson 4 – Overview Window......................................................................157
Lesson 5 – Copying and Pasting Objects ....................................................158
Lesson 6 – Shortcuts...................................................................................159
Create Shortcut to Source......................................................................160
Lab 17 – Router ..................................................... .......................162
Create Router Transformation.................................................................164
Results – Session Properties...................................................................167
Lab 18 – Straight Load.............................................................. .....169
Results – Session Properties...................................................................171
Lab 19 – Conditional Lookup................................................ ..........172
Create Mapping Parameter.....................................................................175
Create Unconnected Lookup Procedure....................................................178
Results – Session Properties...................................................................183
Lab 20 – Heterogeneous Targets...................................................185
Results – Session Properties...................................................................189
Lab 21 – Mapplets.......................................................................... 191
Create the Mapplet................................................................................192
Lab 22 – Reusable Transformations...............................................196
Add Mapplet.........................................................................................197
Create Persistent-Named Lookup Transformation......................................198
Promote Aggregator to be Reusable........................................................200
Open the Transformation Developer........................................................202
Add Reusable Transformations to Mapping...............................................203
Results – Session Properties...................................................................205

Informatica PowerMart / PowerCenter 6 Basics – Hands-on Lab Guide 3


Lab 23 – Dynamic Lookup .......................................... ...................209
Create a Sequence Generator Transformation...........................................211
Create Dynamic Cache Lookup Transformation..........................................212
Results – Session Properties...................................................................215
Lab 24 – Sequential Workflow.......................................................217
INDEX.......................................................................................... ..220

Informatica PowerMart / PowerCenter 6 Basics – Hands-on Lab Guide 4


DOCUMENT CONVENTIONS

This guide uses the following formatting conventions and icons:

If you see… It means…


Normal Text Normal Text
Command text Menu Command or button/screen text
Name of tables, files, PowerCenter
Object Name objects (transformations, workflows,
ports, etc.)
Text to be typed or selected by the
Text entered by student
student during the lab

Information Tips and hints for the lab


text.

Key concepts and background for the


Key Concept Text. topic being discussed during the lab

Reference to other Informatica


Reference text documents that discuss this topic in
depth
A reference to the Flagged Step is made
Flagged Step later in this guide

LAB GUIDELINES

• Note that there are dependencies among the labs – subsequent labs require
objects that were created in previous labs. If you are unable to complete a lab
during the allotted time, you can obtain a copy of the required objects from
the Shared_Student folder. (Your instructor will describe the process for
obtaining these objects.)
• Screen shots are based on columns that are not selected by default. All of
the transformation objects used in this course have the following columns
selected: Name, Datatype and Length/Precision. Others will include
Expression.

Informatica PowerMart / PowerCenter 6 Basics – Hands-on Lab Guide 5


Lab

1
THE DESIGN PROCESS

The first several labs will provide a step-by-step review of the Informatica Design
Process.

OV E R A L L O B J E C T I V E S

• Become familiar with Informatica PowerCenter-specific terminologies


• Learn how to navigate the PowerCenter GUI interfaces and menus in the
Repository Manager, Designer, Workflow Manager and Workflow Monitor
• Learn how to create Informatica objects: define and read source table data,
provide instructions to perform data reformatting, and define and write data
to a target table

LAB 1 – CREATE A FOLDER


P U R P O S E

• Create a student folder to hold all work performed in this course

O B J E C T I V E S

• Learn to navigate through the PowerCenter Repository Manager GUI

D U R AT I O N

• 15 minutes

Start Repository Manager


• Start the Repository Manager:
o Start | Programs | Informatica PowerCenter Client 6.0 | Repository Manager; or
o Per the Instructor’s directions

Connect to the Repository

There are several ways to connect to the repository. From


the Repository Manager’s Navigator window, try one of the
following methods:

° Double-click on the repository; or


° Select the repository and select Repository | Connect; or

° Select the repository and click the Connect icon in the toolbar.

Informatica PowerMart / PowerCenter 6 Basics – Lab 1 – Create a Folder 6


Any of the above methods will produce the Connect to
Repository dialog box:

In the above dialog box, the xx appended to the word


student represents the number assigned to you by the
Instructor (generally 01 to 12).

• Enter the assigned Username and Password

Informatica passwords are case sensitive. The logins are


not.

• Click on the Connect button

Create a Folder

A folder is a logical grouping of metadata in the Repository. Folders may group metadata
according to functionality (for example - CRM Group, Financial or Sales), or by individual developer
(for example - Jason, Tracy or Team_1). Creating (and managing) folders is generally handled by
an Informatica Administrator, rather than by individual developers.

Refer to Velocity, the Informatica Methodology, for best


practices in folder management.

In this course, each student will create his/her own folder.
All PowerCenter objects (and relationships) created in the
labs will be stored in this folder.

To create the folder:


• Click on the Repository PC_Course and select
Folder | Create. The Create Folder dialog box
appears.

Informatica PowerMart / PowerCenter 6 Basics – Lab 1 – Create a Folder 7


• Enter the following information:

° Name: Enter Studentxx


(xx – represents the
assigned student number)
° Descriptions: Enter
information that describes
the contents of folder
° Owner: Select the
assigned student login
from the pull-down list
° Group: Select the
Students group for
permission purposes
° Shortcut: Leave
unchecked
° Permissions: Leave the
default permissions for the
Owner and Repository, but
remove the Write
permission for the Owner’s
Group.

A new folder is created and its icon appears in the Navigator window.

Close the Repository Manager


In this course, the Instructor will perform other repository administrative tasks, which
would normally be done by the designated PowerCenter Repository Administrator –
typically a Technical Leader.

• Single-click on the PC_Course Repository


• Disconnect from the repository by doing one of the following:

° Click on the Disconnect icon in the toolbar; or


° Select Repository | Disconnect; or
° Right-click on the repository PC_Course, and select Disconnect

• Close the Repository Manager by selecting Repository | Exit.

Informatica PowerMart / PowerCenter 6 Basics – Lab 1 – Create a Folder 8


Lab

2
LAB 2 – ANALYZE SOURCE DATA
P U R P O S E

• Import the Data Definition for the EMPLOYEE relational table

O B J E C T I V E

• Learn to navigate through basic functions of the PowerCenter Designer GUI


• Learn how to use Designer’s Source Analyzer Tool to work with Source
Definitions

D U R AT I O N

• 20 minutes

Start the Designer


• Start the PowerCenter Designer:
o Start | Programs | Informatica PowerCenter Client 6.0 | Designer; or
o Per the Instructor’s directions

Connect to Repository
• Connect to the same repository in the same manner described under the
flagged step Connect to the Repository on page 6.

Open Folder

Once you’ve connected to the Repository, there are several ways to open a folder. However,
there is some new terminology that must be explained regarding the differences between an Open
folder and an Expanded folder. What can challenge new developers is that both the Open and
Expanded Folders will appear exactly the same in the Navigator window. The important difference
is what displays (or does not display) in the Workspace to the right.

Open Folder versus Expanded Folder – An Open folder is required in order to add, delete or
modify objects. All of the work is performed in the Workspace Window to the right of the Navigator
Window (i.e.- where the tools such as the Source Analyzer, Warehouse Designer, Mapplet
Designer, etc., are active). Once created in the Workspace, all objects will appear in the Navigator
Window.

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 9


An Expanded folder looks like an Open folder in the Navigator window, but has no active
Workspace window associated with it. Therefore, no object creation or modification is possible.

Expanding a folder in the Navigator window does allow you to copy objects from, or create
shortcuts to, another folder that is open. How to copy objects and create shortcuts will be discussed
later in this course.

In order for you to add, delete or change any object in a folder, the folder must be open.

• Locate the assigned Studentxx folder and try any one of the following steps:

° Double-click the Studentxx folder; or


° Right-click on the Studentxx folder and select Open; or

° Highlight the Studentxx folder and click on the open folder icon
in the toolbar

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 10


Note that the double-click method to open a folder will
only work upon initially connecting to the Repository or after
closing (Disconnect icon) the folder. If the folder was
previously highlighted or expanded, then the other methods
mentioned above must be used to open the folder.

Open the Source Analyzer

The Source Analyzer is the first of PowerCenter’s five


Designer tools. It will be used to define the schemas (or
structural definitions) for all sources of data. When opening
a folder for the first time, the Source Analyzer is opened by
default. If it is not the active tool in the Workspace, then try
one of the following:

• In the Designer, highlight the Studentxx folder and select Tools | Source
Analyzer; or
• Click on the first icon on the toolbar just above the Workspace

Workspace
Window
Maximize
icon

• Maximize the window by clicking on the maximize icon


• Create Workbook tabs at the bottom of the Window by selecting:
° View | Workbook

The Workbook View allows you to easily navigate among


open folders.

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 11


Application
Title Bar

Open
Folder
drop-down
list

Workspace
(Source
Analyzer
displayed)

Workbook
Tab

Displayed in the Application Title Bar are the Tool name


(Source Analyzer), the Folder name and the Repository
name. The Folder name is also displayed in the Open
Folders drop-down list.

Notice the eight ‘nodes’ within the folder.


All Repository
folders contain these same nodes and they can not be
deleted or modified.

There are currently no objects defined in the folder


above, nor should there be in any of the Studentxx folders
created in the previous lab. Once objects are defined, a ‘+’
will appear to the left of any node that contains objects.
Clicking on the ‘+’ will expand the node to reveal a list of
objects.

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 12


Analyze Source Definitions

Source Definitions
All source data to be read by the Informatica Server must first have its structure (schema) defined
to the PowerCenter Repository. For relational sources, this includes columns, keys, datatypes,
precision and scale (decimals). The process of defining the structure of any source data creates a
PowerCenter Source Definition object. (Defining other types of source data will be covered later in
this course.)

Each Source Definition is similar to a parent object, which can be used many times over in the form
of child instances. Each child takes on the characteristics of the parent and when the parent object
is modified, each child instance is updated automatically.

For this lab, the first step in working with PowerCenter objects is to import the table
schema definition for the EMPLOYEE database table.
• Select Sources | Import from Database. The Import Tables dialog box appears

a. Select the ODBC data


source from the pull-
down list that
corresponds to the
location of the source
tables

b. Enter the Username and


Password given by the
Instructor

c. SDBU may remain as


the default Owner name
– this will be defined
when the Username is
entered

Note that when tabbing from Username edit box, the


Designer will automatically fill in the Owner name edit box.
Typically, when the source is either SQL Server or Sybase,
the default owner will not reveal the desired source.
Regardless of the database type, if the source is not found
try clicking on the All button under the Show owners:
section.

If the database type is Oracle, this may take several seconds


because the supported ODBC driver is not database specific like
it is with SQL Server and Sybase; instead, it allows the search
to span across an entire database instance with several
schemas where a username may have access.

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 13


• Click the Connect button.

Once the Connect button changes to read Re-connect, a


direct connection to the source database has been
established.

• In the Select tables box, expand the database Owner name until the TABLES
(node) listing appears.
• Expand the TABLES node.
• Select the EMPLOYEE table and click on the OK button.
The new source table definition now appears in the Source Analyzer
Workspace.

Source
Definition

In addition to the new source object


added to the Source Analyzer
Workspace, observe the new entry in
the Navigator window. Drill down to
view the new Source Definition in the
Sources node in the assigned
Studentxx Folder.

Edit the Source Definition


The next step is to enter meaningful end-user metadata so business analysts will be
able to understand the data in the source tables.

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 14


• In the Source Analyzer
Workspace, double-click on
the header of the
EMPLOYEE table Source
Definition. The Edit Tables
dialog box appears.
• Select the Table tab
• In the Description window,
enter:
This source
comes from the
CRM system and
includes all
Sales

Representatives from the Sales Department.

• Select the Columns tab


• Select the TYPE_CODE
column name. In the
Description box, type: Human
Resource Job Code

Enter
Description

The Description field at the bottom of the dialog box


represents each column independently. In other words, for
every column in the column section above, a description can
be entered in the Description Edit box below. To associate a
description with a particular column, simply highlight the
column (anywhere on the column line) and add a
description.

This crucial business metadata may also be imported to the


Repository from a third party Data Modeling tool (e.g. Erwin) if
the object definition is imported via Informatica’s Metadata
Exchange (a.k.a. PowerPlug 6.0).

• Click Apply to save comments.

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 15


Create Metadata Extensions

Metadata Extensions
Metadata may be extended and stored in the repository by creating metadata extensions for
repository objects. The Designer allows the creation of metadata extensions for source definitions,
target definitions, transformations, mappings, and mapplets. Of those objects, Metadata
Extensions may be used to store information that is common across objects of the same type.

In addition, there are two different types of metadata extensions:

Non-reusable Metadata Extensions are unique to each object and will not appear in other objects
of the same type – unless they are copies of the original object.

Reusable Metadata Extensions will appear in every object of the same type. For this reason, it
would be important to establish the names of many of these objects to be as generic as possible.
Subsequently, the values entered for the metadata extensions are unique. It is possible to enter
‘fixed values’ for each metadata extension; however, the values can be overridden and will be
stored accordingly.

Typically, the Repository Administrator would create Reusable Metadata Extensions to be used by
Developers.

In this example, every Source Definition created will have an author, creation date and potentially, a
last modified date. By creating Metadata Extensions with the names Author, Creation Date and
Last Modified Date, all Source Definition objects will have the same Metadata Extensions by name,
but different values may then be entered for each.

Create two non-reusable, local Metadata Extensions as follows:


• Click on the Metadata Extensions tab

• Click on the Add Metadata Extension icon


• Enter Author into the Extension Name column of the new entry
• Select String Datatype with precision (Prec) of 30
• Add a second Metadata Extension and name it Creation_Date
• Select String Datatype with precision (Prec) of 10
• DO NOT SELECT REUSABLE. Click Apply

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 16


Metadata
Extensions tab

Add Metadata
Extensions icon

Enter: Your
Name and the
current date
• Enter your name for the value of ‘Author’
• Enter the current date [using the syntax = mm/dd/yyyy] for the value of
Creation_Date

This field is not a date field, it is descriptive only


• Click the OK button to save the new entries to the Source Definition

Clear the Workspace


To this point there has been no instruction to save to the repository, hence, the new
Source Definition object exists in memory on the client workstation, only. The
Workspace serves as a giant clipboard. All of the work performed between saves will
only be in memory including adding, deleting or changing objects within the
Workspace. Objects may be cleared from the Workspace, but still reside in memory.
This can be demonstrated by doing the following:
• Right-click on the header of the EMPLOYEE Source Definition in the
Workspace window and select Clear from the Workspace; or
• Select the object in the Workspace window and choose Edit | Clear; or

In the respective steps above, selecting Delete from the


or Edit | Delete will remove the new object from
folder
memory and it will no longer exist!

The object disappears from the Workspace, yet can be found in the assigned
Studentxx folder in the Navigator window (see page 14).

Since the object is still resident in memory and is visible in the assigned Studentxx
folder, the object may be placed, once again, to the Workspace for additional viewing
or editing.
• Select the EMPLOYEE Source Definition in the Navigator window
• Drag-and-drop the object into the Workspace window

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 17


Save Work

Save
The Designer, unlike the Repository Manager, requires that any changes be manually saved to the
Repository. The key concept to grasp is that folders can only be saved one at a time. In order to
save the contents of a folder, it must be the active folder in the Workspace. The active folder is
the one visible in the Open Folders drop-down list and on the workbook tab (when that view is
selected).

If changes were made to objects in other folders and not saved, then those folders (one at time)
must be the active folder in the Workspace to perform the Save Repository command. In addition, if
there is an attempt to close the Designer with unsaved changes to objects, it will notify the end user
and provide an opportunity to save, again, one folder at a time.

It is time to save the Source Definition to the Repository


and there are several ways to perform this task.

Before proceeding, there is the Repository toolbar that, by


default, is not selected upon the PowerCenter client tool
installation that looks as follows:

To add it, select Tools | Customize and check the Repository


checkbox on the Toolbars Tab.

Save the work in the Repository to this point by using one of the following methods:
° Select Repository | Save; or
° Ctrl-s; or

° Click on the Save icon

There is a feature to undo changes called Revert to Saved


that will be covered later in the course.

In addition, consider the risks where work can be lost (e.g.:


the client workstation crashes while playing MP3 music, the
database crashes – not uncommon in a development
environment or network connectivity halts, etc.) Over time,
several objects can be changed and if anything should prevent
the client workstation to communicate with the PowerCenter
Repository on the database server, all the work will be lost since
the last save. So, a best practice would be to SAVE OFTEN to
avoid losing changes.

Informatica PowerMart / PowerCenter 6 Basics – Lab 2 – Analyze Source Data 18


Lab

3
LAB 3 – IMPORT TARGET SCHEMA

P U R P O S E

• Import the Data Definition for the ODS_EMPLOYEE relational table

O B J E C T I V E

• Learn how to navigate Designer’s Warehouse Designer Tool

D U R AT I O N

• 10 minutes

Open the Warehouse Designer

If the Designer application is not open, refer to the


flagged steps Start the Designer and Connect to
Repository on page 9

Select any of the Designer tools (at any time) via the Tools
menu or using one of the five icons across the top of the
Workspace, as seen below

• Open the Warehouse Designer by trying one of the following:


° Select Tools | Warehouse Designer; or
° Click on the second icon on the toolbar just above the Workspace

Informatica PowerMart / PowerCenter 6 Basics – Lab 3 – Import Target Schema 19


Import Target Table Definitions

Target Definitions
Similar to defining the source in the previous exercise, the target must also be defined and saved to
the repository. For relational target tables, columns, keys, datatypes, precision and scale
(decimals) are included. Indexes may be defined, but are not required. Special cases will be
covered later in this course.

Defining the structure of target data – either via importing from the database (schema) or creating it
manually -- creates a PowerCenter Target Definition object.

Import the structure of the ODS_EMPLOYEE table from the database using
Warehouse Designer.
• Select Targets | Import from Database…

The Import Tables dialog box is the same one used to


connect to the source database. Login to the target
database in the same manner; refer to the flagged step
Analyze Source Definitions on page 13.

• Select the odbc_target ODBC data source connection from the pull-down list
• Enter the Username and Password assigned by the Instructor – typically
tdbuxx / tdbuxx (where xx is the assigned student number for the
username / password)
• Click on Connect
• Expand the database owner name

Informatica PowerMart / PowerCenter 6 Basics – Lab 3 – Import Target Schema 20


• Expand the TABLES (node) listing
• Select the ODS_EMPLOYEE table
• Click the OK button

• Expand the Targets (node), in the Navigator Window. Notice the addition of
the ODS_EMPLOYEE definition

• Save (See flagged step Save Work on page 18)

Informatica PowerMart / PowerCenter 6 Basics – Lab 3 – Import Target Schema 21


Lab

4
LAB 4 – CREATE A MAPPING

P U R P O S E

• Create a mapping that represents the dataflow between the EMPLOYEE


source and the ODS_EMPLOYEE target

O B J E C T I V E

• Learn to navigate Designer’s Mapping Designer Tool.


• Learn PowerCenter-specific terminologies as they relate to defining data
transformation instructions

D U R AT I O N

• 20 minutes

Open Mapping Designer

Mapping
A mapping represents the dataflow between sources and targets. When the Informatica Server
executes a Session Task within a Workflow (to be discussed later), it uses the instructions
configured in the mapping to read, transform, and write data.

• Select the Studentxx folder and open the Mapping Designer by trying one of
the following:
° Select Tools | Mapping Designer; or
° Click on the last icon on the toolbar just above the Workspace

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 22


Create Mapping

By default, there is an inactive toolbar that may be


desirable for some developers. To add it, select Tools |
Customize and check the Mapping/Mapplet checkbox on the
Toolbars Tab.

• Create a new mapping using one of the following methods:


° Select Mappings | Create; or

° Click the Create Mapping icon from the Mapping/Mapplet toolbar


• Enter m_ODS_EMPLOYEE_xx for the new mapping name (where xx is the
assigned student number)

• Click on the OK button

Recent
Mappings list

Mappings
Node

A new mapping has been created; however, there are no


objects present – those will have to be added. Notice that
the name of the mapping appears on the ‘Recent Mappings’
pull down list AND in the Mappings node in the Navigator
window

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 23


Add Source and Target Definitions
• In Designer’s Navigator window, expand the Sources node and locate the
EMPLOYEE Source Definition

Organizing Source Definitions


Normally there are several locations and types of sources, e.g. - databases, flat file, ERP sources,
etc. needed to populate a Data Warehouse. Note in the Sources node the EMPLOYEE Source
Definition is grouped under the name, odbc_source. When the source is imported via an ODBC
data source, the name of the ODBC data source name (DSN) is taken as the “database” name.
The reason for this is there may be another EMPLOYEE table in another database with a different
table structure that may be needed – the name taken from the ODBC DSN makes the Source
Definition unique.

If the same source table name, EMPLOYEE, were imported via a different ODBC DSN into the
same folder, the repository wouldn’t be able to differentiate between the two. This can potentially
cause an organizational nightmare and will be very confusing to developers. The “database” name
can be changed while in Edit mode, however, renaming several source definitions is a tedious task.

This scenario will often occur when there are several developers adding sources to the same folder
within the repository. Since ODBC data sources are not shared across workstations, it is vital to
select a naming convention to avoid this problem. Hence, an Informatica Best Practice is for those
who are responsible for importing Source Definitions to synchronize the selected ODBC DSN
naming convention across workstations.

Another way to organize sources, among other select objects, is via the Business Components
node – this will be discussed later in the course.

An important point to remember is no matter how source definitions are organized in the repository,
it will not impact how the data is moved from source to target. Refer back to the architecture slides
to see how everything connects. At runtime, the connections (there are several options to discuss)
are handled from the server’s perspective, not the client workstations, and will be discussed in
greater detail when the Workflow Manager is covered.

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 24


• Drag-and-drop the EMPLOYEE Source Definition to the far left side of the
Workspace
• In the Navigator, expand the Targets section (node) and locate the
ODS_EMPLOYEE table Target Definition. Select it with the mouse

Unlike Source Definitions, the ODS_EMPLOYEE Target


Definition is not associated with any ODBC DSN. Therefore,
there is no need to coordinate the name(s) of the ODBC DSN
for those who are responsible for the targets. Most
customers, who use PowerCenter, Extract from several
disparate sources, Transform and Load data (ETL) into a
common data warehouse or data mart.

• Drag-and-drop the ODS_EMPLOYEE Target Definition to the far right side of


the Workspace

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 25


Source Qualifier Transformation

Source Qualifier Transformation


Notice the object called SQ_EMPLOYEE in the mapping above. This transformation object is
called the Source Qualifier and is required for all relational and flat file sources. It was created
automatically when an instance of the Source Definition EMPLOYEE was added to the mapping.

The Source Qualifier is the “interpreter” for the PowerCenter engine. This is where the file or table
read is defined. For relational sources, the Source Qualifier will deliver the SQL (dynamically or via
SQL overrides) to the Informatica Server at runtime, for execution according to database type. In
turn, the database type dictates or “interprets” the respective native data types that will be delivered
to the database engine for extraction.

As this course continues, there will be several other attributes of the Source Qualifier to explore and
other types of PowerCenter source “interpreters” will be introduced.

The Source Qualifier may be renamed if desired. For this


Lab, the default name SQ_EMPLOYEE is adequate;
although, it will be renamed to sq_EMPLOYEE to follow
Informatica Velocity Best Practices

• Edit the sq_EMPLOYEE by either of the following methods:


° Double-click on the header; or
° Right-click on the header and select Edit
° Click on the Ports tab to view the structure of the data to be read

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 26


The Datatypes in the Source Qualifier are all PowerCenter
Datatypes. Fundamentally, this is how PowerCenter can join
sources of disparate database types (e.g.: Oracle to DB2 or
Flat File, which is considered as database type in
PowerCenter). It’s not quite that simple, however, the
Informatica Server must translate the native database
datatypes to PowerCenter datatypes before processing.

Once the native database Datatype is translated to a


PowerCenter datatype, it will remain a PowerCenter Datatype in
every transformation object. That is, until it ultimately reaches
the Target, where it will be translated to the defined database
Datatype or Flat File.

• Click on the OK button to close the sq_EMPLOYEE Source Qualifier

Ports
Notice the name of the first column, ‘Port Name’. ‘Port’ is the generic Informatica term used for
both table columns and flat file fields.

Create an Expression Transformation

One mapping objective is to concatenate the FIRST_NAME and LAST_NAME on


each row prior to loading the target. An Expression Transformation is ideal for this
task.

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 27


Passive versus Active Transformations
There are two types of transformations: Passive and Active. Passive transformations allow every
row of data to pass through it – so if 100 rows go in, then 100 rows will go out to the next
transformation. Active transformations may decrease or increase the number of rows passing
through.

As each transformation object is introduced during the course, it will be labeled as either passive or
active. There are internal validation checks to make sure transformations can be linked together
based on this very concept.

• Locate the Transformation Toolbar

The default location is at the top right of the Designer.


Look for the ‘arrow’ icon just to the right of a set up vertical

bars

• Single-click on the double vertical bars and drag to the center of the
Workspace

• Another suggested location is right below the default location of the Standard
Toolbar – to move it, drag and drop from the title bar

If at any time this toolbar is not visible, activate it in the


same way other toolbars have been activated by selecting
Tools | Customize and checking the Transformation checkbox

If the checkmark is present, then try to maximize the window


of the Designer; or open the Customize dialog box, again, and
remove the checkmark and click OK. Reopen the Customize
dialog box and check the Transformation checkbox, and click
OK.

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 28


• Click on the Expression transformation icon in the Transformation toolbar

• Drag the pointer, which now appears as crosshairs , into the Workspace
window to the right of the Source Qualifier transformation
• Single-click (or, click-and-drag, which will draw a box, then release)

Another way to add transformation objects to mappings is


selecting Transformation | Create. After the Create
Transformation dialog box appears select the type of
transformation from the pull-down list; or type the first
letter of the transformation name until the desired
transformation type appears on the list. Enter a name for
the transformation. Click on the Create button and if no
additional transformations are required then click on the
Done button.

• Set the Mapping Designer to copy port names and create link relationships
between transformation objects:

° Select Layout | Link Columns; OR

° Select the Link Columns icon in the toolbar

• Link the following ports from the sq_EMPLOYEE to the new Expression
transformation:

EMPLOYEE_ID, FIRST_NAME, LAST_NAME, DATE_HIRED and


TYPE_CODE

With the Source Qualifier and the Expression


transformations in ‘Normal’ mode, hold down the Ctrl key
and select the above ports in the sq_EMPLOYEE. Drag
them to an empty line on the Expression transformation.
When the mouse is released, not only will the port names
(including datatypes, precision and scale) will be copied from
sq_EMPLOYEE, but links connecting the ports between the
two transformations will also be created.

• Double-click on the header of the Expression transformation to enter Edit


mode
• Click the Rename button
• Rename the transformation to exp_ODS_EMPLOYEE

If the transformation was created via the Transformation |


Create menu instead of the Transformation Toolbar, the object
will have a name

• Click on the OK button to close the dialog box

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 29


Modify / Add Ports
• Select the Ports tab
• Disable the output ports for FIRST_NAME and LAST_NAME by removing the
checkmark in the ‘O’ (output) column – this will define the port as input only

• Click on the Add icon to add a new port and rename it, NAME_out

Selecting the LAST_NAME port before clicking the ‘Add a


new port to this transformation’ icon will cause the new port
to be positioned immediately after LAST_NAME.

• Verify the data type is string and increase the precision to 51


• Disable the input port for NAME_out by removing the checkmark in the ‘I’
(input) column – this will define the port as output only

Add Port
icon

New Port,
output-only

Create Expression Formula

Notice that expression for the NAME_out column is no


longer grayed out. Once the port is defined as output only
(or as a variable ‘V’ port - to be discussed later), it requires
a user-defined formula in order to be valid. The formula
could simply call another port in the transformation by name
only.

• Click in the Expression column of the NAME_out port and notice the arrow
that appears at the far right

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 30


Arrow
opens
Expression
Editor

• Click on the arrow to open the Expression Editor dialog box

Formula
Undo icon

Formula
Window

NAME_out is currently defined in the ‘Formula:’ window.


This name is taken by default, from the name assigned to
the port when it was created. This default entry is invalid
and must be changed.

• Delete the text NAME_out in the Formula field


• Select the Ports tab
• Double-click on the port FIRST_NAME and note its presence in the Formula
field

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 31


Ports Tab

Individual
Port Details

Based on which port is selected, the port details appear


under the ‘Instance Name:’ section of the Ports tab

Below the Formula field, locate the Operator keypad (shown


here). It contains mathematic (and other) symbols that can
be used in creating formulas

• Click on the double-pipe icon (concatenation) and it appears just to the


right of FIRST_NAME

• Click on the single-quote icon in the Operator keypad


• Press the spacebar once and click the single-quote icon again. This will cause
a space to be placed between the FIRST_NAME and the LAST_NAME at
runtime
• Click on the double-pipe icon, again
• Double-click on LAST_NAME. The concatenation formula is complete
FIRST_NAME || ' ' || LAST_NAME
• Click OK. Upon successful parsing of the formula, a dialog will appear
proclaiming “Expression parsed successfully”

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 32


• Once the formula parses, click OK to continue and return to the
exp_ODS_EMPLOYEE transformation in Edit mode

Completed
Expression
Formula

The formula may be typed in manually rather than


following the point-and-click method. If the names of the
Functions and Ports are known, it may be faster to type
them. If a port name changes, the expression will be
automatically changed to incorporate the new port name. If
you were to change a port name to a non-existent one from
within the formula field prior to changing it in the Port Name
dialog box, the expression would fail to parse.

• Click OK to close the Edit Transformation dialog box


• Ctrl-s to save

The finished Expression transformation will look like the following:

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 33


Link Target Definition

• Link the following ports from exp_ODS_EMPLOYEE to ODS_EMPLOYEE


(target definition):
EMPLOYEE_ID  EMPLOYEE_ID
NAME_out  NAME
DATE_HIRED  DATE_HIRED
TYPE_CODE  TYPE_CODE

The mapping is now complete and should look like the following:

• Ctrl-s to save

Validate the Mapping

Mapping Validation
All mappings must pass a set of PowerCenter validation checks before executing it within a Session
Task.

Every time a repository save is executed, a series of validation checks are performed on what has
been changed. If a transformation object is changed within a mapping or mapplet, the object will be
checked and then mapping validation checks will occur.

Since development is iterative, it may be necessary to leave a mapping in an invalid state. All
mappings that are invalid will have a red ‘x’ icon just to the left of the mapping name in the
Navigator Window.

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 34


Validation checks do not automatically seek out invalid mappings to check them. Only when
something changes (anything such as links, port names, expressions, etc.) will mapping validation
checks occur automatically upon the execution of a repository save.

The Mappings | Validate menu command is a manual validation check that can be performed on
mappings that are active in the Workspace.

• View the results of the Validation by locating the Save tab of the Output
window, at the bottom of Designer

Output
Window’s
Save Tab

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 35


• Expand the Output window and scroll up in the scrollbar on the right side of
the window, so the Validation test detail can be reviewed

Save Time
Stamp

First Error

Mapping
declared
Invalid

If the Validation results shows ‘INVALID’, locate the last


time stamp when the save repository was executed and scan
for the first error. The series of validation checks will display
all of the errors, however, the first error may cause a domino
effect of errors.

Fix the first error and save or perform the Mappings | Validate
command from the main menu (Note the results will be located
in the Output window’s ‘Validate’ tab).

Repeat the process until the mapping is valid.

Validation
Time
Stamp

No Errors

Mapping
declared
Valid
Validate
Tab

Informatica PowerMart / PowerCenter 6 Basics – Lab 4 – Create a Mapping 36


Lab

5
LAB 5 – CREATE A WORKFLOW
P U R P O S E

• This lab provides instructions to create a simple Workflow with a Start Task
and Session Task. Collectively, the goal of creating these objects is
essentially to define a run-time version of the mapping created in the
previous lab

O B J E C T I V E

• Learn to use the Informatica Workflow Manager

D U R AT I O N

• 30 minutes

Start Workflow Manager


• Open the Workflow Manager by selecting Start | Programs | Informatica
PowerCenter Client 6.0 | Workflow Manager

Connect to Repository
• Connect to the same repository in the same manner described under the
flagged step Connect to the Repository on page 6

Open Folder
• Locate the assigned Studentxx folder and try any one of the following steps:

° Double-click on Studentxx folder and, in the Navigator Window; or


° Right-click on the assigned Studentxx folder and select Open or

° Highlight the folder and click on the open folder icon in the
toolbar;

Open Workflow Designer


• Open the Workflow Designer using one of the following methods:
° Select Tools | Workflow Designer; or

° Click the Workflow Designer icon above the Workspace

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 37


Create Workflow
The next step is to create a Workflow to process data. It will contain a Start Task and
a Session Task.

A workflow is a set of instructions that tells the Informatica Server how to execute tasks such
as sessions, email notifications, and shell commands. After tasks are created in the Task Developer
and Workflow Designer, tasks are connected via links to create a workflow.

In the Workflow Designer, conditional links and workflow variables are used to create branches in
the workflow. The Workflow Manager also provides Event-Wait and Event-Raise tasks. The
sequence of task execution can be controlled in the workflow. Worklets (a group of tasks) can be
created and inserted inside the workflow.

Every workflow contains a Start task, which represents the beginning of the workflow.

Refer to “Creating a New Workflow” in the Workflow


Administration Guide

This section provides the instructions to create a Workflow


first, and then create a Session Task within it. The two
objects may be created in reverse; however, a Session Task
must be within a Workflow in order to be executed.

• Select Workflows | Create


• On the General tab, enter wf_ODS_EMPLOYEE_xx in the Name box (xx
represents the assigned student number from 01-12)

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 38


• Click on the OK button

Note the presence of the Start Task which is added to


each new workflow by default

• Select Repository | Save; or Ctrl-s to save

The workflow is incomplete and as a result invalid, but


that is to be expected at this point in the exercise

• Double-click on the Start Task


• Click the Rename button
• Type start_ODS_EMPLOYEE in the Rename Task dialog box

• Click the OK button to save the name


• Click the OK button to return to the Workflow Designer workspace

The preceding Start Task rename instruction is optional,


however, is recommended for clarity purposes when
reviewing all of the tasks in the Workflow Monitor.

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 39


Edit the Workflow

There are several parameters in the new workflow to be set. Edit the workflow by
doing one of the following:

° Click on the Edit Workflow Icon in the Workflow Toolbar; or


° Select Workflow | Edit

• On the Properties tab, wf_ODS_EMPLOYEE_xx.log into Attribute 2 displays


the Workflow Log File Name

Workflow Log
File Name

Workflow Log
Directory

The workflow log contains basic information (execution start and completion times, status,
etc.) for all tasks in the workflow. It is optional and if left blank (default) the Informatica Server
writes workflow log messages to the Windows Event Log or UNIX server log.

If a log file name is entered, the workflow log messages will be redirected to the designated file
name within the Workflow Log File directory on the Informatica Server.

Create Metadata Extensions


Metadata Extensions were introduced in the flagged step Create Metadata
Extensions on page 16. In this lab, the Instructor has already created reusable
Metadata Extensions for workflow ‘Creation_Date’ and ‘Workflow_Author’.

The non-reusable Metadata Extensions created in Lab 2


were unique to each folder. With reusable Metadata
Extensions, they are available to all workflows across all
folders in the repository.

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 40


• Click on the Metadata Extensions tab

Notice the two existing metadata extensions. Each has a


checkmark in the ‘Reusable’ column in the right.

Typically, the designated Repository Administrator(s)


creates reusable metadata extensions in the Repository
Manager. Depending on how the Metadata Extensions were
set up, a default value will either be blank or assigned. If
the value entered is different than the default, a new column
will appear to allow the developer to revert back to the
default value (see below).

• Enter the current date for the value of Creation_Date [using the syntax as
before = mm/dd/yyyy]
• Enter your name for the value of Workflow_Author
• Click on OK, to both apply the entries and exit the Workflow
• Save the new entries to the Repository, select Repository | Save, OR Ctrl-s.

Working with Tasks


Now that the Workflow has been created, the next step is to add a Session Task to the
Workflow.

By default, there is a toolbar to create tasks that may be


desirable for some developers; however, it may be difficult to
find. To verify it is present, select Tools | Customize Toolbars
and make sure there is a checkmark in the Tasks checkbox.

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 41


Very little of the toolbar might be visible as it was with the
Transformation Toolbar in Lab 4. Locate the ‘arrow’ icon, which
is the first icon in the Tasks Toolbar. Once located, drag-and-
drop to the desired location to see all of the task icons available
(e.g. horizontally below the Standard toolbar, vertically between
windows or floating in the workspace).

Create Session Task

Session Tasks
Session tasks represent mappings for the Informatica Server to run. The Informatica Server uses
the instructions configured in the session to move data from sources to targets. Among its many
properties are parameters for memory usage, log file locations, and source and target read/write
instructions. Each session task is associated with one, and only one, mapping; however, one
mapping may be used in several session tasks.

• Click on the Session icon on the Task Toolbar


• Move the pointer into the Workspace and click

The Mappings dialog box appears listing all mappings in


the folder – valid and invalid – however, only valid mappings
are permitted to be selected

• Select the mapping, m_ODS_EMPLOYEE_xx and click OK.

A Session Task appears in the Workspace and it


automatically prefixes the name with an “s_” – the end
result is s_m_ODS_EMPLOYEE_xx

An alternate way to create a non-reusable Session Task is


to create it from the menu (similar to the manner described
in the flagged step Create the Mapping on page 23).
Select Task | Create then select the Session Task type.

• Select Repository | Save, OR Ctrl-s to save

Edit Session Task


• Double-click on the s_m_ODS_EMPLOYEE_xx Session Task and select the
Properties tab

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 42


Session
Log Name

Session Log
Directory

The default Session Log File Name,


s_m_ODS_EMPLOYEE_xx, and the default Session Log
directory, $PMSessionLogDir, may be overridden, but this
is not recommended.

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 43


• Select the Sources tab

Connection Native Database Connection


Settings tab Drop-down Listing

• Click on the down arrow on the right side of the Value column for the
sq_EMPLOYEE listed in the Instance column

Source Native
Database
Connection

• Select the native_source connection and click OK


• Select the Targets tab

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 44


• Click on the down arrow on the right side of the Value column for the
ODS_EMPLOYEE Target Instance
• Select native_target_xx (where xx represents the assigned student
number from 01-12) and click OK
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2 – select the Properties tab at the bottom and select
Normal for Target load type

Properties Native Database Connection


Tab Drop-down List

Release note: CR 38672, 36211: Oracle bulk load session


fails or runs in normal mode on some versions of Oracle

When a session is configured for bulk loading and the target


database is on Oracle, the session fails when the Oracle client

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 45


version is greater than or equal to 8.1.5 and less than 8.1.7.2.
When the Oracle client version is less than 8.1.5, the session
runs in normal mode.

Workaround: Apply the Oracle Threaded Bulk Mode patch


(Oracle bug number 1666360), use Oracle client 8.1.7.2 or
higher, or run the session in normal mode.

• Click OK to close the Edit Tasks dialog box


• Save

Link Workflow Tasks

All tasks in a workflow must be ‘linked’ together for the


workflow to be valid.

There are several ways to link tasks:


• One way is to use the toolbar. Locate the Link icon on the right side of
the Task Toolbar
• Drag the pointer, which now appears as crosshairs , into the Workspace to
the task

The cursor remains in ‘link mode’ until toggled off or one


of the newly linked objects is single or double-clicked upon.
When hovering over a task, the crosshairs change to

• Draw a line between the start_ODS_EMPLOYEE and the


s_m_ODS_EMPLOYEE_xx tasks via a drag-and-drop method

• Toggle off the ‘link mode’ by clicking again on the Link icon or single click
on one of the objects

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 46


Another method to create the link is to:
• First, remove the existing link to practice other linking methods between the
two objects. Select the link and hit the Delete Key. Confirm that ONLY the
link is to be deleted
• To create the link again, hold down the Ctrl key and select both the
start_ODS_EMPLOYEE Task and the s_m_ODS_EMPLOYEE_xx Session by
single clicking on them or by drawing a box around the two objects (no Ctrl
key required when drawing the box)
• Select Tasks | Link sequential or right-click anywhere in the workspace except
on an object and select Link Sequential. A link appears between the Start Task
selected and the Session

Link Sequential or Link Concurrent relates to how the


tasks are processed. If there were two session tasks linked
to the Start Task, they would be considered concurrent
session tasks would start at the same time. Sequential
simply would be one at a time – typically chosen because
there dependencies from one session to another.

• Save

Refer to “Working with Links” in the Workflow Administration


Guide, Chapter 4.

Validate the Workflow


The detail of creating the Workflow is now complete. However, it must pass
PowerCenter Validation before it can process correctly.

Validating a Workflow
Similar to the mapping, a workflow must pass all validation checks prior to running it. For example,
if a workflow is created with a Start Task and a Session Task and the two are not linked, the
workflow is invalid.

The Output window in Workflow Manager displays the results of the validation checks and will point
out specifically what (not how) needs to be fixed.

Since a Repository | Save was just executed in the


preceding step, the Workflow validation checks occurred
automatically, just as it does when the mappings are saved
in the Designer.

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 47


• Locate the Save tab in the Output Window at the bottom of the Workflow
Manager and view the results of the validation checks

Output
Window’s
Save Tab

If the Validation results shows ‘INVALID’, locate the last


time stamp when the save repository was executed and scan
for the first error. The series of validation checks will display
all of the errors, however, the first error may cause a domino
effect of errors.

Fix the first error and save or perform the Workflow | Standard
validate command from the main menu (Note the results will be
located in the Output window’s ‘Validate’ tab).

Repeat the process until the workflow is valid

Refer to “Validating a Workflow” in the Workflow


Administration Guide.

Informatica PowerMart / PowerCenter 6 Basics – Lab 5 – Create a Workflow 48


Lab

LAB 6 – START AND MONITOR THE WORKFLOW


6
P U R P O S E

• This lesson provides instructions to start the workflow and monitor the
process with the Workflow Monitor.

O B J E C T I V E

• Learn how to start a workflow


• Learn to use the Informatica Workflow Monitor

D U R AT I O N

• 40 minutes

Refer to “Running the Workflow” in the Working with


Workflows Chapter in the Workflow Administration Guide

Open Workflow Manager


• If the Workflow Manager was closed, re-open it (see flagged step Start
Workflow Manager on page 37 for details)

Open Workflow
There are two ways to re-open a workflow. To demonstrate both methods, the
Workspace must be clear of any workflows:

• Select Workflows | Close – if the menu item to Close is grayed out, then there are
no open workflows

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 49
• Drag-and-drop the wf_ODS_EMPLOYEE_xx Workflow from the Navigator
Window into the Workspace

Notice that the name of the workflow appears on the


‘Recent Workflows’ pull down list. The Recent Workflows List
holds the workflows that have been opened since the last
time the folder was closed (disconnected). A folder can be
closed in several ways (e.g. Closing the Workflow Manager or
Disconnecting from the repository or the folder) – any of
which will net the same effect.

Recent
Workflows
List

Close the Workflow Monitor


A Workflow or a specific Task can be started from within the Workflow Manager where
it was created. The status of the Workflow and all Tasks associated with it will be
monitored from the Workflow Monitor. To ensure that the Workflow Monitor Program
was not opened inadvertently, please do as follows:
• Examine the icons in the Windows Task Bar for the presence of the minimized
Workflow Monitor icon
• If found, right-click on the icon and select Exit – otherwise, continue

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 50
Start Workflow
If the workflow is valid, it is ready for execution. In the Workflow Designer, use one
of the following methods to start the wf_ODS_EMPLOYEE_xx Workflow:
• Select Workflows | Start workflow; or

• Right-click in the Workspace and select Start


Workflow; or

•Right-click on the wf_ODS_EMPLOYEE_xx


Workflow in the Navigator window and select Start
Workflow; or

•Right-click on
the start_ODS_EMPLOYEE task in the
wf_ODS_EMPLOYEE_xx Workflow.
Select Start Workflow from Task menu
option

The menu option Start Task (shown below) is not ideal in this
case.

Starts a single
Task only

Selecting this menu option starts the start_ODS_EMPLOYEE


task, only, and would not subsequently run the
s_ODS_EMPLOYEE_xx Session Task.

Similarly, starting a single Task directly from the Session would


run the session but make the Workflow execution incomplete.

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 51
Any of the above options would show the following dialog box:

The workflow and all its tasks will be monitored and


examined for processing details in the Workflow Monitor
(next section). With the Workflow Monitor closed, as
suggested earlier in this lab, the Workflow Monitor icon
will automatically appear in the Windows Task Bar.

The Workflow Monitor

Workflow Monitor -- Initialize vs. Open


There is a difference between the Workflow Monitor program being ‘initialized’ and ‘open’. For
example, a virus protection program may be ‘initialized’ and operating in the background (to actively
protect the computer), without a client tool appearing as an active program visible on the Desktop.
It will be present in the form of a minimized icon on the Windows Taskbar. However, all functional
settings cannot be accessed until the program is ‘opened’.

Such is the case with Workflow Monitor. Once initialized, it may then be ‘opened’ by the user –
without ever accessing the Windows Start menu. Starting the Workflow,
wf_ODS_EMPLOYEE_xx from the Workflow Manager automatically initialized the Workflow
Monitor. This is a convenient feature that is enabled by default and cannot be turned off.

Open Workflow Monitor


• Examine the Windows Task Bar for the presence of the minimized Workflow
Monitor icon

If the icon is not found minimized on the taskbar, here


are two other methods to open Workflow

• Right-click on the PC_Course Repository in the Workflow


Manager’s Navigator window and select Run Monitor

• Select Start | Programs | Informatica PowerCenter Client 6.0 |


Workflow Monitor

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 52
How quickly the Workflow Monitor initializes depends on the
speed of network between the Informatica Server and
PowerCenter client. A remote connection from the client to the
server will likely cause a delay and take a few seconds up to a
minute.

To open Workflow Monitor from the minimized taskbar icon, try one of the following
methods:
• Right-click on it and select Open; or
• Double-click on it

One of the following two windows will appear:

• Gantt Chart

Navigator Time
window window
(area) (area)

• Task View

Navigator Time
window window

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 53
If the Workflow Monitor does not resemble the above,
either the Gantt Chart or Task View, then notify the
Instructor before proceeding. The Workflow Monitor needs
to be completely disconnected to continue with the
instructions going forward.

Connect to the Repository (Workflow Monitor)

Use any one of the following methods to connect to the repository:

• Select Repository | Connect; or

• Click the Connect icon in the toolbar; or


• Double-click on ‘Repository’ in the Navigator window

A list of available Repositories will appear in a pull-down


list in the Connect to Repository dialog box. This list is local to
the client workstation.

Any of these methods will produce the Connect to Repository dialog box:

Repository
Select List

Connect to
Repository

• Select the PC_Course Repository from the Repository pull-down list


• Tab to the Username box and note the username automatically appears – it
was the last username logged into the client workstation

Once the repository is selected, if the Workflow Monitor


had been previously used on the client workstation then the
last logged in Username, Host Name and Port Number will
appear automatically. These are listed in the Windows
registry of the local client. The Host/Port combination is
communication link where the Server machine is listening for
client requests.

• Accept the default or enter the assigned Repository studentxx Username and
then the Password

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 54
• In the Repository Server box, if there is no default entry, enter the Host Name
and Port Number designated by the Instructor
• Click on the Connect button. The PC_Course Repository shows in the
Navigator window. Notice that the disconnect icon and the PC_Server
server is displayed; both are signs that the user is connected to the
repository

Connect to the Informatica Server


In order to view the results of the wf_ODS_EMPLOYEE_xx Workflow, the Server must be
connected in either On Line or Off Line mode.

On Line vs. Off Line Mode


In On Line mode, the Workflow Monitor continuously receives current information from the
Informatica Server via the Repository Server (e.g. Workflow development testing). With Off Line
mode, the Workflow Monitor displays historic information about past Workflow and Task runs by
retrieving the information from the Repository (e.g. Production run review).

Both Developers and Production Operators will use the Workflow Monitor for Workflow and Task
processing on the Informatica PowerCenter Server. Developers, typically, will be in On Line Mode
to monitor current activities. They may also act as Production Operators while testing and use it in
Off Line Mode to review the previous test runs; Production Operators, of course, will monitor
production runs.

• Select the Gantt Chart tab

• Right-click on Server, PC_Server, and select Connect | On Line. Or double-click


on the server and select On Line
• Double-click on the assigned Studentxx folder to view the previously
processed workflows
• Drill down (double-click on each object) all the way until the session task,
s_m_ODS_EMPLOYEE_xx, appears

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 55
Monitoring the Workflow

Workflow Monitor provides the capability to review server-processing information.For each


Session task (the most common), information about rows loaded or failed and run status. In
addition, there are two primary types of views, Gantt Chart and Task View.

• Select the Task View

Task
Name
(icons)

Task
View tab

Three objects should appear in the selected folder. Note the run time for each is
within seconds of each other:
• The s_m_ODS_EMPLOYEE_xx Session Task -- icon
• The start_ODS_EMPLOYEE Task -- icon
• The wf_ODS_EMPLOYEE_xx Workflow -- icon

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 56
Workflow Monitor Time
The Workflow Monitor displays Start and End times relative to the time configured on the
Informatica Server machine. The PowerCenter client machine interpolates and displays the actual
Server run times to the local client time zone. Since the monitoring activity can take place on
multiple clients, in multiple time zones, each client will convert the Server time to its local time, e.g.
– if the Server runs a Session at 12:00pm EST, a client in EST will display 12:00pm; a client in PST
will display the times 3 hours earlier (9:00am); a client in GMT will display the times 6 hours later
(6:00pm) than EST.

Notice the Status column on the right. The objective is to have all of the tasks show
Succeeded. Below, they are grouped together in a view.

Session Status – Success vs. Failure (vs. Completed with Errors)


A Succeeded status will display if the Informatica PowerCenter Server was able to successfully
complete a workflow or task. However, a Session Task may succeed in processing, but may still
contain warnings or non-fatal errors.

A Failed status may occur if the Informatica Server failed the Workflow or Task due to fatal
processing errors. A Session could fail for many reasons (e.g. - read login failure, custom SELECT
statement error, or the Server was not able to calculate data due to a NULL condition). A rejected
row by the database or discarded by a business rule will not produce a Failed status.

View Session Properties


Developers, success or failure, will likely want to review processing details. For
example, to see if a Session Task processed and loaded an expected amount of rows.
Here’s how to see the results:
• Locate the s_m_ODS_EMPLOYEE_xx Session task under the Task Name
column

• View the Session Properties by doing any one of the following:


° Right-click anywhere on the line selected and select Properties; or

° Click on the Session Properties icon; or simply,

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 57
° Double-click on the selected line for s_m_ODS_EMPLOYEE_xx
Session

The Properties tab of the s_m_ODS_EMPLOYEE_xx dialog box opens. The Session
should display the number of Target Success Rows shown below:

Properties
Tab

Expected
Results

• Click on the Transformation Statistics tab. More detail on the number of rows
handled by the Server are shown here:

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 58
Target
Instance
Transformation
Statistics Tab

Source
Qualifier
Instance

Applied / Affected / Rejected Rows


Applied rows are rows the Informatica Server successfully produced and applied to the target
without errors.

Affected rows are generated by the Server and ‘affected to’ (or accepted by) the target. They may
be a combination of INSERT, UPDATE and DELETE rows, or multiple rows in a database may be
impacted by one UPDATE row.

Rejected rows are either those read rows that either the Server dropped during the transformation
process, or rows that rejected when writing to the target. Rejected rows may be acceptable and
expected.

Refer to “Monitoring the Workflow” in Chapter 12 of the


Workflow Administration Guide

View the Session Log


The Session log is one method to determine what occurred during the system run.
To view detailed Session information, try one of the following:

• Right-click on Session in the Task Name column (Time window) and select Get
Session Log; or

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 59
• Select the Session anywhere on the line in the Time Window and click on

Session Log icon

The Session Log is copied from the Informatica


PowerCenter Server machine as TmpSessionLog_x.log and
automatically opens with WordPad on the local client
workstation. Multiple logs may be opened on the client,
hence the “_x” in the log file name.

If errors have occurred, review the Session log to determine what errors occurred.
Test and rerun as necessary.

Processing)
Memory
(DTM Buffer
Pool)

Mapping
Name

Session
Name

Native Source
and Target
INSERT, UPDATE Database
and DELETE row Connections
syntax (if created)

Session
Processing
Threads

Informatica PowerMart / PowerCenter 6 Basics – Lab 6 – Start and Monitor the Workflow 60
Lab

LAB 7 – FEATURES AND TECHNIQUES I


7
O B J E C T I V E

This is an Instructor-led “follow along” lesson to show and explain the various
Designer features and techniques that can improve efficiency and ease of use.
Because these features are introduced together, under the guidance of the Instructor,
they do not need to be haphazardly squeezed into the labs. They can be used, when
needed, in the subsequent labs.

It is recommended not to save any changes at the conclusion of this exercise because
it may invalidate the mapping.

The following is a list of the more commonly used features and techniques in the
Designer tool to assist with mapping development and navigation in the workspace:

• Auto Arrange
• Remove Links
• Manual Linking
• Revert to Saved
• Link Path
• Autolink by name and position
• Moving Ports
• Shortcut from Normal View to Edit Port
• Copy Columns versus Link Columns
• Create Transformation Methods
• Zoom and size-to-fit
• Designer Options

D U R AT I O N

• 40 minutes

Start the Designer


• Start the Designer by selecting Start | Programs | Informatica Power Center 6.0 |
Designer.

Connect to Repository
• Connect to the PC_Course Repository (refer to flagged step Connect to the
Repository on page 6)

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 61


Open Folder
• Open the assigned Studentxx Folder (refer to the flagged step Open Folder
on page 9)

Open Mapping

• Open the mapping, m_ODS_EMPLOYEE_xx (refer to the flagged step


Open Folder on page 9)

Lesson 1 – Arrange Objects

The Designer includes the Arrange feature that will reorganize objects in the
workspace in one simple step. This aids in readability and analysis of the mapping
flow and can be applied to certain paths through a mapping associated with specific
target definitions – this is commonly referred to as a “pipeline”.

• Attempt to Save

If there was nothing to save, don’t fret. This step was just
in case the steps above were not needed to open the
mapping and a saved wasn’t previously performed.

• In a couple of clicks, this feature can take a mapping that looks like this:

• And change it to look like this:

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 62


• Or this:

To display specific pipelines in the Mapping Designer:


• Choose Layout | Arrange or right-click in the workspace and select Arrange
• Select the target

Select the Iconic option to display arranged pipelines in


the Iconic View.

• Click OK

To restore entire mapping from Iconic View to Normal View, do the following:

• Choose Layout | Arrange


• Click the Select All button
• Uncheck the Iconic checkbox
• Click OK
• Save

This is the reset point (Normal View with the objects


aligned) that, when instructed to execute the Revert to saved
command, everyone will be at the same starting place.

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 63


Lesson 2 – Remove Links

• Click-and-drag the pointer over the blue link lines, only, between the
exp_ODS_EMPLOYEE and the ODS_EMPLOYEE Target Definition

By default, each link stroked changes in color from blue to


red. If any other objects (e.g.: transformations) were
selected along with the links, redo the process.

• Press the Delete key to remove the connections and make sure that is all that
is deleted

Lesson 3 – Manual Linking

This lesson is to demonstrate the proper technique to manually link ports between
transformations

• Single-click and hold the left mouse button in the white space just to the
right of the text for the NAME_out port in the exp_ODS_EMPLOYEE
Expression and attempt to link it to the NAME port in the ODS_EMPLOYEE
Target Definition

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 64


Note the behavior – with absence of the link

icon, this indicates the objective to create a link is not


in process. In addition, it appears as though several other
columns have been selected in the exp_ODS_EMPLOYEE
Expression. To successfully create a manual link, the cursor
must originate on text in any column visible (e.g. Name,
Expression, Datatype, etc.) – not the white space to the right of
the text

• Make another attempt to create the same link; however, this time, Single-
click on text rather than the white space

• Delete the link to try another manual link method


• Select only the output ports (Ctrl-click) in the exp_ODS_EMPLOYEE
Expression and link them to all of the ports to the ODS_EMPLOYEE Target
Definition

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 65


In order to be successful, the port Datatypes must be
compatible. If the ports are out of order, but match by name
or some other pattern, consider Autolink as an option.

Lesson 4 – Revert to Saved

Reverting to a Previous Object Version


While editing an object in the Designer, if unwanted changes are made there is a way to revert to a
previously saved version – undoing the changes since the last save. This works for one
transformation object or several depending on the tool. The Revert to Saved feature works with the
following objects: Sources; Targets; Transformations; Mapplets and Mappings.

• Select Edit | Revert to Saved

With mappings, if a Revert to Saved is executed, then all


changes must be reverted – it’s not just per selected object.
However, if several mappings were changed without a save,
only the active mapping in the Workspace would be reverted
back.

• To demonstrate that objects can not be reverted back individually, remove the
NAME_out and DATE_HIRED ports from the exp_ODS_EMPLOYEE
Expression
• Remove the DATE_HIRED port from the sq_EMPLOYEE Source Qualifier
• With the sq_EMPLOYEE Source Qualifier being the only object selected,
select Edit | Revert to Saved

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 66


The same dialog box appears – all changes must revert
back.

Individual objects may be reverted back to the previous version


without impacting objects around it when using the Source
Analyzer, Warehouse Designer and Transformation Developer
(to be discussed later) – the Mapplet (to be discussed later)
and Mapping Designers require all changes to be reverted back
to the previous version.

In the tools where individual objects may be reverted back, a


Ctrl-Click on each object (or draw a box around those objects)
would be required. This technique may be practiced once a
second source or target definition is imported.

Lesson 5 – Link Path

Tracing link paths allows the developer to highlight the path of a port either forward or
backward through an entire mapping or mapplet.

• To make sure all students are on the same page, Revert to Saved
• Right-click on EMPLOYEE_ID in the sq_EMPLOYEE Source Qualifier
sq_EMPLOYEE and Select Link Path | Forward

Notice how EMPLOYEE_ID’s path from sq_EMPLOYEE all


the way to ODS_EMPLOYEE is highlighted in red

• Right-click on the NAME_out port in the exp_ODS_EMPLOYEE Expression


and click Select Link Path | Both

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 67


Notice how NAME_out port’s path not only shows where
it proceeds to the ODS_EMPLOYEE Target Definition, but
also from its origin all the way back to the EMPLOYEE
Source Definition. Both the FIRST_NAME and
LAST_NAME are used in the formula to produce
NAME_out, so both links are highlighted in red.

• Right-click on the FIRST_NAME port in the EMPLOYEE Source Definition and


click Select Link Path | Forward

Similar to the last example, with the FIRST_NAME going


forward it doesn’t stop at the exp_ODS_EMPLOYEE
Expression where the port is input only. Because it is used
in the formula to calculate the NAME_out, the path
continues to the target.

Lesson 6 – Autolink by name and position

Autolink by name
Developers can automatically link ports by name in the Designer. Use any of the
following options to automatically link by name:
• Link by name
• Link by name and prefix
• Link by name and suffix
The Designer adds links between input and output ports that have the same name.
Linking by name is case insensitive. Link by name when using the same port names
across transformations.

• Revert to Saved to reset the mapping


• Remove the links between the exp_ODS_EMPLOYEE Expression and the
ODS_EMPLOYEE Target Definition

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 68


• From the Main Menu choose Layout | Autolink

The Autolink dialog box opens. Another technique is right-


click in the workspace and the same dialog box will open.

By Name

Select the From Transformation from the drop -down arrow


then highlight the To Transformations.

Using the drop down list, only one transformation may be selected in the From
Transformation box and one to many transformations may be selected in the To
Transformations section. For objects that contain groups such as Router
transformations or XML targets, select the group name from the To Transformations list.

• Click OK

The Designer adds links between input and output ports


that have the same name, regardless of case.

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 69


Autolink by name and prefix or suffix

When Autolinking by name, the Designer adds links between ports that have the same name,
case insensitive. The Designer also has the ability to link ports based on prefixes or suffixes
defined. Adding Suffixes and/or Prefixes in Port Names help identify the ports purpose. For
example, a suggested best practice is to use the suffix “_out” when the port is derived from input
ports that were modified as it passes through the transformation. Without this feature, Autolink
would skip over the names that don’t match and force the developer to manually link the desired
ports.

To link ports by name and prefix:

• Delete the Links between exp_ODS_EMPLOYEE and ODS_EMPLOYEE


• Choose Layout | Autolink
• Select the transformations and targets

Only one transformation can be selected in From


Transformation listing and multiple transformations can be
selected in the To Transformations list. For objects that
contain groups such as Router transformations or XML
targets, select the group name from the To Transformations
list.

• Select Name radio button


• Click More to view the options for entering prefixes and suffixes

Note the button toggles to become the Less button


• Type _out in selected From Transformation

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 70


This singles out all the ports with _out as a suffix in the
From Transformation, ignores the suffix and attempts to
match the name in the to the To Transformation

• Click OK and the results should look as follows

Autolink by Position

The Autolink by position links the first output port to the first input port, the second output
port to the second input port, and so forth. Use this option when creating transformations with
related ports when applicable in the same order.

The Datatype, precision and scale must be considered


when using this Autolink option. In addition, not every port
visible in the Normal View has both the input and the output

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 71


ports selected. In other words, some ports may be required
to create an output port (derived port), however, are not
needed down stream. A best practice is to uncheck the
output port of those ports deemed to be input only. It not
only gives the mapping a cleaner look, it simplifies features
like Autolink by position.

To link ports by position:

• Revert to Saved to reset the mapping


• Remove the links between the exp_ODS_EMPLOYEE Expression and the
ODS_EMPLOYEE Target Definition
• Choose Layout | Autolink or right-click in the workspace and select Autolink
• Select the transformations and targets
• Select Position

By Position

• Click OK. The Designer links the first output port to the first input port, the
second output port to the second input port, and so forth.

As noted above, ports that have incompatible data types


will not link automatically. Ports with compatible data types
will link because it does pass the validation check, however,
it is a best practice double-check the results of the Autolink.

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 72


Lesson 7 – Moving Ports

There are a couple of ways to move ports around within a transformation. Moving ports around
in a transformation may be required to see which ports are needed for a calculation, or to group
them (discussed later), or to simply line them up with how the Target looks to see the flow of the
mapping easier.

Up & Down Arrows to Move a Port


• Revert to Saved to reset the mapping
• Open the exp_ODS_EMPLOYEE Expression and click on the Ports tab
• Single-click on the TYPE_CODE port and move it up to the top using the up
arrow icon found in the upper right corner of the tool bar

The results will look as follows:

Drag-and-Drop Method to Move a Port


• Single-click on the number to the left of the DATE_HIRED port
• Single-click and hold the left mouse button and note the faint square that
appears at the bottom of the pointer

• While still holding the left mouse button, position the pointer just below the
TYPE_CODE port until a red-line appears under it

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 73


• Release the mouse button and DATE_HIRED will appear below TYPE_CODE

• Click on the Cancel button to not save the changes

Lesson 8 – Shortcut from Normal View to Edit Port

There is a shortcut to go from the Normal View directly to the port desired in the Edit View –
this is especially useful in transformation objects that have dozens of ports.

Prior to completing the next couple of lessons, there is a


port to be deleted from exp_ODS_EMPLOYEE
transformation in the m_ODS_Employee mapping. This is
a great opportunity to demonstrate another very useful
technique. From the previous exercise, the TYPE_CODE
should exist in the exp_ODS_EMPLOYEE transformation.

• Revert to Saved to reset the mapping


• Remove the links between the sq_EMPLOYEE Source Qualifier and the
exp_ODS_EMPLOYEE Expression
• Resize or scroll down until the TYPE_CODE port appears in the
exp_ODS_EMPLOYEE Expression
• Double-click on the TYPE_CODE port

This is the shortcut that goes directly to the port in the


Edit View

• Delete the port by using the icon

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 74


• Click on the OK button and the transformation objects should be the same as
below

Lesson 9 – Copy Columns versus Link Columns

In the Mapping Designer, copying ports from one transformation to another is a valuable time
saver. In lieu of entering the ports manually which includes the name, data type, precision and
scale, the drag-and-drop method can be used by the developer to create a port in the desired
transformation.

The Designer includes a toggle feature to switch between “Copy Columns” and “Link Columns”.
With Copy Columns, a port may be dragged and dropped from one transformation to another,
capturing the integrity of the Name, Datatype, Precision and Scale. With Link Columns, if the
desired port does not exist in the transformation to be linked, it will copy and link the port. If the port
does exist, the port can simply be linked. In order for the link to be established between
transformations, it must pass a validation check the Designer performs automatically. If the
validation check does not pass, the port will be copied, only, and not linked. If only attempting to
link ports the link will drop – the message can be found in the status bar at the bottom of the
window.

Copy columns
• Use the mouse to choose the copy columns icon

• Use the mouse to choose the link columns icon Link columns

• Maneuver the transformations and adjust their sizes to all of the ports

As a result of the previous exercise, note the


TYPE_CODE port exists in the sq_EMPLOYEE
transformation however, it does not appear as a port in the
exp_ODS_EMPLOYEE transformation

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 75


Copy Columns
• Choose the copy columns by selecting Layout | Copy Columns or the Copy
Columns icon
• Use the drag-and-drop method to copy the TYPE_CODE port from the
sq_EMPLOYEE Source Qualifier to the exp_ODS_EMPLOYEE Expression

The exp_ODS_EMPLOYEE Expression displays the


TYPE_CODE port just copied from the sq_EMPLOYEE
Source Qualifier as shown above; however, in this mode no
link should have been created.

Link Columns
• Choose the link columns by selecting Layout | Link Columns or the Link
Columns icon
• Link the TYPE_CODE port from sq_EMPLOYEE Source Qualifier to the
exp_ODS_EMPLOYEE Expression

Copy / Link Columns

There is no mode change here – the Link Columns mode

can just link ports and copy / link ports as will be


demonstrated here.

• Delete the TYPE_CODE port from the exp_ODS_EMPLOYEE Expression

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 76


• Use the drag-and-drop method to copy / link the TYPE_CODE from the
sq_EMPLOYEE Source Qualifier to the exp_ODS_EMPLOYEE Expression

Lesson 10 – Create Transformation Methods

Developers can create transformations using the following Designer tools:


• Mapping Designer. Create transformations that connect sources to targets. Transformations in
a mapping cannot be used in other mappings unless Developers configure them to be reusable

• Transformation Developer. Create individual transformations, called reusable transformations


that Developers can use in multiple mappings

• Mapplet Designer. Create and configure a set of transformations, called mapplets that
Developers can use in multiple mappings

There are two ways to create transformations from scratch. There is the Transformation Toolbar
that includes every Informatica transformation and then there is the menu option, Transformation |
Create. When using the transformation toolbar developers will be able to click and drop
transformations to a desired location in the workspace and it will also give it a default name. The
Transformation | Create option forces the developer to select the desired transformation from a
drop down list and the name must be typed in before the Designer creates the transformation.

Transformation Toolbar Method

• Revert to Saved to reset the mapping

• On the Transformation toolbar, find the Aggregator Transformation icon


and single-click

Note when the mouse pointer hovers over a


transformation icon in the toolbar that the name of the
transformation object appears momentarily. In addition,
some transformations will be shadowed meaning the

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 77


transformation object is not available in the selected tool
(e.g. Transformation Developer, Mapplet or Mapping
Designer).

• Drag the mouse into the workspace

Note the arrow changes to crosshairs while in the


workspace.

• Pick a location where the transformation should appear and single-click again

The selected transformation appears in the desired


location of the workspace and the crosshairs change back to
the arrow. The object has a default name that should be
changed for easy identification during a debug run.

Transformation Menu Method


• Select Transformation| Create

• Select the Aggregator from the drop down list

• Select Create and give it the name agg_TargetTableName

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 78


• Click on the Done button and the new transformation appears in the
workspace

Lesson 11 – Zoom and scale-to-fit

A mapping may be difficult to view in the workspace and the developer may want to change the
magnification to see it better. Below are the features and techniques to adjust the magnification.

• Revert to Saved to reset the mapping

Zoom Out by using the Toolbar Option

There are features to change the magnification of the


contents of the workspace. Use the toolbar or the Layout
menu options to set zoom levels. The toolbar has the
following zoom options:

Zoom in based on rectangle Drop down list

Scale to fit

Zoom in by 10% button Zoom out by 10% button

Zoom in 10% on button


• Uses a point selected as the center point from which to increase the current
magnification in 10 percent increments

Zoom out 10% on button. Uses a point selected as the


center point from which to decrease the current
magnification in 10 percent increments

• Click on the Zoom Out 10% on button on the toolbar

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 79


• Click anywhere in the workspace and the mapping will zoom out by 10%
each time the mouse is clicked
• Keep clicking until the mapping is small enough to fit within the window

Zoom In by using the Toolbar Option

Zoom in 10% on button increases the current


magnification of a rectangular area selected. Degree of
magnification depends on the size of the area selected,
workspace size, and current magnification

• Click on the Zoom In 10% on button on the toolbar


• Click anywhere in the workspace and the mapping will zoom in by 10% each
time the mouse is clicked.

A developer can also zoom in or out by right clicking in


the mapping designer and clicking on zoom in or zoom out
by the same 10% increments

Scale to Fit

Scale all objects to fit in the workspace

• Toggle off the Zoom In 10% on button

• Click on the Scale to Fit icon in the toolbar

Two other options are to 1) select the menu option, Layout


| Scale to Fit or 2) Right-click anywhere in the workspace and
choose Scale to Fit.

Layout Menu Options


• The layout menu has the following Zoom options

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 80


Zoom in Based on Rectangle

Zoom in based on rectangle increases the current


magnification of a rectangular area selected. Degree of
magnification depends on the size of the area selected,
workspace size, and current magnification.

Zoom Center

Zoom Center maintains the center point of the


workspace and zooms in or out by 10 percent increments.

Zoom Point

Zoom Point uses a point selected as the center point


from which to zoom in or out by 10 percent increments.

Zoom Rectangle

 Zoom Rectangle increases the current magnification of


a rectangular area selected. Degree of magnification
depends on the size of the area selected, workspace size,
and current magnification.

Zoom Normal

Zoom Normal. Sets the zoom level to 100 percent.

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 81


Zoom Percent

Zoom Percent. Select the desired percent and Zoom in


or out by that percent

Lesson 12 – Designer Options

As mentioned in Lab Guidelines, screen shots are based


on columns that are not selected by default. All of the
transformation objects used in this course have the following
columns selected: Name, Datatype and Length/Precision.
Others will include Expression.

• Select Tools | Options


• Click on the Table Tab
• For the Source and Target, select Key Types, Name, Datatype, Length/Precision
• the Source Qualifier, Update Strategy, Filter, Lookup, Joiner,
For
Router, Mapplet and Sorter select Name, Datatype, Length/Precision
• For the Expression and Aggregator select Name, Expression, Datatype,
Length/Precision

Informatica PowerMart / PowerCenter 6 Basics – Lab 7 – Features and Techniques I 82


Informatica PowerMart / PowerCenter 6 Basics – 83
Lab

LAB 9 – FLAT FILE WIZARD AND FILTER


9
P U R P O S E

• Load a Time ODS Table. This table will contain filtered time data based on an
Instructor-defined date

O B J E C T I V E

• Perform Source Analysis of a Flat File using the Flat File Wizard
• Learn to use the Filter Transformation

D U R AT I O N

• 30 minutes

S U M M A RY

Analyze a Flat File source

• In Designer, open the folder and open the Source Analyzer by clicking the
Source Analyzer Icon or by selecting Tools | Source Analyzer

Flat File Wizard


Wherever a source flat file is located (Windows or UNIX) its definition must be imported into the
repository via the Source Analyzer in the Designer tool.

The definition for Flat Files may be imported into the Repository from local, mapped, or NFS
mounted drives. If a flat file is on UNIX, then it is suggested to copy it via FTP to either a local or
mapped drive (Windows-based operating system). When the Session Task in the Workflow runs,
the file will be read from the UNIX directory in which it is physically located.

Once the file definition is in the repository, it can be discarded from the local or mapped drive
because the Informatica PowerCenter Server will not look to client workstation for location
information. When running a Session Task, always think about the location of the file from the
Informatica PowerCenter Server’s perspective – never from the client workstation.

• Select Sources | Import From File

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 84
• Change the Files of type: to All Files (*.*), locate the directory (Instructor
will provide location, and import the Flat File, TIME.txt.

• Select Delimited
• Click on Import Field Names From First Line

Import field
names from first
line

The first row in the TIME.txt flat file contains the column
names. When the option is checked, it automatically starts
the import at row 2 and assumes that future extracts will
start at row 2. This, of course, can be changed if necessary
without using the wizard (e.g. If the first extract contained

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 85
column names – which is helpful to the developers who need
to know – but future extracts do not, then this can be
changed back to import from the 1st row.)

• Click Next
• Make sure that Comma is set under the Delimiters section and the text Qualifier
should be set to Double Quotes

• Click Next
• By importing the field names from the first line (Step 1), the port names have
already been created. No other modifications are necessary

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 86
The Wizard takes a best guess at the Datatype, length
and width based on the first 500 rows.

Refer to “Importing Flat Files” in the Designer Guide.

• Click Finish

The Source Definition should look as follows. If any


discrepancies exist, edit the Flat File definition and make the
necessary changes. Otherwise, for practice, delete the
definition, save the repository (Ctrl-s) and repeat the Flat File
Wizard Steps 1 - 3.

• Save the Repository by Ctrl-s or clicking Repository | Save

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 87
Import Target Table

• Open the Warehouse Designer by clicking the Warehouse Designer icon on


the toolbar
• Click on Targets | Import From Database
• Connect to your Target ODBC (tdbuxx - where xx is your student number)
• Expand the TDBU schema and TABLES folder
• Select ODS_TIME
• Click OK
• The ODS_TIME Target Transformation should look as follows. If any
discrepancies exist, let your Instructor know

• Save the Repository by Ctrl-s or clicking Repository | Save

Create Mapping
• Create a new mapping called m_ODS_TIME_xx (refer to the flagged step
Create the Mapping on page 23)

When creating a new mapping, the Designer will prompt


whether or not to close the current mapping in the
workspace. Click on the Yes button when the prompted.

Add Source and Target Transformations


• From the FlatFile database name under the Sources node, drag-and-drop
TIME Source definition, into the Mapping Designer Workspace

Of course, the FlatFile database is not really a database,


however, this is the chosen terminology in how Source
Definitions are grouped.

• From the Targets node, drag-and-drop ODS_TIME into the Mapping


Designer Workspace

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 88
Create Expression Transformation

• Create an Expression Transformation (refer to the flagged step Create the


Expression Transformation on page 27)

Going forward, when there is a picture below a Step Title (e.g. Create Expression
Transformation), it reflects how the object should appear upon completion of the step. When
transformations are linked, it will show the previous transformation and which columns are linked,
input/output ports, etc. The bullets provide the details necessary to complete the entire step.

Furthermore, the learning process should be in full swing and the steps will become more vague
expecting that tasks have been learned. As the instructor stated, the rule of thumb is the first time
step has been introduced in detail, the second time there is reference back to it and finally, the third
time and beyond it is expected to have been learned.

• Select all ports within the sq_TIME transformation, then drag-and-drop the
cursor to the Expression Transformation just created

If the links do not appear, chances are Copy Columns


rather than Link Columns was selected. See flagged step
Copy Columns and Link Columns on page 75

• Double-click on the header bar of the Expression Transformation to go into


edit mode
• On the Transformation Tab, to the right of the EXPTRANS name, click on the
Rename button
• Type in exp_ODS_TIME and click the OK button
• Click on the Apply button
• Click on the Ports tab

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 89
• Highlight the third port, Quarter, then add the following ports, each by clicking
the Add Port button

PORT DATATYPE LENGTH PORT TYPE


DATE_ID date/timestamp 19 (default) Output Only
MONTH_out string 3 Output Only
QUARTER_out string 2 Output Only
YEAR_out string 4 Output Only

An expression will be needed for each of the above ports. Open the expression editor
and add expressions for each port as follows (See flagged step Create an
Expression on page 30).

As mentioned earlier, formulas can be typed in manually,


however, it’s recommended to use the tabs in the Expression
Editor’s Navigator Window to build them. Select the required
functions (TO_DATE and SUBSTR) and ports (Date and
Quarter) from their respective tabs when building these four
separate expressions. This is a best practice, especially,
when building complex expressions with nested functions
using multiple ports. It will make debugging expressions
easier.

PORT FORMULA
DATE_ID TO_DATE(DATE,’DD-MON-YYYY’)
MONTH_out SUBSTR(DATE,4,3)
QUARTER_out SUBSTR(QUARTER,6,1)
YEAR_out SUBSTR(QUARTER,1,4)

• Change the ports DATE and QUARTER to input ports only


• Examine the Ports Tab of the exp_ODS_TIME Expression – it should
resemble as follows:

• Click on the OK button

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 90
Create Filter Transformation

• Click on the Filter Transformation icon on the Transformation toolbar

• Drag the pointer, which now appears as crosshairs , into the Workspace
window to the right of the exp_ODS_TIME Expression
• Single-click (or, click-and-drag, which will draw a box, then release)
• Drag and drop the following ports from exp_ODS_TIME to the FILTRANS
window:
DATE_ID
DAY_OF_WEEK
MONTH_out
QUARTER_out
YEAR_out
• Double-click on the Filter Transformation
• Under the Transformation tab click the Rename button and enter fil_ODS_TIME
• Click on the Ports tab and remove the ‘_out’ from each of the three ports
(before = aft):
MONTH_out = MONTH
QUARTER_out = QUARTER
YEAR_out = YEAR
• Click on the Properties tab

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 91
• Click on the arrow on line 1 (Filter Condition) to the far right in the Value
column to open the Expression Editor
Click here to open
Expression Editor

• To specify the Filter Condition, highlight TRUE and then press the delete key to
remove the default condition
• Click on the Ports Tab in the Navigator Window
• Double-click on DATE_ID under the fil_ODS_TIME transformation

• Click the greater than or equals button on the Operator Keypad


• Click the Functions Tab, expand the Conversion folder and double-click on
To_Date
• To complete the expression, type '12/04/1999', 'MM/DD/YYYY' between
the parentheses. The final expression should look as follows:

DATE_ID >=TO_DATE('12/04/1999', 'MM/DD/YYYY')

• Click on the Validate button to validate the filter condition


• Click OK to save changes

Link Target Transformation

• Use the Autolink by Name or Position feature to link the transformation objects.
Select fil_ODS_TIME for the From Transformation and ODS_TIME for the To
Transformations. Click OK. All ports should be linked between these two
transformations (shown above)
• Validate the mapping by selecting Mapping |Validate

Remember to view the Validate Tab in the Output window


for the results.

• Save

Completed Mapping

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 92
Create Workflow

Complete the following steps (refer to Start Workflow Manager on page 37)
° Start Workflow Manager
° Connect to Repository
° Open Folder

• Create Workflow, wf_ODS_TIME_xx, via Workflows | Create

• Edit wf_ODS_TIME_xx Workflow:


° tab, add the wf_ODS_TIME_xx.log as the Workflow Log
Properties
File Name
° Metadata Extensions tab, add creation date and your name in the
respective reusable metadata extensions
• Edit Start Task:
° Rename Start task to start_ODS_TIME
° Create Session Task called s_m_ODS_TIME_xx
• Edit s_m_ODS_TIME_xx session
° Task – Sources/Properties tab, verify Source filename is time.txt
° Task – Targets/Connections tab, select native_target_xx for ODS_TIME
target table
° Targets (top)/Properties (bottom),
check Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2 - Targets/Properties tab, select Normal for Target load
type
• Link start_ODS_TIME to s_m_ODS_TIME_xx Session Task
• Save, Validate and Start Workflow from Selected Task, start_ODS_TIME

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 93
• Monitor and Review the results for s_m_ODS_TIME_xx in the Workflow
Monitor

Results – Session Properties


• By using the date 12/04/1999, the ODS_TIME_xx table should contain 1489
rows.

Expected
Results

Results – Session Transformation Statistics

Results – Preview Data


Use the Preview Data option in the Designer to preview Target Data
• Return to the Designer and either go to:
° Mapping Designer; or
° Warehouse Designer
• Right-click on ODS_TIME target definition and select Preview Data…

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 94
The above dialog box is similar to the ones used to connect to the source and target
database. In this case the connection needs to be made to the target database.
Login to the target database in the same manner; refer to the flagged step Analyze
Source Definitions on page 13.

• Select the odbc_target ODBC data source connection from the pull-down list
• Enter the Username and Password assigned by the Instructor – should be
tdbuxx / tdbuxx (username / password)
• Click on Connect and the results appear in the bottom half of the dialog box.
The default number of returned rows is 100, however, for the exercises going
forward, only the first few rows will be shown in the Results sections.

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 95
Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 96
Lab

LAB 10 – HETEROGENEOUS JOIN


10
P U R P O S E

• The purpose of this lab is to populate a fact table by joining a flat file and a
relational table. The flat file has orders to vendor’s data for products and
supplies. The product table has data on the make and model name, the
vendor that supplies the product, and the cost. We want to load an ODS table
with the costs summarized by date, product and vendor. This will be the raw
data that will be used to populate the fact table.

O B J E C T I V E

• Learn how to perform a heterogeneous join using the Joiner transformation


• Learn how to aggregate data using the Aggregator Transformation

D U R AT I O N

• 35 minutes

S U M M A RY

SOURCES: PRODUCT table, ORDER flat file


TARGET: ODS_ORDER_AMOUNT table

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 97


Import Sources

• Clear Source Analyzer Workspace (Right-click anywhere in the Workspace and


select Clear All)
• Continue to work in the assigned student folder and import tab delimited flat
file, ORDER.txt. The first row includes the field names, so check the Import
Field Names From First Line box (see flagged step Analyze a Flat file source on
page 84)
• Import relational table, PRODUCT
• Save Repository

Import Target
• Clear Warehouse Designer Workspace (Right-click anywhere in the Workspace
and select Clear All)
• Import the relational database target, ODS_ORDER_AMOUNT
• Save Repository

Create Mapping
• Create a mapping called m_ODS_ORDER_AMOUNT_xx

No more hints on how to create a mapping – 

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 98


Add Sources and Target

• Add both order and product source definitions with their respective Source
Qualifiers

Make sure each source has its own Source Qualifier; if


they do not, then they will have to be created manually.
Refer to Lab 4 on page 22.

• Add target definition, ODS_ORDER _AMOUNT

• Save the mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 99


Click on the Navigator window and Output window toggle
buttons which are located next to folder name as seen
below, to minimize these two windows.

Navigator Output
Window Window
Toggle Button Toggle Button

This will expand the Workspace, which will make it easier to


work with all of the mapping objects.

The Output Window will automatically reappear when


information is added (e.g. Saving the repository or Mapping
Validation)

Create Joiner Transformation

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 100


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. The following sources are
allowed:

• 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

• Create Joiner Transformation and name it jnr_ODS_ORDER_AMOUNT

The Joiner Transformation can only join two disparate (heterogeneous) sources. If three or
more heterogeneous sources are needed to complete the mapping, then multiple Joiner
transformations will be needed and they will be “nested” – the results from one Joiner will be
passed on to the next and so forth. In addition, the Joiner needs a minimum of two ports, one from
each source to create a join condition. Those two ports must be compatible data types and length
to for the join condition to be successful.

One of the two sources in each Joiner must be deemed the Master and the other, by default, will
become the Detail. The Master is designated by the “M” port attribute, and is essentially cached to
memory. If not enough memory is allocated on the Properties tab (discussed later in the course)
then the spillover will cache to disk and ultimately degrade performance. To determine which
source should be the Master, it is recommended to choose the smaller (total bytes; not necessarily
rows) of the two since it will take less time and use less system resources to cache. To calculate
which source will cache less between the two, factor in the number of ports, their respective data
types, precision and scale and THEN, multiply that by the expected number of rows.

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 101


Port Precision
(Width) for:
Ports PRODUCT ORDER
PRODUCT_CODE 10
VENDOR_ID 10
PRICE 10
COST 10
ORDER_DATE 11
PRODUCT 10
QUANTITY 1

Total Port Width 40 22


Total Rows 80 200

Port Width x Rows 3200 4400

• Add the following ports to jnr_ODS_ORDER_AMOUNT from:


° sq_PRODUCT (PRODUCT_CODE, VENDOR_ID, PRICE, COST)
° sq_ORDER (ORDER_DATE, PRODUCT, QUANTITY)
• Edit jnr_ODS_ORDER_AMOUNT – Ports tab, select the ports from the
Product as the Master
• On the ports tab, increase size of PRODUCT port to a precision of 10.
• On the Condition tab, add one condition where PRODUCT_CODE = PRODUCT
by clicking on the Add a new condition button
• On the Properties tab, confirm the Join Type is Normal

There are several different Join Types available to choose.


There is the Normal Join (inner), Master Outer Join (left),
Detail Outer Join (right), and Full Outer Join. See Defining
the Join Type in Chapter 6 of the Transformation Guide.

• Save the mapping

Create Expression Transformation

• Create an Expression Transformation called exp_ORDER_DATE

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 102


• Copy/Link ORDER_DATE port from the jnr_ODS_ORDER_AMOUNT to
exp_ORDER_DATE
• Rename ORDER_DATE port to ORDER_DATE_in
• Add a new port called ORDER_DATE_out with the Datatype, date/time
• Create an expression as follows:
TO_DATE(ORDER_DATE_in, 'DD-MON-YYYY')

Create Aggregator Transformation

The Aggregator transformation allows aggregate calculations, such as averages and sums.
The Aggregator transformation is unlike the Expression transformation, in that it can be used to
perform calculations on groups. The Expression transformation permits calculations on a row-by-
row basis only.

• Create an Aggregator Transformation ( icon) and name it


agg_ODS_ORDER_AMOUNT
• Add the ORDER_DATE_out port from the exp_ORDER_DATE to the
agg_ODS_ORDER_AMOUNT
• Add the following ports from jnr_ODS_ORDER_AMOUNT to
agg_ODS_ORDER_AMOUNT and arrange them in this specified order
following the ORDER_DATE_out port:

PRODUCT_CODE, VENDOR_ID, PRICE, COST, QUANTITY

It is important to specify how to group the data to do


aggregate calculations. The group by ports can be input,
output, or variable ports. To define a group, check the
GroupBy checkbox for each port required on the Ports tab in
the aggregator. The order of the ports from top to bottom
determines the group by orders, so move them around if
necessary.

In addition, when grouping data the last row of each group is


output, unless otherwise specified in an Aggregator Expression.

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 103


The “Expression” section of the port will be enabled, turn white
and logic can be inserted in the Expression Editor section of the
port for output and variable ports

• Rename ORDER_DATE_out to ORDER_DATE


• Edit agg_ODS_ORDER_AMOUNT – Ports tab, group the data by:
° ORDER_DATE
° PRODUCT_CODE
° VENDOR_ID
• On the Ports tab, append _in to the QUANTITY port. The end result will be
QUANTITY_in. In addition, make this an Input only port by turning off the
Output port
• On the Ports tab, create an output port called QUANTITY_out with a
Datatype of “integer”
• Build an expression should result in the sum of the QUANTITY_in

SUM(QUANTITY_in)

• Save the mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 104


Link Target Definition

• Use the Autolink feature to link agg_ODS_ORDER_AMOUNT to


ODS_ORDER_AMOUNT. All of the port names are the same as the target
except QUANTITY_out. Try By Name with _out in the From Transformation
Suffix for practice and click on the OK button (see flagged step Autolink by
Name on page 68)

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 105


Completed Mapping

• Save the mapping and check for validation information on the Save tab in the
output area. If valid, proceed to the Workflow Manager.

Create Workflow

• Create Workflow called wf_ODS_ORDER_AMOUNT_xx


• Add wf_ODS_ORDER_AMOUNT_xx.log as the Workflow Log File Name

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 106


• Add creation date and your name in the respective reusable metadata
extensions
• Rename Start task to start_ODS_ORDER_AMOUNT
• Create Session Task called s_m_ODS_ORDER_AMOUNT_xx
• Select native_source connection for sq_PRODUCT source instance
• Verify Source filename is order.txt (Properties tab)
• Select native_target_xx connection for ODS_ORDER_AMOUNT target instance
° Check property Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property
• Link start_ODS_ORDER_AMOUNT to s_m_ODS_ORDER_AMOUNT_xx
• Save, Validate and Start Workflow wf_ODS_ORDER_AMOUNT_xx
• Monitor and Review the results for s_m_ODS_ORDER_AMOUNT_xx in the
Workflow Monitor

Results – Session Properties

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 107


Results – Session Transformation Statistics

Results – Preview Data

Only the first few rows are shown.

Informatica PowerMart / PowerCenter 6 Basics – Lab 10 – Heterogeneous Join 108


Lab

11
LAB 11 – SORTER
P U R P O S E

• The purpose of this lab is to populate an ODS table by joining a flat file and a
relational table. It’s the same table as the previous lab, however, assuming
there is a large amount of data broken down into several groups, the data will
flow through the mapping much faster through the Aggregator if the data is
sorted. Since the data is not coming, solely, from a relational source,
grouping the data in the Source Qualifier will serve very little purpose. The
addition of the Sorter Transformation and a property in the Aggregator has
the potential to significantly enhance performance.

O B J E C T I V E

• Reiterate the Copy Mapping Process


• Learn how to use the Sorter Transformation
• Learn the purpose of the Aggregator Transformation’s Sorted Input property

D U R AT I O N

• 20 minutes

S U M M A RY

SOURCES: PRODUCT table, ORDER flat file


TARGET: ODS_ORDER_AMOUNT table

Copy Mapping
The first step will be to copy the previous mapping

Informatica PowerMart / PowerCenter 6 Basics –Lab 11 – Sorter 109


• Copy the mapping m_ODS_ORDER_AMOUNT_xx (See flagged step on
page ) and name it m_ODS_ORDER_AMOUNT_sorter_xx
• Open m_ODS_ORDER_AMOUNT_sorter_xx mapping in the Workspace
• Save

Create Sorter Transformation

• Create a Sorter transformation and name it srt_ODS_ORDER_AMOUNT


• Add ORDER_DATE_out port from exp_ORDER_DATE
• Add QUANTITY, PRODUCT_CODE, VENDOR_ID, PRICE and COST ports

When inserting another transformation between


transformations that are already linked it is easier to get a
visual of what ports need to go where. So, rather than
removing the input links from the
agg_ODS_ORDER_AMOUNT transformation, add the links
to the one that needs them, first.

• Rename ORDER_DATE_out to ORDER_DATE


• Check the key check box for the ORDER_DATE, PRODUCT_CODE,
VENDOR_ID ports and make sure the ports are in that order

The intent is to match the grouping in the Aggregator


• Save

Remove Links
• Remove all input links to agg_ODS_ORDER_AMOUNT

This will be the location where the Sorter Transformation


will be inserted

Add Links

Informatica PowerMart / PowerCenter 6 Basics –Lab 11 – Sorter 110


• srt_ODS_ORDER_AMOUNT to
Autolink by name
agg_ODS_ORDER_AMOUNT
• Manually link QUANTITY from srt_ODS_ORDER_AMOUNT to
QUANTITY_in in agg_ODS_ORDER_AMOUNT
• Save

Set Sorted Input Property

Since the Sorter Transformation sorts the data, the Aggregator has a property to keep the data
flowing called Sorted Input. It makes no difference if the database does the sorting or the Sorter
Transformation, however if the property is checked the, Aggregator expects the data to be sorted.
How this property keeps the data flowing is after the last row of a particular group (defined by the
Aggregator GroupBy checkboxes) enters it’s respective memory cache, the aggregation for that
group begins and a new memory cache is created for the next group and so on. Without this
property, each and every row would have to enter the memory cache before aggregation would
occur. This potentially could produce a very large bottleneck.

• Check the Sorted Input checkbox on the Properties tab in the


agg_ODS_ORDER_AMOUNT Transformation

Informatica PowerMart / PowerCenter 6 Basics –Lab 11 – Sorter 111


Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_ORDER_AMOUNT_sorter_xx


• Add wf_ODS_ORDER_AMOUNT_sorter_xx.log as the Workflow Log File
Name
• Rename Start task to start_ODS_ORDER_AMOUNT_sorter
• Create Session Task called s_m_ODS_ORDER_AMOUNT_sorter_xx
• Select native_source connection for sq_PRODUCT source instance
• Verify Source filename is order.txt (Properties tab)
• Select native_target_xx connection for ODS_ORDER_AMOUNT target instance
° Check property Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property
• Link start_ODS_ORDER_AMOUNT_sorter to
s_m_ODS_ORDER_AMOUNT_sorter_xx
• Save, Validate and Start Workflow wf_ODS_ORDER_AMOUNT_sorter_xx
• Monitor and Review the results for
s_m_ODS_ORDER_AMOUNT_sorter_xx in the Workflow Monitor

Informatica PowerMart / PowerCenter 6 Basics –Lab 11 – Sorter 112


Results – Session Properties
103 rows loaded (same as previous lesson)

Results – Session Transformation Statistics

Results – Preview Data

Only the first few rows are shown.

Informatica PowerMart / PowerCenter 6 Basics –Lab 11 – Sorter 113


Lab

12
LAB 12 – BASIC LOOKUP
P U R P O S E

• To load an ODS table with only those customers who have one or more
completed, non-cancelled, invoices on record

O B J E C T I V E

• To demonstrate the use of a Lookup transformation where a Source Qualifier


SQL override or a Joiner may not be the best solution

D U R AT I O N

• 40 minutes

S U M M A RY

SOURCE: INVOICE table


TARGET: ODS_CUSTOMER_ACTIVE table

Import Source Table

• Clear Source Analyzer Workspace – Right-click anywhere in the workspace


and select Clear All
• Continue to work in the assigned student folder and import the relational
source, INVOICE

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 114


Import Target Table

• Import the target table ODS_CUSTOMER_ACTIVE

Create Mapping
• Create a mapping called m_ODS_CUSTOMER_ACTIVE_xx

Add Source and Target


• Add INVOICE Source Definition with its respective Source Qualifier

• Add ODS_CUSTOMER_ACTIVE target definition

Use the Navigator and Output Widow toggle buttons,


again, to maximize the Workspace real estate.

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 115


Create Filter Transformation

• Create a Filter Transformation called fil_ODS_CUSTOMER_ACTIVE (see


flagged step Create Filter Transformation on page 91)
• Add the following ports from sq_INVOICE to
fil_ODS_CUSTOMER_ACTIVE: CUST_NO, DATE_CLOSED and
CANCELED
• Edit fil_ODS_CUSTOMER_ACTIVE
° Click on the Properties tab and add the following Filter Condition:

NOT (ISNULL (DATE_CLOSED)) AND CANCELED = 0

Only those invoices that have a date in the


DATE_CLOSED column and were not cancelled will meet the
filter condition

°Click Validate or OK to validate the condition


• Close the Edit Transformations window
• Save

Create Lookup Transformation

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 116


Connected vs. Unconnected Lookups
In this step a connected Lookup is needed in order to bring back specific existing Customer data
where a Joiner or SQL override will not work correctly. Like a number of other transformations,
Lookups can be configured to be ‘connected’ or ‘unconnected’.

• Add a Lookup Transformation to the mapping and a dialog box appears:

• Since the CUSTOMER table has not yet been analyzed or imported as a
Source or a Target, select the Import button (as shown above)
• Enter the logon information needed to connect to the odbc_source location
(see flagged step Analyze Source Definitions on page 13)

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 117


• Expand the SDBU Tables list and select the table CUSTOMER

• Click OK and a Lookup transformation window will appear in the workspace


• Rename LKPTRANS to lkp_CUSTOMER and exit – an error message appears
stating: ”The lookup condition is empty…” (See below)

If any edits are made to the Lookup Transformation and


no condition has been entered prior to clicking on the Apply
or OK buttons, the following error will appear:

There is no problem with clicking on Yes to continue, however,


the mapping will not be valid until a condition is entered. A
similar error message would occur with the Joiner (previous
exercise) and Router (discussed later) Transformations – as
these, too, require valid conditions.

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 118


• Copy/Link CUST_NO from
fil_ODS_CUSTOMER_ACTIVE to an
empty or output port in
lkp_CUSTOMER – the icon will have the
plus sign tagged at the bottom as it enters
the Lookup Transformation

• Double-click on the header of the Lookup transformation.


• On the Condition tab choose Add a new condition button (see picture below)

The Designer will automatically choose the ports to


compare based on the sequential order of Lookup ports and
Input ports.

• Select CUST_ID and CUST_NO for the condition

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 119


The Lookup, like the Joiner and the Aggregator discussed earlier, has the ability to cache the
rows to memory (and disk). There are several caching options to be discussed later in the course;
however, when a lookup is connected (every source row passes through), it is a Best Practice to
choose one of many caching options to obtain the best performance.

• Change the Location Information on the Properties tab to $Source

In this example, since the source and lookup tables


come from the same Database (Schema), the $Source
variable may be used. This means that when native
database connection is chosen for the Source Instance in the
Session Task, the Lookup will use the same one.

Essentially, the $Target variable does the same thing except


the location of the lookup table would have to be in the same
location as the target.

Choosing either of the two variables is a Best Practice because


it provides the most flexibility. However, when neither is the
correct Database Location then it must be hard-coded. Note
that in the listing (see Select Database dialog box below) just
below $Source and $Target variables are all of the available
database connections.

odbc_source
represents the
Data Source
Name (DSN)
from where the
Lookup table
was imported –
the Informatica
PowerCenter
Server will not
recognize this
as a valid
database
connection and
must be
changed

Click here to
open Select
Database Dialog
Box

Select $Source
variable

• After selecting the Location Information, close the Edit Transformations


Dialog Box and Save

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 120


Link Target Definition

• Autolink by name the lkp_CUSTOMER to ODS_CUSTOMER_ACTIVE


• Save the mapping

Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_CUSTOMER_ACTIVE_xx


• Add wf_ODS_CUSTOMER_ACTIVE_xx.log as the Workflow Log File Name
• Rename Start task to start_ ODS_CUSTOMER_ACTIVE
• Create Session Task called s_m_ODS_CUSTOMER_ACTIVE_xx
• Select native_source connection for sq_INVOICE source instance
• Select native_target_xx connection for ODS_CUSTOMER_ACTIVE target
instance
° Check property Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property
• Link start_ ODS_CUSTOMER_ACTIVE to
s_m_ODS_CUSTOMER_ACTIVE_xx
• Save, Validate and Start Workflow wf_ODS_CUSTOMER_ACTIVE_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 121


• Monitor and Review the results for s_m_ODS_CUSTOMER_ACTIVE_xx in
the Workflow Monitor

Results – Session Properties

Results – Session Transformation Statistics

The number of Failed or Rejected Rows indicates how


many were rejected by the database. In this example,
duplicate rows were rejected because of a unique constraint
violation. In general, building mappings, their respective
workflows and testing them are an iterative process. It is
not recommended to leave a mapping or workflow in this
state; however, there are several other features that have
not been covered to apply best practices. The number listed
in the Target Success Rows is accurate, however, there are
ways to build mappings to identify rows that will be rejected
by the database before they get there; hence reducing the
Target Failed Rows to zero. Some of those features will be
addressed in this basic course and others will be left for the
advanced course.

Results – Preview Data

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 122


Only the first few rows are shown.

Informatica PowerMart / PowerCenter 6 Basics – Lab 12 – Basic Lookup 123


Lab

13
LAB 13 – DELETING ROWS
P U R P O S E

• To delete rows from an ODS table where customers do not have valid type
codes, i.e., they have not been properly ‘typed’ or are marked INACTIVE

O B J E C T I V E

• To demonstrate how to run a session that only deletes rows

D U R AT I O N

• 25 minutes

S U M M A RY

SOURCE: INVOICE table


TARGET: ODS_CUSTOMER_ACTIVE table

Copy mapping
• Expand the Mappings node in the assigned folder in the Navigator window
• Select the m_ODS_CUSTOMER_ACTIVE_xx and hit Ctrl-C and the Ctrl-V
(See flagged step Copy Mapping on page for other methods of copying
mappings)
• Click yes to copy the mapping
• Add ‘_del’ to the mapping name before the student number, xx:

• Open the new mapping in the Workspace

Informatica PowerMart / PowerCenter 6 Basics – Lab 13 – Deleting Rows 124


Add Second Filter Transformation
• Delete the links between the lkp_CUSTOMER and the
ODS_CUSTOMER_ACTIVE before adding a new filter

° Click-and-drag the mouse pointer over the blue link lines, only,
between the lkp_CUSTOMER and the ODS_CUSTOMER_ACTIVE
and note the lines change to red. If any other objects (e.g.:
transformations) were selected along with the lines, redo the process
° Press the Delete key to remove the connections
• Add a Filter Transformation to the mapping and give it the name
fil_ODS_CUSTOMER_ACTIVE_delete (See flagged step Create Filter
Transformation on page 91

• Add the following ports from lkp_CUSTOMER to


fil_ODS_CUSTOMER_ACTIVE_delete: CUST_ID, CUST_NAME,
FIRST_CONTACT, CUSTOMER_STATE, CUSTOMER_ZIP,
CUSTOMER_TYPE and DISCOUNT_RATE
• Edit fil_ODS_CUSTOMER_ACTIVE_delete – Properties tab, add the
following condition:

ISNULL(CUSTOMER_TYPE) OR UPPER(RTRIM(CUSTOMER_TYPE)) =
'INACTIVE'

Informatica PowerMart / PowerCenter 6 Basics – Lab 13 – Deleting Rows 125


The UPPER function takes the string value and changes it
to upper case.

In UNICODE mode, RTRIM removes both single- and double-


byte spaces from the end of a string. In ASCII mode, RTRIM
removes only single-byte spaces.

• Click on Validate or OK to validate the filter condition


• Close the Edit Transformations window and Save

Link Target Definition

• Autolink by name the fil_ODS_CUSTOMER_ACTIVE_delete to


ODS_CUSTOMER_ACTIVE
• Save

Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_CUSTOMER_ACTIVE_del_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 13 – Deleting Rows 126


• Add wf_ODS_CUSTOMER_ACTIVE_del_xx.log as the Workflow Log File
Name
• Add reusable metadata extensions: creation date and your name
• Rename Start task to start_ODS_CUSTOMER_ACTIVE_del
• Create Session Task called s_m_ODS_CUSTOMER_ACTIVE_del_xx
• Select Task – Properties - Treat source rows as delete

The above is a key property in the Session Task that must


be set to get the expected results. In this case, the
objective is to delete rows, hence the property will be
changed to delete

• Select native_source connection for sq_INVOICE source instance


• Select native_target_xx connection for ODS_CUSTOMER_ACTIVE target
instance
° do not Truncate

Since the table is suppose to have rows to delete, do not


Truncate the table as suggested in previous Session Tasks.

° Select Normal for Target load type property


• Link start_ ODS_CUSTOMER_ACTIVE_del to
s_m_ODS_CUSTOMER_ACTIVE_del_xx
• Save, Validate and Start Workflow wf_ODS_CUSTOMER_ACTIVE_del_xx
• Monitor and Review the results for s_m_ODS_CUSTOMER_ACTIVE_del_xx
in the Workflow Monitor

Informatica PowerMart / PowerCenter 6 Basics – Lab 13 – Deleting Rows 127


Results – Session Properties

Results – Session Transformation Statistics

If more than 3 rows (shown above as Affected Rows)


were deleted, then fix the logic in the mapping or session.
Before rerunning this workflow, the workflow from the
previous exercise must be executed. In summary:

1) Fix logic in the m_ODS_CUSTOMER_ACTIVE_del_xx


mapping

2) Rerun wf_ODS_CUSTOMER_ACTIVE_xx workflow to


repopulate the 28 rows; and finally

3) Rerun wf_ODS_CUSTOMER_ACTIVE_del_xx workflow

Informatica PowerMart / PowerCenter 6 Basics – Lab 13 – Deleting Rows 128


Lab

14
LAB 14– DATA DRIVEN INSERTS AND REJECTS
P U R P O S E

• In the previous labs filtering out all of the INACTIVE customers created the
ODS_CUSTOMER_ACTIVE table. In the Customers table
CUSTOMER_TYPE is either set to INACTIVE or ACTIVE. Because Customers
may change from ACTIVE to INACTIVE, Labs 12 and 13 would have to be run
every time ODS_CUSTOMER_ACTIVE is loaded. The use of an Update
Strategy eliminates the need for two mappings to accomplish the same task.

O B J E C T I V E

• Create and configure an Update Strategy. Then do inserts and rejects based
on whether the customer type is ACTIVE or INACTIVE

D U R AT I O N

• 30 minutes

S U M M A RY

SOURCE: INVOICE table


TARGET: ODS_CUSTOMER_ACTIVE table

Copy Mapping
• Copy the mapping m_ODS_CUSTOMER_ACTIVE_xx and name it
m_ODS_CUSTOMER_ACTIVE_upd_xx

Create Update Strategy Transformation

Use an Update Strategy Transformation when keeping history information in a table or


updating a table to keep most current information. In an Update Strategy a record can be flagged
to be updated, inserted, deleted, or rejected using the following constants: DD_UPDATE,
DD_INSERT, DD_DELETE, and DD_REJECT, respectively.

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 129
• Delete the links between the lkp_CUSTOMER Lookup and
ODS_CUSTOMER_ACTIVE Target Definition

• Create an Update Strategy Transformation and name it


upd_ODS_CUSTOMER_ACTIVE
• Add the Following ports from lkp_CUSTOMER to
upd_ODS_CUSTOMER_ACTIVE: CUST_ID, CUST_NAME,
FIRST_CONTACT, CUSTOMER_STATE, CUSTOMER_ZIP,
CUSTOMER_TYPE and DISCOUNT_RATE

Update Strategy Expression


Pseudo Code
IF (CUSTOMER_TYPE= ‘INACTIVE’ OR NULL
THEN REJECT record
ELSE INSERT record)

IIF statement logic:

Condition Action Description


CUSTOMER_TYPE = REJECT The CUSTOMER_TYPE is
‘INACTIVE’ or NULL ‘INACTIVE’ or NULL
(BLANK) (BLANK), it will be
rejected.
CUSTOMER_TYPE=’ACTIVE’ INSERT The CUSTOMER_TYPE is
‘ACTIVE’. The row will be
inserted.

Informatica has a set of constants used in the Update


Strategy to flag the rows that pass through. They are:

DD_UPDATE flags row for update;


DD_INSERT flags row for insert;
DD_DELETE flags row for delete; and
DD_REJECT flags row for reject.

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 130
The ‘DD’ stands for Data Driven. DD_DELETE, DD_INSERT,
DD_REJECT and DD_UPDATE are not listed in the functions tab,
so they must be manually entered in the formula.

• Edit upd_ODS_CUSTOMER_ACTIVE – properties tab, add the following


expression:

IIF(UPPER(RTRIM(CUSTOMER_TYPE))='INACTIVE' or
ISNULL(CUSTOMER_TYPE), DD_REJECT, DD_INSERT)

• Click Validate button to validate the formula


• Click OK button
• Save the repository

Link Target Definition

• the upd_ODS_CUSTOMER_ACTIVE Update Strategy to


Autolink by name
ODS_CUSTOMER_ACTIVE Target Definition
• Save

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 131
Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_CUSTOMER_ACTIVE_upd_xx


• Add wf_ODS_CUSTOMER_ACTIVE_upd_xx.log as the Workflow Log File
Name
• Rename Start task to start_ ODS_CUSTOMER_ACTIVE_upd
• Create Session Task called s_m_ODS_CUSTOMER_ACTIVE_upd_xx
• Verify Task – Properties - Treat source rows as Data Driven (this is the default
entry when an Update Strategy Transformation is present)
• Select native_source connection for sq_INVOICE source instance
• Select native_target_xx connection for ODS_CUSTOMER_ACTIVE target
instance
° Truncate Table
° Select Normal for Target load type property
• Link start_ ODS_CUSTOMER_ACTIVE_upd to
s_m_ODS_CUSTOMER_ACTIVE_upd_xx
• Save, Validate and Start Workflow wf_ODS_CUSTOMER_ACTIVE_upd_xx
• Monitor and Review the results for
s_m_ODS_CUSTOMER_ACTIVE_upd_xx in the Workflow Monitor

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 132
Results – Session Properties

Results – Session Transformation Statistics

The above results still do not resemble the Best Practice –


that is, the Database “unique constraint errors” and the
Rejected Rows are still present. There will be other lessons
on managing rows; however, additional topics need to be
covered. There is, however, a simple solution to avoid them
– see the Extra Credit for more details.

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 133
Results – Preview Data

Extra Credit
To avoid the database unique constraint violations, there is a very simple solution.
Try the following this exercise to eliminate them.

Consider there are 200 invoices and 30 customers. The


objective was to identify active customers. With the Invoice
Table as the source and Customer table as the lookup, there
may be several invoices per customer. Based on the criteria,
it only takes one invoice to pass through the lookup. Since
several are passing through, the database rejects them as
unique constraint violations.

What transformation can take several rows and group them


together as one? It’s the Aggregator, of course.

• Using the same mapping, m_ODS_CUSTOMER_ACTIVE_upd_xx, insert an


Aggregator called agg_ODS_CUSTOMER_ACTIVE between the
fil_ODS_CUSTOMER_ACTIVE Filter and the lkp_CUSTOMER Lookup
Procedure
• Copy/Link the CUST_NO port from the fil_ODS_CUSTOMER_ACTIVE Filter
to agg_CUSTOMER_ACTIVE Aggregator
• Link the CUST_NO port from the agg_CUSTOMER_ACTIVE Aggregator to
the CUST_NO port in the lkp_CUSTOMER Lookup Procedure
• Edit the agg_CUSTOMER_ACTIVE Aggregator
° Check the Groupby checkbox for the CUST_NO in the Ports tab
° Check the Sorted Input checkbox in the Properties tab

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 134
• Edit the sq_INVOICE Source Qualifier – in the Properties tab, increase the
value for the Number of Sorted Ports from 0 to 1

By setting the value to 1, at session runtime, the Source


Qualifier will dynamically build SQL selecting the first active
output port and use it to build the Order by clause. If the
value were set to 2, it would build the Order by clause by the
first 2 active output ports, etc.

The generated SQL would be as follows:

SELECT INVOICE.CUST_NO, INVOICE.DATE_CLOSED,


INVOICE.CANCELED FROM INVOICE ORDER BY
INVOICE.CUST_NO

• Save the mapping


• Validate the s_m_ODS_CUSTOMER_ACTIVE_upd_xx Session Task
• Save the workflow
• Restart the wf_ODS_CUSTOMER_ACTIVE_upd_xx Workflow

Results – Extra Credit Session Properties

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 135
Results – Extra Credit Session Transformation Statistics

It is, indeed, the same 25 rows that loaded, however,


more efficient and much cleaner results.

Informatica PowerMart / PowerCenter 6 Basics – Lab 14– Data Driven Inserts and Deletes 136
Lab

15
LAB 15 – INCREMENTAL UPDATE

P U R P O S E

• The PRODUCT and VENDOR source tables will be used to create an ODS
PRODUCT table that has information about the equipment and supplies that
the company resells to customers. This will update the ODS Product table to
keep the most current product information. Only equipment and supplies that
are currently available should be in the table, so all records that are
discontinued will be taken out of the ODS Product table.

O B J E C T I V E

• Create and configure a Lookup and Update Strategy Transformations to do an


incremental update on the PRODUCT table

D U R AT I O N

• 40 minutes

S U M M A RY

SOURCES: VENDOR, PRODUCT


TARGETS: ODS_PRODUCT

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 137


Import Source Tables

• Right-click anywhere in the Work Area and select Clear All


• Continue to work in the assigned student folder and import the relational
sources, PRODUCT and VENDOR

• Click on the Replace button to replace the PRODUCT table

Import Target Table

• Clear Warehouse Designer workspace – Right-click anywhere in the Work Area


and select Clear All
• Import the relational Target, ODS_PRODUCT

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 138


Create Mapping
• Create a mapping called m_ODS_PRODUCT_xx

Add Sources and Target Definitions


• Add PRODUCT and VENDOR Source Definitions
• Add ODS_PRODUCT Target Definition

Create Source Qualifier


• If present, delete the Source Qualifiers

There is a primary key – foreign key relationship between


the two source tables. To take advantage of the relationship,
only one Source Qualifier is necessary. The Source Qualifier
will pass the “where clause” to the database at runtime to
join the tables.

There is a feature to prevent the Source Qualifier from entering


the mapping when sources are added, however, it is easier to
delete unwanted Source Qualifiers that enter the mapping and
create anew than to manipulate turning the feature on and off.

The feature is located Tools | Options - Format tab – Tool: Mapping


Designer -Create source Qualifier checkbox.

• Create new Source Qualifier selecting both sources (PRODUCT and


VENDOR) and name it sq_PRODUCT_VENDOR

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 139


Create Lookup Transformation - Connected
For more information on Connected vs. Unconnected Lookups refer to flagged step
Create a Lookup on page 116.

• Add a Lookup Transformation to the mapping and a dialog box appears

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 140


• Choose Target button and select the ODS_PRODUCT table
• Copy/Link PRODUCT_CODE from the sq_PRODUCT_VENDOR to the
Lookup Transformation
• Rename the Lookup Transformation lkp_PRODUCT
• Rename the port PRODUCT_CODE1, which came from
sq_PRODUCT_VENDOR, to PRODUCT_CODE_src

Appending _src to a port states it came from the source


and not the lookup. It will make more sense when it is used
in a transformation later in the exercise.

Never change the name of a port that has the Lookup (L) port
checked. Lookup ports are the ports that will be used in the
SQL select statement sent to the database. If column is
renamed, then a database error will occur at session runtime.

• Turn off the ‘O’ (output) attribute for: VENDOR_ID, VENDOR_NAME,


VENDOR_STATE, PRODUCT_NAME, CATEGORY, MODEL, PRICE, and
FIRST_CONTACT

Another Best Practice with the Lookup Transformation is to be discerning when selecting the
columns to be cached. The less cached, the better to prevent wasting system resources that would
likely cause performance degradation. There are two approaches:

Delete the unnecessary port(s) – this is not recommended while in development mode;

Uncheck the Output attribute – this prevents columns from being unnecessarily cached. This can
be done for those ports that are not needed for the condition, and will not be used downstream in
another transformation. If you later determine that a port is needed, recheck the Output attribute,
and the port will be cached and available.

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 141


Uncheck
these eight
(8) Output
ports to
exclude them
from the SQL
Select
Statement

• Add the Lookup condition: PRODUCT_CODE = PRODUCT_CODE_src


• Click OK button and save the repository

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 142


Create Update Strategy Transformation
For more information about an Update Strategy see flagged step Create an Update
Strategy on page 129.

• Create an Update Strategy Transformation and name it upd_ODS_PRODUCT


• Copy/Link PRODUCT_CODE and PRODUCT_CODE_src from the
lkp_PRODUCT to the upd_ODS_PRODUCT
• Copy/Link VENDOR_ID, CATEGORY, PRODUCT_NAME, MODEL, PRICE,
DISCONTINUED FLAG, VENDOR_NAME, FIRST_CONTACT, and
VENDOR_STATE from the sq_PRODUCT_VENDOR to
upd_ODS_PRODUCT
• Rename the PRODUCT_CODE port, which came from the lkp_PRODUCT
Lookup Procedure, to PRODUCT_CODE_lkp

Similar to the rename of the Product_Code_src, once the


ports are passed from the Lookup downstream to another
transformation, it can be renamed. Renaming ports in this
fashion will make expression building easier because the
port’s origin will be known.

However, to reiterate the point, never change the name of a


lookup port in the Lookup Transformation or, for that matter, in
the Source Qualifier. Both of these transformation objects
generate SQL select statements passed to the database so the
column names must match to avoid database errors at runtime.

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 143


• Click on the Properties tab. Add the following expression:

IIF(ISNULL(PRODUCT_CODE_lkp),
IIF(DISCONTINUED_FLAG = 0, DD_INSERT, DD_REJECT),
IIF(DISCONTINUED_FLAG = 0, DD_UPDATE, DD_DELETE))

Below is logic used in IIF statement:

Condition Action Description


LKP_PRODUCT_CODE ISNULL Insert The record was not found in lookup table
DISCONTINUED_FLAG = 0 and the product has not been
discontinued, so the record will be
inserted into target table.
LKP_PRODUCT_CODE NOT ISNULL Update The record was found in lookup table and
DISCONTINUED_FLAG = 0 the product has not been discontinued,
so the record will update the target table.
LKP_PRODUCT_CODE NOT ISNULL Delete The record was found in lookup table and
DISCONTINUED_FLAG != 0 the product has been discontinued, so
the record will be deleted from target
table.
LKP_PRODUCT_CODE ISNULL Reject The record was not found in lookup table
DISCONTINUED_FLAG != 0 and the product has been discontinued,
so the record will be rejected from target
table.

Pseudo Code

IF(record doesn’t exist in target table) THEN


IF DISCONTINUED_FLAG = 0 THEN
INSERT record
ELSE
REJECT record)
ELSE (record exists in target table) THEN
IF DISCONTINUED_FLAG = 0 THEN
UPDATE record
ELSE
DELETE record)

• Just below the expression, the Forward Rejected Rows Checkbox is checked by
default – uncheck it to keep rejected rows from being forwarded

With the Forward Rejected Rows selected, the Informatica


Server flags the rows for reject and writes them to the

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 144


session reject file. When not selected, the Informatica Server
drops rejected rows and writes them to the session log file.

Link Target Definition

• Connect PRODUCT_CODE_src, VENDOR_ID, CATEGORY,


PRODUCT_NAME, MODEL, PRICE, VENDOR_NAME, FIRST_CONTACT,
and VENDOR_STATE from the from the upd_ODS_PRODUCT to the
ODS_PRODUCT Target Definition
• Save

Completed Mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 145


Create Workflow

• Create Workflow called wf_ODS_PRODUCT_xx


• Add wf_ODS_PRODUCT_xx.log as the Workflow Log File Name
• Rename Start task to start_ODS_PRODUCT
• Create Session Task called s_m_ODS_PRODUCT_xx
• Verify Task – Properties - Treat source rows as Data Driven
• Select native_source connection for sq_PRODUCT_VENDOR source instance
• Select native_target_xx connection for ODS_PRODUCT target instance
° do not Truncate
° select Normal for Target load type property
• Link start_ODS_PRODUCT to s_m_ODS_PRODUCT_xx
• Save, Validate and Start Workflow wf_ODS_PRODUCT_xx
• Monitor and Review the results for s_m_ODS_PRODUCT_xx in the Workflow
Monitor

Results – Session Properties

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 146


In this case, the CMN_1079 WARNING message on the
last line of the dialog box above is just that, a warning.
Since this was the first run of the session and the lookup was
on an empty target table, then the message can be ignored.
The session will never fail on this message.

If, on the other hand, the lookup on the target table is expected
to have rows in it from a previous run of the session task, then
there is a problem to investigate.

Results – Session Transformation Statistics

If the Forward Reject Rows checkbox were checked, 3 rows would have been rejected:

Results – Preview Data


ODS_PRODUCT

Only the first few rows are shown.

Informatica PowerMart / PowerCenter 6 Basics – Lab 15 – Incremental Update 147


Lab

16
LAB 16 – FEATURES AND TECHNIQUES II
O B J E C T I V E S

This is the second Instructor-led “follow along” lesson to show and explain the various
Designer features and tools that can improve efficiency and ease of use. Below is a list
of lessons to be covered:

• Find (Search Options)


• View Object Dependencies
• Comparing Objects and Mappings
• Overview Window
• Copy Objects across Mappings
• Shortcuts

D U R AT I O N

• 40 minutes

Lesson 1 – The Find feature

The Designer includes the Find Next and Find in Workspace tools to help you find
columns or ports in repository objects, or strings in the output window. This can be
very helpful in any number of scenarios including:
• Tracing the impact of change through a mapping;
• Debugging an invalid port;
• Recognizing a miscalculated port value; or
• Detecting a mapping logic flow error.

Find in Workspace

 The Find in Workspace tool searches all of the


transformations in the workspace for port or transformation
names. It can search for column or port names or table
names matching the search string. The search can span
across all names in the workspace, or across the business
name of a table, column, or port. The search can be case
sensitive and match on a whole word.

• Open the m_ODS_EMPLOYEE_xx Mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 148


• In any of the Designer tools, click the Find in Workspace button or
choose Edit- Find in Workspace
• In the Find What box type type_code and click on the Find Now button

The choices are to search for Field names or Table names


matching the search text. If Fields is chosen, the Designer
searches for column or port names matching the search text.
If Tables is selected, the Designer searches for table names
matching the search text

By default, it is not case sensitive, however there are


additional checkboxes to select, which will force it to do so.

The Designer saves the last 10 search strings to be chosen in


the drop -down list from both the Find in workspace and Find next
(to be discussed next) options.

• Double-click on the exp_ODS_EMPLOYEE result

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 149


In the Normal View, this positions the mapping where
the TYPE_CODE port in the exp_ODS_EMPLOYEE
Expression is located in the upper left corner of the
Workspace. In other words, it would scroll down to the
port’s location, highlight it, and position the object in upper
left corner of the Workspace.

In the Iconic View, Find in Workspace does the same thing,


however, the transformation object would have to be opened to
the Normal View to see the port.

Find Next

The Find Next tool can search for a column or port name
(or any set of characters in a name) in: Transformations,
Mapplets, Source and Target Definitions.

Unlike Find in Workspace, the Find Next tool can search one
object at a time – it cannot search multiple objects at the same
time. The Find Next works in each Designer tool.

In addition, this is the ONLY way to do a full text search in any


of the Tabs in the Output Window (e.g. Save, Validate,
Debugger, etc.), which is extremely useful when debugging.

• Select a single transformation or click in the output window before performing


the search – otherwise, the Find Box will remain grayed out.

To find a column or port name:


• Select the transformation, mapplet, source or target definition
• Enter the text to search for, in the Find box on the Standard toolbar. For
example enter EMPLOY to locate an EMPLOYEE column

Find Next button Find Box

The search is not case-sensitive.

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 150


• Select Edit | Find Next or click the Find Next icon or Function key, F3, to
search for the string

The Designer finds the first occurrence of the search


string. This is the only way to find text in the Output
Window.

• Press Enter again to search for the next occurrence of the search string

In the Designer, it searches each port or column name in


the selected transformation and stops at the end of the
transformation (see status bar at the bottom of the screen
for messages)

In the Output window, it starts at the top of the log, searches


to the bottom and loops back to the top as it finds the entered
string.

Lesson 2 – View Dependencies

View Dependencies is a quick and powerful way to do a dependency analysis on virtually any
object in the repository. This is especially powerful because it can be executed from the Designer
tool

A simple example is a source needs to be changed. View Dependencies will show all of the
mappings associated with the source. In turn, View Dependencies on those mappings impacted
by the source change identifies the session tasks associated with the mappings.

• Open the Navigator Window and expand the Targets Node in the assigned
Student folder
• Right-click on the ODS_CUSTOMER_ACTIVE Target Definition and select
View Dependencies…

The folder must open (active) in the workspace for this


feature to work

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 151


• Try the same steps on any Mapping and note the dependency to a Session
Task

• Try expanding down to the Source Instance in a mapping such as,


m_ODS_CUSTOMER_ACTIVE_xx, and View Dependencies… on INVOICE.

Note the dependencies on other mapping objects. This


demonstrates this features versatility because it is available
on virtually every object.

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 152


Lesson 3 – Comparing Objects

The Designer allows two repository objects of the same type to be compared to
identify differences between them. There are limitations between each of Designer
Tools; however, this is a very powerful feature. The Designer allows for the
comparison of sources, targets, transformations, mapplets, mappings, instances or
mapping/mapplet dependencies in detail. The comparison can be based on two
objects simply within the same mapping, or on two objects across open folders, or
across repositories (e.g. Development, Test, Production).

Use the following tools to compare sources, targets, or


transformations:

Source Analyzer - Compare two sources, two source


shortcuts, or a source with a source shortcut.

Warehouse Designer - Compare two targets, two target


shortcuts, or a target with a target shortcut.

Transformation Developer - Compare two reusable


transformations, two reusable transformation shortcuts, or a
reusable transformation with a reusable transformation
shortcut.

Mapping Developer (Mapplet Developer, too) - Compare


two source instances, two transformation instances, two target
instances, or two mapplet instances. Instances of different
types cannot be compared (e.g. source instance with a
transformation instance)

Compare Instances Within Mapping or Mapplets

• Open mapping m_ODS_ORDER_AMOUNT_sorter_xx


• Right-click on jnr_ODS_ORDER_AMOUNT Joiner and select Compare
Objects…

• Select srt_ODS_ORDER_AMOUNT as Instance 2 and click on the Compare


button
• Click through the different tabs to see the differences

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 153


All of the differences will appear in red.On the Ports tab
note the ports names that are highlighted have identical
names and are shown in the same row. Also note that the
ORDER_DATE port has a different Datatypes and Precision
and it is further highlighted in red.

Compare Target Definitions


• Import ODS_EMPLOYEE_ROOKIE and the DIM_REP tables

ODS_EMPLOYEE_ROOKIE and DIM_REP will be used


in the later labs; however, they are good examples to
demonstrate the feature.

These additions should not be saved after this lesson.

• Expand the Targets Node and pull ODS_EMPLOYEE into the Warehouse
Designer
• Right-click on ODS_EMPLOYEE, select Compare Objects… and a different
dialog box will appear than the last

The key difference is this dialog box has a Browse button


that will allow searching through all of the open folders for
objects of the same type.

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 154


• Click on the Browse button and drill down through the assigned Student folder
to the Targets Node to select ODS_EMPLOYEE_ROOKIE

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 155


• Click on the Compare button and view the Columns tab

Differences
would appear
in red

Again, all differences would appear in red. In this case,


the difference is the Table Name.

• Close and try the same steps with the DIM_REP table – compare
ODS_EMPLOYEE to DIM_REP
• Click on the Compare button and view the Columns tab

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 156


Note that columns that do match by name appear on
different lines. There is nothing in red, indicating
differences. Only when the column names are the same
would differences appear in red.

Compare Mapping Instances


The ability to compare an entire mapping is the Grand Finale of comparisons in the
Designer Tool. There is too much detail to cover all of the options, so this will just
demonstrate the basics.

• Disconnect from the Studentxx folder and do not save the changes from the
previous lesson
• Open Studentxx folder
• Open the m_ODS_ORDER_AMOUNT_xx Mapping
• Select Mappings | Compare from the main menu
• Click on the Browse button for Mapping 2 and select the
m_ODS_ORDER_AMOUNT_sorter_xx Mapping
• Click on Compare button

Again, the differences are highlighted in red. Key


differences will be listed on the Summary Tab such as in this
case:

Instances:

Instance agg_ODS_ORDER_AMOUNT is different across the two mappings.

Instance srt_ODS_ORDER_AMOUNT is present only in mapping


m_ODS_ORDER_AMOUNT_sorter_xx.

• Click on the Instances Tab and in the Transformations Instances, select


agg_ODS_ORDER_AMOUNT Instance
• Click on the Compare Instances… button
• Click through the tabs to find the difference

The only difference should be on the Properties tab – the


Sorted Input flag was set to True for in the
m_ODS_ORDER_AMOUNT_sorter_xx mapping

Lesson 4 – Overview Window

This feature assists with maneuvering around mappings with many transformation
instances.

• Open m_ODS_ORDER_AMOUNT_xx Mapping

The m_ODS_ORDER_AMOUNT_xx Mapping should be


in the Recent Mappings drop down list.

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 157


• Arrange the mapping to the Normal View
• Select View | Overview Window

• Drag the box around to reposition the mapping in the workspace


• Draw a box around a couple of transformations in the workspace and note the
changes in the Overview Window

Objects selected in the space will be highlighted in red in


the Overview Window.

It will also always remain on top of any client application, not


just the Designer, until closed.

Lesson 5 – Copying and Pasting Objects

This feature is new with version 6 and allows the developer to copy and paste objects from
mappings and mapplets within the same folder.

One of the primary advantages of using this feature is the ability to select more than one object at a
time and paste the objects into a mapping, mapplet or both.

Keep the following concepts in mind when copying and pasting objects within a folder:

- Objects can be copied from any mapping or mapplet in a folder to any new, existing mapping or
mapplet in the same folder

- Multiple objects can be copied from the workspace

- Selected objects can be viewed by choosing View | Overview window. Selected objects will appear
in color.

Objects cannot be copied from a shortcut to a mapping or mapplet nor is it allowed to paste objects
into a shortcut to a mapping or mapplet

• Open m_ODS_ORDER_AMOUNT_sorter_xx Mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 158


• Arrange the mapping to the Iconic View
• Draw a box around the Expression, Sorter and Aggregator
• Press Ctrl-C to copy
• Create a new mapping via Mappings | Create and select the default name
• Click in the workspace and press Ctrl-V to paste

Lesson 6 – Shortcuts

One of the primary advantages of using a shortcut is maintenance. If a change is needed to all
instances of an object, make the change to the original repository object and all shortcuts to it will
automatically inherit those changes. In contrast, if there are multiple copies of an object, each will
need to be updated.

A word of caution, changes can invalidate mappings and sessions. For example, if there is a
shortcut to a reusable transformation and simple Precision change is made to a port, each and
every mapping with a shortcut to that object will become invalid, which in turn, invalidates the
session tasks using those mappings.

The key is to plan and use the Dependency Analysis Features to determine the impact of the
change and plan accordingly. If the change is needed immediately, then temporarily make a copy
of the object until the shortcut can be updated

Shortcuts have the following advantages over copied


repository objects:

- Allows the developer to maintain a common repository object


in a single location

- Inherits all changes

- Restricts developers to a set of predefined metadata by


incorporating the shortcuts into their work instead of developing
repository objects independently

- Share complex mappings, mapplets, or reusable


transformations across folders and repositories – only if the
repository where the shared folder is located is a Global
Repository

- Saves space in the repository by keeping a single repository


object and using shortcuts to that object, instead of creating
copies of the object in multiple folders or multiple repositories

As with copying objects, the destination folder must be


open with the appropriate tool active.

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 159


Shortcuts cannot be created to objects from non-shared
folders.

Create Shortcut to Source

• Expand the Shared_Student folder

• Click-and-drag EMPLOYEE Source Definition into the mapping that is open in


the workspace

As the cursor enters the workspace, the icon should look
as follows as:

If it does not, then start over and make sure the object is being
dragged in from the Shared_Student Folder.

• Click on Yes to create the shortcut – make sure it doesn’t say copy

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 160


The Source Definition and the Source Qualifier both reflect
that the source is a shortcut.

To copy an object from a Shared Folder rather than to shortcut


it, hold the CTRL key before dropping the object.

Do Not Save Changes


• Disconnect from the Studentxx folder and do not save the changes from the
previous lesson

Informatica PowerMart / PowerCenter 6 Basics – Lab 16 – Features and Techniques II 161


Lab

17
LAB 17 – ROUTER
P U R P O S E

• To develop a mapping where a row can be mapped to any one of or all three
possible Targets

O B J E C T I V E

• Learn the functionality of the Router Transformation when multiple filtering


conditions are required in a mapping

D U R AT I O N

• 30 minutes

S U M M A RY

SOURCE: ODS_EMPLOYEE
TARGETS: ODS_EMPLOYEE_SALES, ODS_EMPLOYEE_NON_SALES,
ODS_EMPLOYEE_ROOKIE

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 162


Import Source Table

The ODS_EMPLOYEE table is the first ODS table to be


used in any exercise as a source – so, what once was a
target is now a source, too. That means there will be two
instances of this table in the folder -- both a Source
Definition and Target Definition.

In contrast to the Automatic Target Creation (the next step)


where a source can be pulled into the Warehouse Designer and
it becomes an instant (automatic) target; a Target Definition
cannot be copied to the Source Node. So, the most viable
solution is to import the Source Definition from the target
database (schema) into the Source Analyzer.

• Import the relation source, ODS_EMPLOYEE. The key in this step is to


import from the target database

Import Target Tables

• Clear Warehouse Designer workspace


• Import the relational Targets, ODS_EMPLOYEE_SALES,
ODS_EMPLOYEE_NON_SALES

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 163


• ODS_EMPLOYEE_ROOKIE was imported in the previous exercise

Create Mapping
• Create a mapping called m_ODS_EMPLOYEE_TYPE_xx

Add Source and Target Definitions


• Add ODS_EMPLOYEE Source Definition with its respective Source Qualifier

• Add ODS_EMPLOYEE_SALES, ODS_EMPLOYEE_NON_SALES and


ODS_EMPLOYEE_ROOKIE Target Definitions

Hold down the Ctrl key as each table is selected so that all
three tables can be moved at the same time

Create Router Transformation

A Router Transformation is similar to a Filter Transformation because both transformations


allow you to test data based on a condition; but that’s where the similarities end. The Filter test
rows passing through it against one condition and drops the rows that do not match.

A Router Transformation tests each row against one or more conditions, called groups, and flags
the row true allowing it to pass through that group. Each row will be tested against each and every
group, so it can be dispersed across many groups if the conditions are met.

Another advantage the Router has over the Filter is if the row does not meet any of the defined
group conditions, it will route the row to the Default Group. This feature alone makes it great
transformation for error handling.

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 164


• Create a Router Transformation and name it rtr_ODS_EMPLOYEE_TYPE
• Copy/Link all of the ports from sq_ODS_EMPLOYEE to
rtr_ODS_EMPLOYEE_TYPE
• Edit the rtr_ODS_EMPLOYEE_TYPE Transformation and click on the Groups
tab
• Click on Add a new group button

• Rename NEWGROUP to SALES


• Add a condition for TYPE_CODE equal to ‘SALES’ (e.g. TYPE_CODE =
'SALES')
• Add two more groups (using the same method) by the names: NON_SALES
and ROOKIES
o For NON_SALES, check for TYPE_CODE of ‘ADMIN’ or ‘FIN’ or ‘MGR’.
o For ROOKIES check where their hire date is less than 365 days from
today’s date. Use the following condition:
DATE_DIFF (SESSSTARTTIME, DATE_HIRED, 'dd') < 365

• Click OK to close the Router edit window

The Router gives each row an opportunity to meet every


group condition, so a row can exit the Router multiple times.
Only when the row does not meet any condition does it slip
all the way to the Default Group. The row can exit the Default
group if the ports are linked to another transformation or
simply terminate by not linking them.

Link Target Definitions


• Link the ports from the various groups within the
rtr_ODS_EMPLOYEE_TYPE Router to their corresponding columns in the
three target definitions

Try Autolink to see the way groups are displayed and since
the port names will have numbers associated with them in
the Router Transformation it will either be a link by position

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 165


or link by suffix – try both ways since there are three groups
and target definitions.

• Save

Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_EMPLOYEE_TYPE_xx


• Add wf_ODS_EMPLOYEE_TYPE_xx.log as the Workflow Log File Name
• Rename Start task to start_ODS_EMPLOYEE_TYPE_upd
• Create Session Task called s_m_ODS_EMPLOYEE_TYPE_xx
• Select native_target_xx connection for sq_ODS_EMPLOYEE source instance

Note that native_source is not the chosen database


connection. The ODS_EMPLOYEE source table was
populated in an earlier lesson and is located in the target
database (schema), native_target_xx

• Select native_target_xx connection for each of the target instances


° Check property Truncate target table option for each target object (3
attribute changes)

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 166


° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property for
each target (3 attribute changes)
• Link start_ODS_EMPLOYEE_TYPE to s_m_ODS_EMPLOYEE_TYPE_xx
• Save, Validate and Start Workflow wf_ODS_EMPLOYEE_TYPE_xx
• Monitor and Review the results for s_m_ODS_EMPLOYEE_TYPE_xx in the
Workflow Monitor

Results – Session Properties

Results – Session Transformation Statistics

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 167


Results – Session Properties
ODS_EMPLOYEE_SALES:

ODS_EMPLOYEE_NON_SALES

ODS_EMPLOYEE_ROOKIES

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 168


Lab

18
LAB 18 – STRAIGHT LOAD
P U R P O S E

In the exercise that follows this one, there is a table, ODS_LINE_ITEM that will
have a foreign key relationship with the table in this exercise, ODS_INVOICE.
Ultimately, the aforementioned tables will be joined together in another exercise.

O B J E C T I V E

Learn how to create a simple pass through mapping

D U R AT I O N

• 10 minutes

S U M M A RY

SOURCE: INVOICE
TARGET: ODS_INVOICE

Import Target

A Mapplet to be developed during a later lab will need two sources, ODS_INVOICE
and ODS_LINE_ITEMS. ODS_INVOICE has not been populated in any previous
exercise

• Import ODS_INVOICE Target Definition

Create Mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 18 – Straight Load 169


• Create mapping called m_ODS_INVOICE_xx
• Add INVOICE Source Definition with its respective Source Qualifier
• Add ODS_INVOICE Target Definition

There is no need to apply additional logic to the load.


Hence, this is a straight through mapping meaning it will go
directly from source to target.

• Link the sq_INVOICE to ODS_INVOICE


• Save repository

Completed Mapping

Create Workflow

• Create a Workflow called wf_ODS_INVOICE_xx


• Add wf_ODS_INVOICE_xx.log as the Workflow Log File Name
• Rename Start task to start_ODS_INVOICE
• Create Session Task called s_m_ODS_INVOICE_xx
• Select native_source connection for sq_INVOICE source instance
• Select native_target_xx connection for ODS_INVOICE target instance
° Check property Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property
• Link start_ODS_INVOICE to s_m_ODS_INVOICE_xx
• Save, Validate and Start Workflow wf_ODS_INVOICE_xx
• Monitor and Review the results for s_m_ODS_INVOICE_xx in the Workflow
Monitor

Informatica PowerMart / PowerCenter 6 Basics – Lab 18 – Straight Load 170


Results – Session Properties

Results – Preview Data


ODS_INVOICE

Informatica PowerMart / PowerCenter 6 Basics – Lab 18 – Straight Load 171


Lab

19
LAB 19 – CONDITIONAL LOOKUP
P U R P O S E

• Read from a large source that has a few rows of invalid data. To validate
specific data, look up the value in another table. This is only necessary for
about one row out of ten

O B J E C T I V E

• Build a mapping to load an ODS table that contains line item data that will
ultimately be used to load the fact table in the data mart

D U R AT I O N

• 30 minutes

S U M M A RY

SOURCES: INVOICE, LINE_ITEM and PRODUCT


TARGETS: ODS_LINE_ITEM

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 172


Import Source Tables

• Continue to work in the assigned student folder and import the relational
source, LINE_ITEM. The Sources PRODUCT and INVOICE tables have
already been imported for use in previous mappings and should be in the
Sources node.

Import Target Table

• Import the target table ODS_LINE_ITEM

Create Mapping
• Create a mapping called m_ODS_LINE_ITEM_xx

Add Sources and Target

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 173


• Add the PRODUCT, LINE_ITEM and INVOICE Source Definitions
• Add the ODS_LINE_ITEM Target Definition

Create Source Qualifier

• If present, delete all of the Source Qualifiers (see flagged step Create
Source Qualifier on page 139 for more information)

• Create a new Source Qualifier Transformation selecting all three sources (


PRODUCT, INVOICE and LINE_ITEM) and name it
sq_PRODUCT_INVOICE_LINE_ITEM

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 174


Create Mapping Parameter

A Mapping Parameter represents a constant value that can be defined before running a
session task. A mapping parameter retains the same value throughout the entire session. By
creating these, hard coding values within logical expression can be avoided.

See Mapping Parameters and Variables Chapter in the


Designer Guide for additional information.

• Select Mappings | Parameters and Variables…

• Click the Add button


• In the Name column, type in $$MIN_RATE

“$$” is the required prefix for User Defined Mapping


Parameter and Variable object names

• Hit the Tab key to jump to the Type column and click on the down-arrow or
type the letter ‘p’ to select Parameter
• Hit the Tab key to jump to the Datatype column and click on the down-arrow or
type the letter ‘d’, twice, to select decimal. If you bypass decimal, continue
to cycle through all of the Datatypes that begin with ‘d’ until decimal is found
• Set Precision to 10 and Scale to 2
• Click in the Initial Value: edit box and key in .00

• Validate the initial value by clicking on the Validate button at the far right
of the edit box
• Click the ADD button, again
• In the Name column, type $$MAX_RATE
• Select Parameter as the Type
• Select decimal as the Datatype
• Set Precision to 10 and Scale to 2
• Set Initial Value: .35 and validate

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 175


• Click OK to continue

These Parameters will be utilized in an expression later in


this lesson.

Create an Expression Transformation

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 176


• Create an Expression Transformation named exp_ODS_LINE_ITEM
• Copy/Link the following ports from the
sq_PRODUCT_INVOICE_LINE_ITEM to the exp_ODS_LINE_ITEM
transformation: INVOICE.CUST_NO, LINE_ITEM.LINE_ITEM_NO,
LINE_ITEM.INVOICE_NO, LINE_ITEM.PRODUCT_CODE,
LINE_ITEM.QUANTITY, LINE_ITEM.DISCOUNT, PRODUCT.PRICE, and
PRODUCT.COST ports

INVOICE_NO and PRODUCT_CODE have two entries in


the sq_PRODUCT_INVOICE_LINE_ITEM. The duplicates
are appended with the number “1”. For this exercise, both
ports are to be sourced from the LINE_ITEM table – hence
it is listed above as LINE_ITEM.INVOICE and
LINE_ITEM.PRODUCT_CODE.

The bottom line is, choose the ports as they are listed in the
bullet and ignore the names in the picture, as they may be
different based on how the
sq_PRODUCT_INVOICE_LINE_ITEM was created.

• Rename the ports to exclude the number “1” where it was appended (e.g.
INVOICE_NO and PRODUCT_CODE)
• DISCOUNT port should be Input port, only
• Insert a new port called DISCOUNT_RATE_out (after the DISCOUNT port)

• Click OK

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 177


Create Unconnected Lookup Procedure
In this step an Unconnected Lookup will be utilized as a function within the mapping.
As with a number of transformations, Lookups can be configured to be ‘connected’ or
‘unconnected’.

Unconnected Lookups
A Connected Lookup takes every row passed to it, processes it based on the lookup condition and
passes it downstream to the next transformation. It should only be used when the majority or all of
the rows are required to pass through it or when more than one port (return value) is required from
the Lookup.

On the other hand, an Unconnected Lookup is called upon conditionally. It is ideal to use when
the majority or all of the rows do not need a return value (ports) from it. This conditional Lookup is
called unconnected because no physical links are present – it stands alone, unconnected.

To use it, it must be called upon by a formula in some other transformation; typically in a Filter or
Update Strategy Transformation. Several ports may be passed to it to complete the condition,
however, only one value may return designated by a new port attribute, the ‘R’ (return) port (see
below).

The ‘R’ port is only required in when the Lookup is unconnected. If checked while connected, it
will be ignored. Only one port can be selected, hence it acts like a radio button.

Another common usage of an unconnected lookup is when it needs to be called several times from
different expressions – again, considering all of the limitations mentioned above.

In summary, use an Unconnected Lookup when:

1) Every row does NOT need a return value from the Lookup, in other words, can be called
conditionally; and

2) Only one port is required (‘R’ port) for the return value

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 178


• Create a Lookup Transformation and choose ODS_CUSTOMER_ACTIVE from
the Target – the ports will look as follows:

• Rename the transformation lkp_ODS_CUSTOMER_ACTIVE


• Add a port (input only) called CUST_ID_in with the same Datatype, Precision
and Scale as CUST_ID
• Uncheck the Output ‘O’ ports for CUST_NAME, FIRST_CONTACT,
CUSTOMER_STATE, CUSTOMER_ZIP and CUSTOMER_TYPE

This prevents those ports from being selected for the


Lookup Cache, however, keeps them available in case they
are needed later. See Key Concept under the Create
Lookup Transformation - Connected step on starting on page
140.

• Click the Return Port attribute for the DISCOUNT_RATE

• On the Properties tab, change the Location Information to native_target_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 179


• On the Conditions tab, add the condition:
CUST_ID = CUST_ID_in
• Save repository

Edit Expression
Add an expression that includes a formula that calls the Lookup Transformation, hence the
name of the Lab, Conditional Lookup

The reason for not doing this step during the Create
Expression step is the Lookup Transformation, for which will
be called in a formula, did not exist. This demonstrates a
logical and iterative approach to development.

• Build the following formula in expression of the DISCOUNT_RATE_out port:

For this exercise, try not to type the expression in


manually. This entire expression can be created via the
point-and-click method. Below are detailed instructions to
accomplish this task, which is the best practice considering
the new expressions and variables to be used in the formula.

For connected transformations, if the point-and-click method is used to enter port names in an
expression, the Designer updates that expression when port names are changed in the
transformation. For example, a valid expression is written that determines the difference between
two dates, Date_Promised and Date_Delivered. Later, Date_Promised port name is changed to
Due_Date. If the expression is developed using the point-and-click method, the Designer changes
the Date_Promised port name to Due_Date in the expression. If, however, the expression was
written manually, it must be updated manually to maintain a valid expression.

• From the Functions tab, expand the Special category and double-click on the
IIF function. Notice the function appears in the Formula work area with
parenthesis in place.

There is no need to reposition the cursor until instructed


• Expand the Test category and double-click on the ISNULL function. Again, note
that this function is inserted automatically within the original parenthesis
• From the Ports tab and double-click on the DISCOUNT port
• Position the cursor between the two right parentheses and click on the OR
button from the Operator Keypad
• Add the DISCOUNT port again
• From the Operator Keypad, click the less-than (<) button
• From the Variable tab, expand the Mapping Parameters folder and double-click
on $$MIN_RATE
• From the Operator Keypad, click on the OR button
• Return to the Ports tab, add the DISCOUNT port, yet again
• From the Operator Keypad, click the greater-than (>) button

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 180


• Return to the Variable tab, add the $$MAX_RATE to the expression
• Insert a ‘,’ (comma) from the operator keypad
• Return to the Functions tab and expand the Lookup category at the bottom of
the list and double-click on lkp_ODS_CUSTOMER_ACTIVE

This activates the Lookup transformation as an expression


• Return to the PORTS tab and add CUST_NO port

This establishes the input argument to the Lookup


transformation

• Position the cursor between the two right parentheses and insert a (,)
(comma)
• Return to the Ports tab, add the DISCOUNT port
• Your function should look like this:

IIF (ISNULL (DISCOUNT) OR DISCOUNT < $$MIN_RATE OR


DISCOUNT > $$MAX_RATE,
:LKP.lkp_ODS_CUSTOMER_ACTIVE(CUST_NO),
DISCOUNT)
• Validate and save to the repository

Link Target Definition

• Link exp_ODS_LINE_ITEM to ODS_LINE_ITEM


• Save

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 181


Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_LINE_ITEM_xx


• Add wf_ODS_LINE_ITEM_xx.log as the Workflow Log File Name
• Rename Start task to start_ODS_LINE_ITEM
• Create Session Task called s_m_ODS_LINE_ITEM_xx
• Select native_source connection for sq_PRODUCT_INVOICE_LINE_ITEM
source instance
• Select native_target_xx connection for ODS_LINE_ITEM target instance
° Check property Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property
• In the Transformations Tab of the s_m_ODS_LINE_ITEM_xx Session Task:
° Scroll down to where the Object Name is
lkp_ODS_CUSTOMER_ACTIVE
° Scroll down further to the Location Information Attribute
° Verify the Value to native_target_xx

The Transformations Tab was designed to override


properties when needed. It should not be considered a
substitute for what really should have been in place in the
mapping. If the value for the location information does not
reflect native_target_xx as was suggested in the Create

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 182


Unconnected Lookup Procedure step, then it needs to be
updated here to run successfully. A best practice is to
update the mapping with the correct value for future session
tasks that may be created against it.

This property allows the location of the lookup to be


somewhere other than where the Source and Target are
located. It is required to set this property because the
Lookup is Unconnected.

• Link start_ODS_LINE_ITEM to s_m_ODS_LINE_ITEM_xx


• Save, Validate and Start Workflow wf_ODS_LINE_ITEM_xx
• Monitor and Review the results for s_m_ODS_LINE_ITEM_xx in the
Workflow Monitor

Results – Session Properties

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 183


Results – Session Transformation Statistics

Results – Preview Data


ODS_LINE_ITEM

Only the first few rows are shown.

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 184


Lab

20
LAB 20 – HETEROGENEOUS TARGETS
P U R P O S E

• To alter the mapping created in the Router lab to send rows not loaded into
any of the three target tables to a flat file for inspection

O B J E C T I V E

• To demonstrate the ability to populate targets of different types

D U R AT I O N

• 15 minutes

S U M M A RY

SOURCE: ODS_EMPLOYEE
TARGETS: ODS_EMPLOYEE_SALES, ODS_EMPLOYEE_NON_SALES,
FF_EMPLOYEE_INVALID_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 185


Create Flat File Target Definition

• Drag the ODS_EMPLOYEE Source Definition into the Warehouse Designer


workspace

• Click on the Rename button and name it FF_EMPLOYEE_INVALID_xx


• Change the Database type to Flat File (on the Table tab)
• In the Flat File information (also on the Table tab), select Delimited and click on
the Advanced… button and verify the defaults: Comma delimited with no
optional quotes

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 186


• On the Columns tab, change the Key Type to NOT A KEY for the
EMPLOYEE_ID column

• Click OK

Copy Mapping
• Copy the m_ODS_EMPLOYEE_TYPE_xx mapping and call it
m_ODS_EMPLOYEE_INVALID_TYPES_xx

Edit Mapping
• Delete the ODS_EMPLOYEE_ROOKIE Target Definition from the mapping

Deleting a Target Definition from the mapping does not


delete it from the Target Node – it only deletes it from the
mapping

• Edit rtr_ODS_EMPLOYEE_TYPE – Groups tab, - delete the ROOKIES group


• Add the FF_EMPLOYEE_INVALID_xx target to the mapping
• Leave the rest of the mapping intact

Link Flat File Target Definition

• Link the rtr_EMPOLYEE_TYPE Default Group to the


FF_EMPLOYEE_INVALID_xx Target Definition
• Save

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 187


Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_EMPLOYEE_INVALID_TYPES_xx


• Add wf_ODS_EMPLOYEE_INVALID_TYPES_xx.log as the Workflow Log
File Name
• Rename Start task to start_ODS_EMPLOYEE_INVALID_TYPES
• Create Session Task called s_m_ODS_EMPLOYEE_INVALID_TYPES_xx
• Select native_target_xx connection for sq_ODS_EMPLOYEE Source Instance

Note that native_source is not the chosen database


connection. The ODS_EMPLOYEE source table was
populated in an earlier lesson and is located in the target
database (schema), native_target_xx

• Select native_target_xx connection for ODS_EMPLOYEE_NON_SALES and


ODS_EMPLOYEE_SALES Target Instances
° Check property Truncate target table option for both target objects (2
attribute changes)
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property for
each target (2 attribute changes)
• No changes required for FF_EMPLOYEE_INVALID_xx Target Instance
• Link start_ODS_EMPLOYEE_INVALID_TYPES to
s_m_ODS_EMPLOYEE_INVALID_TYPES_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 188


• Save, Validate and Start Workflow
wf_ODS_EMPLOYEE_INVALID_TYPES_xx
• Monitor and Review the results for
s_m_ODS_EMPLOYEE_INVALID_TYPES_xx in the Workflow Monitor

Results – Session Properties

Results – Session Transformation Statistics

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 189


Results – Preview Data
To preview the data on Windows-based Operating System servers:
• Right-click on FF_EMPLOYEE_INVALID_xx and select Preview Data…
• Click on the button to the right of the Flat File Name

• Drill down to the directory given by the Instructor and select


ff_employee_invalid_xx.out

• Click on the Open button

• Click on the Open button, again.

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 190


Lab

21
LAB 21 – MAPPLETS
P U R P O S E

The purpose of this lab is to introduce the concept of Mapplets. Mapplets are a group
of transformations that are saved as a set. This set then becomes reusable, and can
be used in any mapping. The mapplet created here will be used in next lab.

O B J E C T I V E

Learn the functionality and characteristics of Mapplets

D U R AT I O N

• 30 minutes

S U M M A RY

SOURCE: ODS_INVOICE, ODS_LINE_ITEM


TARGETS: out_PROFIT_PERCENT

Import Source Tables

• Import ODS_LINE_ITEM and ODS_INVOICE as sources


• Add the Foreign Key/Primary Key relationship from
ODS_LINE_ITEM.INVOICE_NO to ODS_INVOICE.INVOICE_NO

In the mapplet, the two source definitions above will be


joined via the Source Qualifier. There are times when the
relationship between tables is not present and needs to be
manufactured in the Source Analyzer. This will have no
impact on the database, however, in order for the Source
Qualifier to dynamically build the “where clause”, the link
(relationship) must be present.

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 191


Create the Mapplet

A Mapplet is a reusable object created in the Mapplet Designer. It contains a set of


transformations that allows transformation logic to be used in multiple mappings. The Mapplet
Designer is a component of the PowerCenter/PowerMart Designer tool.

Once saved, Mapplets are stored in their own node called ‘Mapplets’, visible in the Navigator
window and can be used in any mapping by dragging and dropping the mapplet into the mapping
from the Navigator window.

Creating Mapplets can save time by eliminating the need to create the same set of transformations
again and again. They also enforce standards.

From a graphical user interface (GUI) perspective, there are very few differences between the
Mapplet Designer and the Mapping Designer – they are virtually mirror images of each other. The
primary differences are which transformation objects can be used and there are limitations -- the
majority, of which, exist within the Mapplet Designer.

Furthermore, most objects can be copied between them. This is key because mapplets usually
come to fruition as a result of mappings. If, after a mapping has already been created, it has been
determined that the complexity and reusability warrants the creation of a Mapplet, it is easy to copy
those key objects without building them from scratch.

• Select Tools | Mapplet Designer or Mapplet Designer Icon


• Choose Mapplets | Create and name it mplt_PROFIT_PERCENT

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 192


• Add Sources and Create Source Qualifier

• Add the ODS_LINE_ITEM and ODS_INVOICE Source Definitions


• If they exist, delete the two Source Qualifiers and create another using both
the ODS_LINE_ITEM and ODS_INVOICE Sources – one Source Qualifier
should remain.
• Rename the Source Qualifier sq_ODS_INVOICE_ODS_LINE_ITEM

Informatica PowerMart / PowerCenter 6 Basics – Lab 21 – Mapplets 193


Create Aggregator

• Create Aggregator with the name agg_PROFIT_PERCENT


• Copy/Link ports from the sq_ODS_INVOICE_ODS_LINE_ITEM to the
agg_PROFIT_PERCENT as shown above
• The ports, QUANTITY, DISCOUNT, PRICE and COST should be Input, only
Create Port called PROFIT_out (decimal 10,2) with the expression
SUM(((PRICE*((100-DISCOUNT)/100))-COST)*QUANTITY)
• Group by REP_NO, CUST_NO, DATE_OPEN and PRODUCT_CODE

Create Output Transformation (available in Mapplet Designer only)

Informatica PowerMart / PowerCenter 6 Basics – Lab 21 – Mapplets 194


Target Definitions are not allowed in a Mapplet. Hence the existence of the Output
Transformation, which will be the link that transports the data from a mapplet to the mappings that
use it. Each Output Transformation created in a mapplet displays as an output group, similar to the
Router, when viewed in a mapping.

• Select Transformation| Create - Output Transformation or

• Use the Output transformation icon on the designer toolbar

The Output Transformation is only available in the Mapplet


Designer.

• Name the Output Transformation out_PROFIT_PERCENT


• Copy/Link all of the ports from the agg_PROFIT_PERCENT Aggregator to
the out_PROFIT_PERCENT Output Transformation
• Rename the PROFIT_out port to PROFIT
• Save the mapplet
• View the Mapplet Node – the location of the newly created mapplet,
mplt_PROFIT_PERCENT in the Navigator window

As stated in the purpose of this lab, the mapplet created


will be used in next lab. The key is when building a Session
Task a mapplet cannot be selected. A mapplet must be
included within a mapping in order for a Session Task to use
it.

Completed Mapplet

Informatica PowerMart / PowerCenter 6 Basics – Lab 21 – Mapplets 195


Lab

22
LAB 22 – REUSABLE TRANSFORMATIONS
P U R P O S E

• The mapplet created in the previous exercise supplies a profit value for each
sales rep, customer, product, and date. In this lab, the data will be distributed
among four ODS tables, one that will hold the data on a daily level, which is
how it is coming directly from the mapplet, and the other three will hold the
same data “summarized” or aggregated on a monthly, quarterly and yearly
basis, respectively. To accomplish the further aggregation required (monthly,
quarterly and yearly), three general-purpose Reusable Aggregator
transformations will be created. The Aggregators are considered “general
purpose” (generic) because each can take any numeric data – regardless of
the meaning of that data – and summarize it on a monthly, quarterly and
yearly level.

O B J E C T I V E S

• Promote Transformation to be Reusable


• Create a mapping that uses a mapplet and Reusable Transformations
• Use Persistent Named Lookups, mapplets as inputs, as well as, object copy
and paste

D U R AT I O N

• 75 minutes

S U M M A RY

SOURCE: mplt_PROFIT_PERCENT (Sources within mapplet)


TARGETS: Shortcuts to ODS_PROFIT_DAILY, ODS_PROFIT_WEEKLY,
ODS_PROFIT_MONTHLY and ODS_PROFIT_YEARLY

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 196


Create Mapping
• Continue to work from the assigned folder and create mapping called
m_ODS_PROFIT_PERIODIC_xx

Add Mapplet
• Add the mplt_PROFIT_PERCENT, created in the previous exercise, to the
mapping from the Mapplets Node

Create Shortcuts to Target Definitions


• Expand the Target Node in the Shared_Student folder
• Create shortcuts in the new mapping from the following tables:
° ODS_PROFIT_DAILY
° ODS_PROFIT_MONTHLY
° ODS_PROFIT_QUARTERLY
° ODS_PROFIT_YEARLY

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 197


Create Persistent-Named Lookup Transformation

The Lookup transformation has several performance enhancement properties related to its
cache – specifically size and refresh parameters. One of those properties is called Lookup cache
persistent.

If a lookup is performed more than once, either within the same session or in another, and the data
does not change for several runs then consider using this property. If the intent is to use this
property across sessions, then another property, Cache File Name Prefix needs to be selected to
share the cache

If at some point in the various workflows and session tasks that use the Lookup Cache the data
needs to be refreshed, another property can be used to force the persistent cache to be refreshed
called Recache from the Database.

There is an entire chapter dedicated to Lookup Cache


properties including a tips section. Informatica highly
recommends studying all of the Lookup Cache Properties to
gain the best performance. Refer to Lookup Caches Chapter
in the Transformation Guide.

• Create a Lookup against the ODS_TIME table in the assigned target schema
and name it lkp_ODS_TIME
• Edit the lkp_ODS_TIME Lookup Procedure and select the Lookup cache
persistent property
• Enter lkp_ODS_TIME_xx in the Cache File Name Prefix property

It is very important to include the assigned student


number in the lkp_ODS_TIME_xx because by default, all of

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 198


the name caches will be written to the same directory after
the session task runs.

• Link the DATE_OPEN port from the mplt_PROFIT_PERCENT


transformation and rename it DATE_OPEN_src
• Create the Lookup condition DATE_ID = DATE_OPEN_src

Create Aggregator
This mapping presents a good opportunity to create three reusable (general purpose)
transformations for other mappings to use – ultimately this will reduce duplication of
effort and ensure accuracy. Often it is easier to get a visual perspective on what is
being built in the Mapping Designer, first, and then promote a specific transformation
to be reusable.

• Create an Aggregator and name it agg_3_ID_SUM_BY_MTH


• Add REP_NO, CUST_NO, PRODUCT_CODE and PROFIT from the
mptl_PROFIT_PERCENT Mapplet
• Link MONTH and YEAR from lkp_ODS_TIME

Since this Transformation is going to be reused in other


mappings, Informatica recommends assigning generic port
names considering names from other transformations may
be different.

This general-purpose reusable transformation will SUM an input


value grouped by three input identifiers and by a time slice
derived from an input date. It will pass out the three Ids, the
time slice, and the associated summarized value.

• Rename the ports as shown in the picture above


• Group the ports: ID1, ID2, ID3, MONTH_in, YEAR_in
• Change Profit_in Port to Input Only

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 199


• Create Port called Profit_out with the same Datatype, Precision and Scale
as Profit_in
• Add the following formula to the Profit_out port

SUM(PROFIT_in)

Promote Aggregator to be Reusable

Reusable Transformations
Standard transformations exist within a single mapping. Reusable transformations can be used in
multiple mappings or mapplets.

Rather than re-creating a transformation with the very same logic several times, create a reusable
transformation. Wherever the reusable transformation is needed, add an instance of it to the
mapping.

The Designer stores each reusable transformation as metadata separate from any mapping that
uses the transformation – similar to a shortcut. Once promoted to be reusable, the transformation
will appear in the Transformations Node and only to be edited in the Designer’s Transformation
Developer.

One of the Transformation Developer purposes is for editing reusable transformations. Changes
made on the Ports Tab of a reusable transformation are inherited by all its instances and
automatically reflects those changes. Instances of the reusable transformation do not inherit
changes on the Property Tab (with the exception of the Sequence Generator Transformation) – only
modifications to Transformation, Ports, Condition, Groups and Metadata Extension Tabs are
passed.

• Edit agg_3_ID_SUM_BY_MTH

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 200


• On the Transformation tab, check Make Reusable check box – immediately the
Designer warns that this action is irreversible

• Click on Yes to continue

Several things just occurred: the Transformation Type now


includes (Reusable) in the name and the Make Reusable
Checkbox disappeared.

• Click on the Ports tab and note the ports are not editable – they have been
completely grayed out; on the other hand, the attributes displayed on the
Properties Tab are editable

The Reusable Transformation was added to the


Transformations Node. Once the repository is saved, it
can only be edited in the Transformation Developer.

• Save the repository

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 201


Open the Transformation Developer
• Switch over to the Transformation Developer

Copy Reusable Aggregators


• Expand the Transformations Node in the Navigator window and open the
agg_3_ID_SUM_BY_MTH Reusable Transformation in the Transformation
Developer using the drag-and-drop method
• Rename the transformation re_agg_3_ID_SUM_BY_MTH – “re” representing
reusable
• Save the repository
• From the Transformation Node in the Navigator Window, copy
re_agg_3_ID_SUM_BY_MTH by selecting it (single-click), press Ctrl–C and
then Ctrl–V

• Click on the Yes button and change the name to re_agg_3_ID_SUM_BY_QTR

• Repeat the steps to create a third reusable transformation and name it


re_agg_3_ID_SUM_BY_YEAR

Edit Reusable Aggregators


• Edit the re_agg_3_ID_SUM_BY_QTR – change the MONTH_in port to
QUARTER_in
• Edit the re_agg_3_ID_SUM_BY_YEAR – remove the MONTH_in port

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 202


Add Reusable Transformations to Mapping

• Add the re_agg_3_ID_SUM_BY_QTR and re_agg_3_ID_SUM_BY_YEAR


Reusable Transformations to the m_ODS_PROFIT_PERIODIC_xx Mapping
• Link QUARTER and YEAR from lkp_ODS_TIME to
re_agg_3_ID_SUM_BY_QTR Transformation
• Link YEAR from lkp_ODS_TIME to re_agg_3_ID_SUM_BY_YEAR
Transformation
• Link REP_NO, CUST_NO, PRODUCT_CODE and PROFIT from
mplt_PROFIT_PERCENT to both re_agg_3_ID_SUM_BY_QTR and
re_agg_3_ID_SUM_BY_YEAR (see diagram above)

Link Target Definitions


• Link mplt_PROFIT_PERCENT Mapplet directly to the
Shortcut_To_ODS_PROFIT_DAILY target definition
• Link the Reusable Aggregators based on Month, Quarter and Year to their
corresponding Target Definitions
• Save

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 203


Completed Mapping

Create Workflow

• Create Workflow called wf_ODS_PROFIT_PERIODIC_xx


• Add wf_ODS_PROFIT_PERIODIC_xx.log as the Workflow Log File Name
• Rename Start task to start_ODS_PROFIT_PERIODIC
• Create Session Task called s_m_ODS_PROFIT_PERIODIC_xx
• Select native_target_xx connection for
mplt_PROFIT_PERCENT.sq_ODS_INVOICE_ODS_LINE_ITEM Source
Instance

Note that native_source is not the chosen database


connection. The ODS_INVOICE and ODS_LINE_ITEM
Source tables were populated in earlier lessons and is
located in the target database (schema), native_target_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 204


• Select native_target_xx connection for all four (4) Target Instances
• Potentially change a total of 8 properties (4 minimum) on the Targets |
Properties Tab:
° Check property Truncate target table option for all 4 Shortcuts to the
ODS Target Objects (4 attribute changes)
° Select Normal for Target load type property for each target (4
attribute changes)
• In the Transformations Tab of the s_m_ODS_PROFIT_PERIODIC_xx Session
Task:
° Scroll down to where the Object Name is lkp_ODS_TIME
° Scroll down further to the Location Information Attribute
° Change the Value to native_target_xx

• Link start_ODS_PROFIT_PERIODIC to
s_m_ODS_PROFIT_PERIODIC_xx
• Save, Validate and Start Workflow wf_ODS_PROFIT_PERIODIC_xx
• Monitor and Review the results for s_m_ODS_PROFIT_PERIODIC_xx in
the Workflow Monitor

Results – Session Properties

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 205


Results – Session Transformation Statistics

Results – Preview Data


ODS_PROFIT_MONTHLY

After previewing data for the Monthly (shown above),


note the missing data – that is, the NULLs. There’s no need
to review Quarterly and Yearly Profit tables because we can
assume those are bad, too.

After troubleshooting, it has been determined that lookup,


lkp_ODS_TIME, has only returned dates starting in 1999 and
the source data goes all the way back to 1997.

E X T R A C R E D I T

• Update the m_ODS_TIME_xx mapping by changing the year from 1999 to


1996

Of course this is not the best solution, however, this


demonstrates how to do a quick fix and see results.

• Save the mapping and rerun s_m_ODS_TIME_xx


• Rerun the workflow wf_PROFIT_PERIODIC_xx and check the results

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 206


Why are the results the same? Since the lookup property,
Persistent Cache, on the Properties tab for lkp_ODS_TIME is
turned on, it did not recache the new values from the
ODS_TIME table.

The Recache from Database, on the same Properties tab, needs to


be selected to update the cache with the new records. This
can be accomplished both in the mapping and in the session
task.

• Turn on the property, Recache from Database, located on the Transformations tab
of the session task, s_m_ODS_PROFIT_PERIODIC_xx

This demonstates how a session property, originally set in


the mapping, can override the mapping and not impact it
and other sessions tasks using same mapping. This is an
excellent example of how to use Recache from Database.

• After setting the property, rerun wf_PROFIT_PERIODIC_xx and note the


differences in the results. The number of rows doesn't change, but all of the
columns should no longer be blank

Results
All the numbers should be the same as the above results. The difference is in the data
– there should no longer be any Nulls.

Results – Preview Data


Only the Monthly table will be shown for results.

ODS_PROFIT_MONTHLY

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 207


Q U E S T I O N

Based on the fact there were no calculations being performed by the reusable
transformations re_agg_3_ID_SUM_BY_MTH and re_agg_3_ID_SUM_BY_QTR
because the lkp_ODS_TIME provided it, could these transformation been combined
into one?

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 208


Lab

23
LAB 23 – DYNAMIC LOOKUP
P U R P O S E

• Build a mapping to load the DIM_PRODUCT table when source rows do not
exist on the target

O B J E C T I V E

• Utilize Informatica’s Dynamic Caching feature when looking up source


information against the target table
• Use a Sequence Generator transformation

D U R AT I O N

• 30 minutes

S U M M A RY

SOURCE: ODS_PRODUCT
TARGET: DIM_PRODUCT

Import Source and Target Table


• Import ODS_PRODUCT as a Source Definition

Note that this source will be found using the odbc_target


DSN.

• Import DIM_PRODUCT as a Target Definition


• Save the Repository

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 209


Create Mapping
• Create a mapping called m_DIM_PRODUCT_xx
• Add the ODS_PRODUCT Source Definition and its’ corresponding Source
Qualifier
• Rename Source Qualifier to sq_ODS_PRODUCT
• Add the DIM_PRODUCT Target Definition
• Create Shortcut to Reusable Transformation

• Expand the Transformations Node in the Shared_Student folder


• Create a shortcut to the re_exp_DECODE_CATEGORY Transformation in the
m_DIM_PRODUCT_xx Mapping and confirm the creation of a shortcut

• Open the re_exp_DECODE_CATEGORY transformation and click on the


Ports tabs

As explained in the previous lab, the Ports tab of the


Reusable Transformation cannot be edited from the
mappings using them. In addition, Reusable
Transformations can only be edited within the Transformation
Developer. Certain attributes on the Properties tab can be
modified. What can be changed differs between each type of
transformation.

• Link CATEGORY port from the sq_ODS_PRODUCT to the CATEGORY_in


port of the re_exp_DECODE_CATEGORY

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 210


Create a Sequence Generator Transformation

• Create a Sequence Generator Transformation and name it


seq_DIM_PRODUCT

Create Expression Transformation

• Create Expression Transformation and name it exp_DIM_PRODUCT


• Copy/Link PRODUCT_NAME, CATEGORY, MODEL and PRICE ports from
the sq_ODS_PRODUCT Transformation to exp_DIM_PRODUCT
• Copy/Link PRODUCT_DEPARTMENT Port from the
Shortcut_To_re_exp_DECODE_CATEGORY transformation to
exp_DIM_PRODUCT
• Copy/Link NEXTVAL from the seq_DIM_PRODUCT transformation to
exp_DIM_PRODUCT
• In the exp_DIM_PRODUCT, make the PRODUCT_NAME and MODEL ports
Input Only Ports
• Rename NEXTVAL port to PRODUCT_SEQUENCE

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 211


• Add a port after PRODUCT_SEQUENCE port rename it
PRODUCT_NAME_MODEL

• Add the following expression to PRODUCT_NAME_MODEL


PRODUCT_NAME || ‘ ‘ || MODEL
• Save repository

Create Dynamic Cache Lookup Transformation

Dynamic Cache Lookups


In this step a lookup will be utilized to determine if source rows exist in the target table. When the
Dynamic Cache property is set on a Lookup Transformation, all rows sent to the Target will also
update the lookup cache. Therefore, the Target and the lookup cache will be in sync.

Refer to “Working with a Dynamic Lookup Cache ” in the


“Lookup Caches” Chapter in the Transformation Guide

• Create lookup called lkp_DIM_PRODUCT based on the target table,


DIM_PRODUCT, which will be in the assigned target schema, tbuxx
• From the exp_DIM_PRODUCT transformation, copy/link CATEGORY,
PRICE, PRODUCT_DEPARTMENT, PRODUCT_SEQUENCE and
PRODUCT_NAME_MODEL to the lkp_DIM_PRODUCT
• Rename all of the ports that entered lkp_DIM_PRODUCT from the
exp_DIM_PRODUCT Expression by replacing the “1” with “_in”

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 212


• Uncheck the Output Port “O” for each port that entered lkp_DIM_PRODUCT
from the exp_DIM_PRODUCT Expression
• Turn on the Dynamic Lookup Cache property:

Turning on Dynamic Lookup Cache changes the Ports


Tab of the Lookup. A port called NewLookRow is inserted
in the first position and the Associated Port column
becomes active.

• Add the following conditions:

Note that for each condition, the Associate Port is filled in


and grayed out on the Ports tab.

• Change the PRODUCT_SEQUENCE Datatype to Integer


• Remain on the Ports tab, click on the Associated port for
PRODUCT_SEQUENCE and select PRODUCT_SEQUENCE_in
• Save the repository

Create Filter Transformation

• Create a Filter transformation called fil_DIM_PRODUCT


• Copy/Link the NewLookupRow, PRODUCT_SEQUENCE
PRODUCT_CATEGORY, PRODUCT_NAME_MODEL, PRICE,
PRODUCT_DEPARTMENT Ports from the lkp_DIM_PRODUCT
transformation to fil_DIM_PRODUCT transformation
• Add the following condition on the Properties tab of the filter:
NewLookupRow = 1

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 213


The Dynamic Lookup assigns the value 1, 2, or 0 to the
NewLookupRow port to indicate if it inserts or updates the
row in the cache, or makes no change, respectively.

Link Target Definition

• Use the Autolink feature By Name to link the fil_DIM_PRODUCT to


DIM_PRODUCT Target Definition
• Save the repository

Completed Mapping

Create Workflow
• Create a Workflow called wf_DIM_PRODUCT_xx
• Add wf_DIM_PRODUCT_xx.log as the Workflow Log File Name
• Rename Start task to start_ DIM_PRODUCT
• Create Session Task called s_m_DIM_PRODUCT_xx
• Select native_target_xx connection for sq_ODS_PRODUCT source instance
• Select native_target_xx connection for DIM_PRODUCT target instance
° Check property Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 214


• Link start_ DIM_PRODUCT to s_m_DIM_PRODUCT_xx
• Save, Validate and Start Workflow wf_DIM_PRODUCT_xx
• Monitor and Review the results for s_m_DIM_PRODUCT_xx in the Workflow
Monitor

Results – Session Properties

Results – Session Transformation Statistics

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 215


Results – Preview Data

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 216


Lab

24
LAB 24 – SEQUENTIAL WORKFLOW
P U R P O S E

• Build a workflow to load the remaining dimensions table, and then the fact
table to complete the course.

O B J E C T I V E

• Create shortcuts to mappings


• Setup a workflow with sequential loading

D U R AT I O N

• 30 minutes

S U M M A RY

Create Mapping Shortcuts

To complete the mini Data Warehouse or DataMart, is to


load the five required dimension tables, DIM_REP,
DIM_CUSTOMER, DIM_VENDOR, DIM_INVOICE, and
DIM_TIME and the fact table, FACT_SALES. The six
mappings that load the tables have been created and reside
in the Shared_Student folder.

• Create shortcuts and rename them (Mappings | Edit) replacing the xx to


include the assigned student number from the following mappings:
° m_DIM_CUSTOMER_xx
° m_DIM_INVOICE_xx
° m_DIM_REP_xx
° m_DIM_TIME_xx
° m_DIM_VENDOR_xx
° m_FACT_SALES_xx
• Save

Create Workflow

If this training environment was a true Development, QA


or Production environment with enough processing power

Informatica PowerMart / PowerCenter 6 Basics –Lab 24 – Sequential Workflow 217


and memory to handle what is about to be created by each
and every student, then a few of the dimension tables could
be loaded concurrently. Since a typical training environment
has limited resources, the following workflow will be loaded
sequentially.

• Create a Workflow called wf_LOAD_DW_xx


• Add wf_LOAD_DW_xx.log as the Workflow Log File Name
• Rename Start task to start_LOAD_DW
• Create Session Task for each mapping shortcut with the names of:
° s_Shortcut_To_m_DIM_TIME_xx
° s_Shortcut_To_m_DIM_REP_xx
° s_Shortcut_To_m_DIM_VENDOR_xx
° s_Shortcut_To_m_DIM_CUSTOMER_xx
° s_Shortcut_To_m_DIM_INVOICE_xx
° s_Shortcut_To_m_FACT_SALES_xx
• Select native_source connection for s_Shortcut_To_m_DIM_VENDOR_xx
Source Instance
• Select native_target_xx connection for each of the remaining Source Instances
• Select native_target_xx connection for each of the Dimension and Fact Target
Instances
° For multiple practice loads, check property Truncate target table option
° Only if the target table database connection is using an Oracle client
less than 8.1.7.2, select Normal for Target load type property
• Link sequentially from the start_ LOAD_DW in the following order:
° s_Shortcut_To_m_DIM_TIME_xx

Informatica PowerMart / PowerCenter 6 Basics –Lab 24 – Sequential Workflow 218


° s_Shortcut_To_m_DIM_REP_xx
° s_Shortcut_To_m_DIM_VENDOR_xx
° s_Shortcut_To_m_DIM_CUSTOMER_xx
° s_Shortcut_To_m_DIM_INVOICE_xx
° s_Shortcut_To_m_FACT_SALES_xx
• Save, Validate and Start Workflow, wf_LOAD_DW_xx
• Monitor and Review the results for each of the session tasks in the Workflow
Monitor

Results – Session Transformation Statistics for DIM_TIME Table

Results – Session Transformation Statistics for DIM_REP Table

Results – Session Transformation Statistics for DIM_VENDOR Table

Results – Session Transformation Statistics for DIM_CUSTOMER Table

Results – Session Transformation Statistics for DIM_INVOICE Table

Results – Session Transformation Statistics for FACT_SALES Table

Informatica PowerMart / PowerCenter 6 Basics –Lab 24 – Sequential Workflow 219


INDEX

Aggregator Transformation............ Mapplet..........................................


Purpose..................................103 Create....................................192
Autolink......................................... Description..............................192
by Name...................................68 Mapplet Designer.....................192
by Name & Prefix or Suffix..........70 Metadata Extensions......................
by Position................................71 Create......................................40
Columns......................................... Non-reusable............................16
Copy & Link..............................75 Purpose....................................16
Designer......................................... Reusable..................................16
Find.......................................148 Output Transformation...................
Find in Workspace....................148 Create....................................195
Find Next................................150 Ports
Start..........................................9 Definition..................................27
Using Shortcuts. 151, 153, 158, 159 Modify or Add............................30
Expression..................................... Repository......................................
Create formula..........................30 Connect to..................................6
Expression transformation............. Revert to Saved.........................66
Purpose....................................28 Save........................................18
Filter Transformation..................... Repository Manager.......................
Create / Edit................91, 94, 110 Close.........................................8
Flat File.......................................... Start..........................................6
Analyze....................................84 Router Transformation...................
Flat File Wizard.............................. Purpose..................................164
Purpose....................................84 Session...........................................
Folder Properties.................................57
Create....................................6, 7 Status......................................57
Expanded.................................10 Session Log....................................
Open.........................................9 View........................................59
Joiner Transformation.................... Session Task..................................
Create....................................100 Create......................................42
Purpose..................................101 Edit..........................................42
Lookup Transformation.................. Shortcut.........................................
Cache File Name Prefix.............198 Create....................................160
Connected and Unconnected.....117 Source Analyzer.............................
Create Connected.............116, 164 Open........................................11
Create Unconnected..........178, 183 Source Qualifier Transformation....
Dynamic Cached Lookup...........212 Purpose....................................26
Persistent................................198 Sources..........................................
Recache from Database............198 Edit definition............................14
Mapping......................................... Organize...................................24
Create..............................23, 139 Analyze...................................13
Validation.................................34 Targets...........................................
Mapping Designer.......................... Import Definitions......................20
Open........................................22 Task
Mapping Parameter........................ Link.........................................46
Purpose..................................175 Transformation..............................
Using.....................................180 Aggregator..............................103

Informatica PowerMart / PowerCenter 6 Basics – Index 220


Create......................................77
Expression................................27
Passive vs. Active......................28
Reusable.................................200
Sequence Generator.................211
Source Qualifier.........................26
Transformation Developer..............
Open......................................202
Purpose..................................200
Update Strategy Transformation....
Create....................................129
Forward Rejected Rows.............144
Warehouse Designer......................
Open........................................19
Workflow.......................................
Edit..........................................40
Log..........................................40
Start........................................51
Validate....................................47
Workflow Manager.........................
Start...................................37, 84
Workflow Monitor...........................
Close.......................................50
Gantt Chart...............................52
Initialize...................................52
Purpose....................................56
Task View.................................53
Workspace.....................................
Clear........................................17
Zoom and scale-to-fit.....................
How to................................79, 82

Informatica PowerMart / PowerCenter 6 Basics – Index 221

Potrebbero piacerti anche