Top Banner
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
338
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: lab-guide

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

Page 2: lab-guide

Table of Contents

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

Lab Guidelines.......................................................................5

The Design Process................................................................7

Lab 1 – Create a Folder..........................................................7Start Repository Manager...............................................................7Connect to the Repository..............................................................7Create a Folder...............................................................................8Close the Repository Manager........................................................9

Lab 2 – Analyze Source Data.................................................11Start the Designer.........................................................................11Open Folder..................................................................................11Open the Source Analyzer............................................................13Analyze Source Definitions...........................................................15Edit the Source Definition.............................................................17Create Metadata Extensions.........................................................18Clear the Workspace.....................................................................19Save Work.....................................................................................20

Lab 3 – Import Target Schema..............................................21Open the Warehouse Designer.....................................................21Import Target Table Definitions....................................................22

Lab 4 – Create a Mapping.....................................................25Open Mapping Designer...............................................................25Create Mapping............................................................................26Add Source and Target Definitions...............................................27Source Qualifier Transformation...................................................29Create an Expression Transformation...........................................30Modify / Add Ports.........................................................................33Create Expression Formula...........................................................33Validate the Mapping....................................................................37

Lab 5 – Create a Workflow....................................................41Start Workflow Manager...............................................................41Create Workflow...........................................................................42Edit the Workflow..........................................................................44Create Metadata Extensions.........................................................44Working with Tasks.......................................................................45Create Session Task......................................................................46Edit Session Task..........................................................................47Link Workflow Tasks.....................................................................50Validate the Workflow...................................................................51

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

Page 3: lab-guide

Lab 6 – Start and Monitor the Workflow................................53Open Workflow.............................................................................53Close the Workflow Monitor..........................................................54Start Workflow..............................................................................55The Workflow Monitor...................................................................56Open Workflow Monitor................................................................56Connect to the Repository (Workflow Monitor).............................58Monitoring the Workflow...............................................................60View Session Properties................................................................61View the Session Log....................................................................63

Lab 7 – Features and Techniques I........................................65

Lesson 1 – Arrange Objects...............................................66

Lesson 2 – Remove Links...................................................68

Lesson 3 – Manual Linking.................................................68

Lesson 4 – Revert to Saved................................................70

Lesson 5 – Link Path.........................................................71

Lesson 6 – Autolink by name and position..........................72Autolink by name..........................................................................72Autolink by name and prefix or suffix...........................................74Autolink by Position......................................................................75

Lesson 7 – Moving Ports....................................................77Up & Down Arrows to Move a Port................................................77Drag-and-Drop Method to Move a Port.........................................77

Lesson 8 – Shortcut from Normal View to Edit Port.............78

Lesson 9 – Copy Columns versus Link Columns...................79Copy Columns...............................................................................80Link Columns................................................................................80Copy / Link Columns.....................................................................80

Lesson 10 – Create Transformation Methods......................81Transformation Toolbar Method....................................................81Transformation Menu Method.......................................................82

Lesson 11 – Zoom and scale-to-fit......................................83

Lesson 12 – Designer Options............................................86

Lab 8 – The Debugger...........................................................87Clear Workspace...........................................................................89Close Mapping..............................................................................90Copy Mapping Setup.....................................................................91Open Mapping...............................................................................95Edit Mapping.................................................................................96

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

Page 4: lab-guide

Activate the Debugger Toolbar.....................................................97Start Debugger.............................................................................97Debug Mapping...........................................................................103Stop the Debugger......................................................................104Debugger Breakpoints................................................................104

Lab 9 – Flat File Wizard and Filter.......................................107Analyze a Flat File source...........................................................107Create Expression Transformation..............................................112Create Filter Transformation.......................................................114Results – Session Properties.......................................................117

Lab 10 – Heterogeneous Join...............................................121Create Joiner Transformation......................................................124Create Aggregator Transformation.............................................127Results – Session Properties.......................................................131

Lab 11 – Sorter..................................................................133Results – Session Properties.......................................................137

Lab 12 – Basic Lookup........................................................139Create Lookup Transformation...................................................141Results – Session Properties.......................................................147

Lab 13 – Deleting Rows......................................................149Results – Session Properties.......................................................153

Lab 14– Data Driven Inserts and Rejects..............................155Create Update Strategy Transformation.....................................155Results – Session Properties.......................................................159Extra Credit.................................................................................160Results – Extra Credit Session Properties...................................161

Lab 15 – Incremental Update..............................................163Create Source Qualifier...............................................................165Create Lookup Transformation - Connected...............................166Results – Session Properties.......................................................172

Lab 16 – Features and Techniques II...................................175

Lesson 1 – The Find feature.............................................175Find Next....................................................................................177

Lesson 2 – View Dependencies.........................................179

Lesson 3 – Comparing Objects.........................................181Compare Instances Within Mapping or Mapplets........................181Compare Target Definitions........................................................183Compare Mapping Instances.......................................................185

Lesson 4 – Overview Window...........................................185

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

Page 5: lab-guide

Lesson 5 – Copying and Pasting Objects...........................186

Lesson 6 – Shortcuts.......................................................187Create Shortcut to Source..........................................................188

Lab 17 – Router..................................................................191Create Router Transformation....................................................193Results – Session Properties.......................................................196

Lab 18 – Straight Load........................................................199Results – Session Properties.......................................................201

Lab 19 – Conditional Lookup...............................................203Create Mapping Parameter.........................................................206Create Unconnected Lookup Procedure......................................209Results – Session Properties.......................................................214

Lab 20 – Heterogeneous Targets.........................................217Results – Session Properties.......................................................221

Lab 21 – Mapplets..............................................................223Create the Mapplet.....................................................................224

Lab 22 – Reusable Transformations.....................................229Add Mapplet................................................................................230Create Persistent-Named Lookup Transformation......................231Promote Aggregator to be Reusable...........................................233Open the Transformation Developer..........................................235Add Reusable Transformations to Mapping................................236Results – Session Properties.......................................................238

Lab 23 – Dynamic Lookup...................................................243Create a Sequence Generator Transformation...........................245Create Dynamic Cache Lookup Transformation..........................246Results – Session Properties.......................................................249

Lab 24 – Sequential Workflow.............................................251

INDEX.................................................................................................254

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

Page 6: lab-guide

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

Page 7: lab-guide

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

Page 8: lab-guide

DOCUMENT CONVENTIONS

This guide uses the following formatting conventions and icons:

If you see… It means…Normal Text Normal Text

Command textMenu Command or button/screen text

Object Name

Name of tables, files, PowerCenter objects (transformations, workflows, ports, etc.)

Text entered by student Text to be typed or selected by the student during the lab

Information text.

Tips and hints for the lab

Key Concept Text.Key concepts and background for the topic being discussed during the lab

Reference textReference to other Informatica documents that discuss this topic in depth

Flagged Step A reference to the Flagged Step is made later in this guide

LAB GUIDELINES

Don’t get stuck – ask for help! 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

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

Page 9: lab-guide

have the following columns selected: Name, Datatype and Length/Precision. Others will include Expression.

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

Page 10: lab-guide

THE DESIGN PROCESS

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

O V 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 A T I O N

15 minutes

Start Repository Manager

Start the Repository Manager: Start | Programs | Informatica PowerCenter Client 6.0 |

Repository Manager; or Per the Instructor’s directions

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

Lab11

Page 11: lab-guide

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.

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.

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

Page 12: lab-guide

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 11

Page 13: lab-guide

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

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

Page 14: lab-guide

Close the Repository Manager by selecting Repository | Exit.

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

Page 15: lab-guide

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 A T I O N

20 minutes

Start the Designer

Start the PowerCenter Designer: Start | Programs | Informatica PowerCenter Client 6.0 |

Designer; or 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 10.

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.

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

Lab22

Page 16: lab-guide

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.

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.

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

Page 17: lab-guide

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

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

Maximize the window by clicking on the maximize icon

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

Workspace Window Maximize icon

Ba

Page 18: lab-guide

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

The Workbook View allows you to easily navigate among open folders.

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.

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

ApplicationTitle Bar

BaOpen Folder drop-down list

Workspace (Source Analyzer displayed)

Workbook Tab

Page 19: lab-guide

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.

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

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

Page 20: lab-guide

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.

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.

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

Page 21: lab-guide

The new source table definition now appears in the Source Analyzer Workspace.

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.

In the Source Analyzer Workspace, double-click on the header of the

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

SourceDefinition

Page 22: lab-guide

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

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 22

Enter Description

Ba

Page 23: lab-guide

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 23

Page 24: lab-guide

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 folder or Edit | Delete will remove the new object from 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 21).

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

Add Metadata Extensions icon

Metadata Extensions tab

Enter: Your Name and the current date

Page 25: lab-guide

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

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

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

Page 26: lab-guide

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 26

Page 27: lab-guide

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 A T 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 15

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 27

Lab33

Page 28: lab-guide

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 19.

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

Page 29: lab-guide

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 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

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

Page 30: lab-guide

Save (See flagged step Save Work on page 25)

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

Page 31: lab-guide

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 A T 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 31

Lab44

Page 32: lab-guide

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

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

Page 33: lab-guide

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

Add Source and Target Definitions

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

Organizing Source Definitions

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

Recent Mappings list

MappingsNode

Page 34: lab-guide

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.

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

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

Page 35: lab-guide

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 35

Page 36: lab-guide

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 36

Page 37: lab-guide

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.

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

Page 38: lab-guide

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 38

Page 39: lab-guide

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

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

Page 40: lab-guide

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.

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

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

Page 41: lab-guide

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

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

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

Page 42: lab-guide

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

Click on the arrow to open the Expression Editor dialog box

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

Add Port icon

New Port, output-only

Arrow opens Expression Editor

Page 43: lab-guide

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

Based on which port is selected, the port details appear under the ‘Instance Name:’ section of the Ports tab

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

Formula Undo icon

Formula Window

Ports Tab

Individual Port Details

Page 44: lab-guide

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

completeFIRST_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 44

Page 45: lab-guide

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

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 45

Completed Expression Formula

Page 46: lab-guide

Link Target Definition

Link the following ports from exp_ODS_EMPLOYEE to ODS_EMPLOYEE (target definition):

EMPLOYEE_ID EMPLOYEE_IDNAME_out NAMEDATE_HIRED DATE_HIREDTYPE_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.

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

Page 47: lab-guide

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.

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

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

Page 48: lab-guide

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

Output Window’s Save Tab

Page 49: lab-guide

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

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.

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

Save Time Stamp

First Error

Mapping declared Invalid

Page 50: lab-guide

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

Validate Tab

Validation Time Stamp

No Errors

Mapping declared Valid

Page 51: lab-guide

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 A T 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 10

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:

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

Lab5544

Page 52: lab-guide

Select Tools | Workflow Designer; or

Click the Workflow Designer icon above the Workspace

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 52

Page 53: lab-guide

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

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

Page 54: lab-guide

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 54

Page 55: lab-guide

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

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 23. 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 55

Workflow Log File Name

Workflow Log Directory

Page 56: lab-guide

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

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

Page 57: lab-guide

be difficult to find. To verify it is present, select Tools | Customize Toolbars and make sure there is a checkmark in the Tasks checkbox.

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

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

Page 58: lab-guide

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 32). 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

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 58

Session Log Name

Session Log Directory

Page 59: lab-guide

Select the Sources tab

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

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

Source Native Database Connection

Native Database Connection Drop-down Listing

Connection Settings tab

Page 60: lab-guide

Select the native_source connection and click OK Select the Targets tab

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

Release note: CR 38672, 36211: Oracle bulk load session fails or runs in normal mode on some versions of Oracle

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

Native Database Connection Drop-down List

Properties Tab

Page 61: lab-guide

When a session is configured for bulk loading and the target database is on Oracle, the session fails when the Oracle client 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

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

Page 62: lab-guide

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 62

Page 63: lab-guide

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

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

Page 64: lab-guide

occurred automatically, just as it does when the mappings are saved in the Designer.

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

Page 65: lab-guide

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

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 65

Output Window’s Save Tab

Page 66: lab-guide

LAB 6 – START AND MONITOR THE WORKFLOW

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 A T 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 51 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 67

Lab66

Page 67: lab-guide

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.

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.

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

Recent Workflows List

Page 68: lab-guide

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

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.

Selecting this menu option starts the start_ODS_EMPLOYEE task, only, and would not

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

Starts a single Task only

Page 69: lab-guide

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 70

Page 70: lab-guide

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

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

Page 71: lab-guide

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

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

Task View

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

Time window (area)

Navigator window (area)

Page 72: lab-guide

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:

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

Time window

Navigator window

Page 73: lab-guide

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

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

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

Repository Select List

Connect to Repository

Page 74: lab-guide

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 75

Page 75: lab-guide

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

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

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

Task Name (icons)

Task View tab

Page 76: lab-guide

The wf_ODS_EMPLOYEE_xx Workflow -- icon

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:

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

Page 77: lab-guide

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, 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:

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 78

Expected Results

PropertiesTab

Page 78: lab-guide

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

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

Source Qualifier Instance

Transformation Statistics Tab

Target Instance

Page 79: lab-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

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.

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

Page 80: lab-guide

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

Processing) Memory (DTM Buffer Pool)

Native Source and Target Database Connections

INSERT, UPDATE and DELETE row syntax (if created)

Session Processing Threads

Mapping Name

Session Name

Page 81: lab-guide

LAB 7 – FEATURES AND TECHNIQUES I

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 A T I O N

40 minutes

Start the Designer

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

Lab77

Page 82: lab-guide

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 10)

Open Folder

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

Open Mapping

Open the mapping, m_ODS_EMPLOYEE_xx (refer to the flagged step Open Folder on page 15)

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:

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

Page 83: lab-guide

And change it to look like this:

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.

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

Page 84: lab-guide

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.

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

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

Page 85: lab-guide

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

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

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

Page 86: lab-guide

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

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.

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

Page 87: lab-guide

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

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.

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

Page 88: lab-guide

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 90

Page 89: lab-guide

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.

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

Page 90: lab-guide

Revert to Saved to reset the mapping Remove the links between the exp_ODS_EMPLOYEE Expression

and the ODS_EMPLOYEE Target Definition 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.

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 92

By Name

Page 91: lab-guide

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 93

Page 92: lab-guide

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.

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

Page 93: lab-guide

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 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

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,

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

By Position

Page 94: lab-guide

however, it is a best practice double-check the results of the Autolink.

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

Page 95: lab-guide

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 97

Page 96: lab-guide

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

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

Page 97: lab-guide

Delete the port by using the icon

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

Page 98: lab-guide

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.

Use the mouse to choose the copy columns icon

Use the mouse to choose the link columns icon

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

Copy columns

Link columns

Page 99: lab-guide

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

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

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

Page 100: lab-guide

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 102

Page 101: lab-guide

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.

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

Page 102: lab-guide

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 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

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

Page 103: lab-guide

Select the Aggregator from the drop down list

Select Create and give it the name agg_TargetTableName 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

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

Page 104: lab-guide

Layout menu options to set zoom levels. The toolbar has the following zoom options:

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 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.

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

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

Zoom in based on rectangle Drop down list

Scale to fit

Page 105: lab-guide

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

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.

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

Page 106: lab-guide

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 108

Page 107: lab-guide

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 For the Source Qualifier, Update Strategy, Filter, Lookup,

Joiner, 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 109

Page 108: lab-guide

LAB 8 – THE DEBUGGER

P U R P O S E

Troubleshoot a mapping that is not producing correct data results. A fellow developer (student) has produced the same m_ODS_EMPLOYEE_xx mapping created in Lab 4. The mapping is valid. However, when the mapping is executed it is not producing correct results. Obtain a copy of the mapping then run a debug session to determine where the mapping errors are

O B J E C T I V E S

Learn to use and apply the Informatica Debugger

D U R A T I O N

20 minutes

Review the Problem

The mapping created by the other developer produces database results as follows:

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 111

Lab8844

Page 109: lab-guide

The results of the mapping should be the same as the expected results obtained in Lab 4:

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 112

Page 110: lab-guide

The missing TYPE_CODES in the results above are Nulls. To verify, use the Preview Data feature on the ODS_EMPLOYEE target within the Designer to see the values.

Prepare Designer

These first steps will be to setup the Mapping Designer. Some of the steps may not be necessary because the Designer may still be open from the previous exercise.

Open Designer and connect to the Repository PC_Course Repository

Open the assigned Studentxx folder

Clear Workspace

At the beginning of each new development project (or Lab) it is a good practice to clear any unneeded objects from the Source Analyzer or Warehouse Designer Workspace (e.g. - from a previous project that will no longer

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 113

Page 111: lab-guide

be needed). If the objects are not cleared, they may simply be unnecessary clutter in the Workspace. If the Workspace in both tools is already clear, skip the following four steps.

The last tool present (Source Analyzer, Warehouse Designer, Mapping Designer, etc.) will have opened. If the Source Analyzer is not present in the work area, select it via the toolbar

Right-click and select Clear All to clear the Workspace

Change to the Warehouse Designer Clear the Workspace via the same method

Close Mapping

A good practice to set up for any new development assignment (in this case, a lab) is to close the previously opened mapping.

Change the Workspace to Mapping Designer as described in the

flagged step Open the Mapping Designer on page 31

Locate the Recent Mapping list immediately above the Mapping Designer Workspace. If the mapping name is present in the Recent Mappings drop-down list, then it is still open. If not, skip to the Copy Mapping Step

The Recent Mapping list holds the mappings 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 Designer or Disconnecting from the repository or the folder) – any of which will net the same effect.

Close the mapping by using one of the following methods: Select Mappings | Close; or

Click on the Close Mapping icon in the Toolbar

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 114

RecentMappings List

Page 112: lab-guide

If a mapping is not closed prior to building a new mapping or viewing another in the Workspace, the Designer will prompt whether or not to close the current one.

If any changes were made to the mapping and not saved before opening or creating another, the Designer will NOT prompt to save changes until the folder is closed. Once a repository save is performed, any mappings that were opened in the Workspace and changed will be saved – it does not have to be performed individually. Anything saved will appear in the Output window.

Copy Mapping Setup

The first step will be to obtain access to the errant mapping and make a copy of it to the assigned Studentxx folder. Make sure the Workbook tab is

selected from View | Workbook. It should look depressed. When depressed, the bottom of the Workspace will display all of the open folders – the only folder that should be opened is the assigned Studentxx

Locate the Shared_Student folder in the Navigator window and expand it by clicking on the ‘+’ sign to the left of the folder name

If the Shared_Student folder appears as another Workbook tab next to the assigned Studentxx folder:

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 115

This tab should not be visible

Page 113: lab-guide

Then the folder was opened in error per the instructions Please close (disconnect) by right clicking on the Shared_Student folder in the Navigator window and select Disconnect.

Opening the folder when there is no intent to add or change anything within it is not a best practice because it is easy to perform work in the wrong folder (Workspace) if not careful.

Refer to the Key Concept “Open Folder versus Expanded Folder”, in the flagged step Open Folder on page 15.

Continue to drill down to the Mappings node in the same fashion as the folder and select the m_ODS_EMPLOYEE_BAD mapping

Copy Mapping – Edit | Copy or Ctrl-c Method

Copy the mapping by doing one of the following: Select Edit | Copy; or Ctrl-C

The m_ODS_EMPLOYEE_BAD mapping is in the Windows clipboard

Paste the mapping by selecting the assigned Studentxx folder and doing one of the following:

Select Edit | Paste; or Ctrl-V

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 116

Page 114: lab-guide

The Designer displays the message to confirm the copy. Before proceeding, there is one other technique to practice.

Copy Mapping – Mappings | Copy As… Method

Select the No button to practice another method to copy mappings

Verify the Studentxx folder is active in the Workspace (or by viewing the Open Folder List – see below)

Select the Mapping Designer

In the Navigator Window, single-click the m_ODS_EMPLOYEE_BAD mapping from the Shared_Student folder

Select Mappings | Copy As…

Type in the name, m_ODS_EMPLOYEE_BAD_xx, and click OK

The mapping is copied to the Studentxx Folder. There is one more method to try, so adding the mapping will not be saved at this point.

Click on the assigned Studentxx Folder

Click on the Disconnect icon Click on the No button to not save changes

Copy Mapping – Drag and Drop Method

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 117

Page 115: lab-guide

Verify the Studentxx folder is active in the Workspace (or by viewing the Open Folder List – see below)

Select the Mapping Designer

In the Navigator Window, drag the m_ODS_EMPLOYEE_BAD mapping from the Shared_Student folder to the Workspace

(DON’T DROP YET) – note the shortcut icon as it enters the Workspace

Click and hold the Ctrl key and note the copy icon

while in the Workspace Drop the mapping

This exercise requires the Ctrl key because the object is coming from a shared folder – one that allows shortcuts. Whenever an object is dragged from a shared folder to another, it is assumed that a shortcut is desired.

An analogy is the Windows standard when using Explorer to copy a file – if the file is an executable (.exe), then it assumes a shortcut is desired. The Ctrl key, in both cases, changes it from a shortcut to a copy.

As previously stated, the key here is pay close attention to the object that is anchored to the arrow.

If the anchor is dark arrow pointing to the upper right, then the action will create a shortcut. While

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 118

Page 116: lab-guide

holding the Ctrl key, the anchor turns into a “+” sign which indicates a copy.

Regardless of which action is taken, the Designer provides a dialog box to confirm:

So, if is says ‘Create a shortcut…’, then try again

After selecting Yes to confirm the copy, two more decision dialog boxes appear. Select Reuse for both:

And…

When copying a mapping, the mapping itself is not the only object that appears in the target folder’s mapping node. Any object that exists in the original mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 119

Page 117: lab-guide

that was pulled from other nodes such as the Sources and Targets nodes (other nodes to be discussed later) will be checked for duplicate names in the corresponding nodes where the mapping is being copied; hence, the decision boxes.

Collapse the Shared_Student folder (click on the ‘-‘ to the left of the folder name in the Navigator window)

Save

Open Mapping

In order to run the Debugger, the mapping to be debugged must be open in the Mapping Designer. It may already be open based on how it was copied into the assigned Studentxx folder from the previous step. Check for the name m_ODS_EMPLOYEE_BAD in the recent mapping list:

If not listed in the recent mapping list, then do as follows: In the Navigator window, locate the m_ODS_EMPLOYEE_BAD

mapping (just copied) in the mapping node of the Studentxx folder

Click and hold the mouse button, then drag-and-drop the mapping into the Workspace

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 120

Page 118: lab-guide

Notice the “Open this mapping” message in the status bar. Look to the status bar for other useful information as these sorts of tasks are being performed.

Edit Mapping

Change the name of the m_ODS_EMPLOYEE_BAD mapping to include the student assigned number to keep it unique – consequently it will have a unique session name and session log by default. Select Mappings | Edit. The Edit Mappings dialog box opens

Change the mapping name to m_ODS_EMPLOYEE_BAD_xx (xx represents the assigned student number)

Save

Arrange Mapping

Right-click in the Workspace Select Arrange.

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 121

Page 119: lab-guide

Select the ODS_EMPLOYEE target instance listed, click the Iconic checkbox and click the OK button

Activate the Debugger Toolbar

Before proceeding, there is the Debugger 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 Debugger checkbox on the Toolbars Tab.

Start Debugger

Start the Debugger by doing one of the following:

Click on the Start Debugger icon; or Select Mappings | Debugger | Start Debugger; or Press the F9 key

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 122

Page 120: lab-guide

Click on the Next button. The next Debug Mapping Wizard page appears

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 123

Server Select List

Instruct the Debugger Server to Create a Debug Session

Page 121: lab-guide

Leave PC_Server as the Server to use for the debug Session – the default Server displayed on the pull-down list

In the Session box, leave the default, Create a debug session instance for this mapping, radio button selected

Click on the Next button

The Debugger spawns a server process, hence the selection of the PC_Server server. Since no session has been created to represent this new mapping, the Debug Mapping Wizard has the ability to create one on the fly. This is especially useful when testing complex expressions and logic before trying to create a Workflow with a Session task.

Since the Session is being created on the fly, the Debugger needs to setup minimum parameters required for execution.

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 124

Page 122: lab-guide

Select the same native connections used for the run of the Workflow in the flagged step Edit Session Task on page 58

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

Click on the Next button to proceed Leave the default settings on this page of the Wizard and click on

the Next> button

On the last page of the Wizard (not shown), leave the check in the Discard target data checkbox.

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 125

Page 123: lab-guide

This option will take the data to the database to check for errors, but will not commit the rows

Click on the Finish button and wait for the ‘spinning’ (initializing)

of the Debugger icon to stop before proceeding

Look in the upper right corner of the Debugger. The initialization process may take several seconds.

Click on the Session Log tab to watch the Real-Time log creation

When running the Debugger, there are two very important logs, the Debugger and Session Logs, to view in the Output window. They may be hidden and some size adjustments may need to be made to the Output window to see it. Move the log window using the Double-vertical bars

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 126

Instance Window: Data Rows will appear

Target Instance Window: Final data rows will appearDebugger

Server LogReal-timeSession Log

Rotate position of the Instance windows if desired via drag and drop method

Page 124: lab-guide

on its left side, and stretch it to make that Debugger and Session Log tabs visible. If that doesn’t do the trick, then the scroll bar may be in the way – that, too, may need adjustment. Click on the Session Log tab to watch the Real-Time log creation:

Furthermore, developers have a choice to position the windows in any of the three slots or undocked. Click up near the header (title) of the window and drag to the left or right to position them or hold the Ctrl key to prevent docking:

The Debugger toolbar will come become active when in debug mode.

Next Instance vs. Step to Instance

Once a starting point (transformation) for the debug process is selected, the Next

Instance icon allows the user to ‘follow’ a row through each transformation in the mapping. The Debugger will then proceed to the next row and follow it through each transformation.

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 127

Page 125: lab-guide

Think of the two squares in the Next Instance icon as representing transformations, and a row stepping from one transformation to the next.

The Step to Instance icon allows the user to examine one transformation at a time, following one-row-after-another through the same transformation.

Think of the picture in the Step to Instance icon representing ‘steps’ – as if stepping down to the next row, in the same transformation.

Debug Mapping

There are errors in the mapping. Select a transformation to serve as a starting point for the debugging: Select the sq_EMPLOYEE Source Qualifier in the mapping.

Click on the Next Instance icon (or F10) to start the movement row through the Debugger

Notice the large Yellow arrow that appears on the Source Qualifier, sq_EMPLOYEE. This shows the focus of the debug action.

The smaller green arrow displaying a flashing yellow on the bottom of the Source Qualifier will continue to flash as long as rows are being read

Continue to press F10 and notice the focus of the debug change as row-by-row, each row moves from the sq_EMPLOYEE to the exp_ODS_EMPLOYEE

Examine the data in the Instance window and notice the pull-down list can be used to see a row in either of the two transformations in the mapping

Flipping back and forth between the sq_EMPLOYEE and the exp_ODS_EMPLOYEE shows how the data has been transformed. If it appears to be different records, then the Next Instance F10 needs to be pressed

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 128

Page 126: lab-guide

again to see the same row as it moves into the exp_ODS_EMPLOYEE – then flip back and forth to see how the record is transformed.

Try the ‘Step to Instance’ (Ctrl-F10) and watch each row through one transformation

Compare the data from one transformation to the next and determine where the mapping errors are

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 129

Page 127: lab-guide

Stop the Debugger

Once a decision has been made on where data mapping has gone wrong, stop the Debugger:

Click on the ‘Stop the Debugger’ icon. The Designer will ask for confirmation:

Click on Yes. The Debugger Server will shutdown and return to the normal Mapping Designer Workspace

Examine the mapping to see if the anticipated errors exist. It is not necessary to correct the mapping for this exercise. It was introduced to encourage its use for the remaining exercises to assist the learning process.

Debugger Breakpoints

Restart Debugger using exactly the same selections all the way to initialization (refer to the flagged steps Start Debugger on page 122)

Click on the Edit Breakpoint icon Select the sq_EMPLOYEE for the Instance Name at the top of

the Edit Breakpoints dialog box Click on the Add button in the Breakpoints: section towards the

bottom of the dialog box

Click on the Add a new column to this table icon in the Condition section in the middle of the dialog box

Select ‘<<ANY-PORT>>’ in the Ports Drop down list Select ‘ISNULL’ as the Operator

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 130

Page 128: lab-guide

Double check the parameters above and click OK to save the breakpoint

Click the Continue button

The Debugger will run through all of the rows until the first occurrence of a NULL is present. Note that two rows pass to the Target and then stops. With the sq_EMPLOYEE as the Instance, note the TYPE_CODE is NULL – there is a check in the NULL checkbox on the left.

Click the Continue button, again

Ten rows enter the target and the debugger stops. Again, the TYPE_CODE is NULL.

Click the Continue button, once again

NULL is not found in any other row – all rows continue to the target.

Click the Continue button, yet again for a final time, and the Debugger stops

Edit the Breakpoints

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 131

Page 129: lab-guide

Note the defined breakpoint is still present. Breakpoints may be edited even when the Debugger is not running. When a repository save is performed, any breakpoints defined will remain associated with the mapping until they are deleted.

Add additional breakpoints and experiment

Breakpoints may also be deactivated without being deleted – there is a checkbox to the left of the breakpoint. To see all of the Breakpoints, make sure ‘All Instances’ is selected at the top of the Edit Breakpoints Dialog box – from there it will be easier to determine which Breakpoints are needed for the debug run.

Informatica PowerMart / PowerCenter 6 Basics – Lab 8 – The Debugger 132

Page 130: lab-guide

LAB 9 – FLAT FILE WIZARD AND FILTER

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 A T I O N

30 minutes

S U M M A R Y

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.

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 133

Lab99

Page 131: lab-guide

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 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

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 134

Page 132: lab-guide

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 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

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 135

Import field names from first line

Page 133: lab-guide

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 136

Page 134: lab-guide

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 137

Page 135: lab-guide

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 32)

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.

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 138

Page 136: lab-guide

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 139

Page 137: lab-guide

Create Expression Transformation

Create an Expression Transformation (refer to the flagged step Create the Expression Transformation on page 38)

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 100

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

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 140

Page 138: lab-guide

Click on the Ports tab

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 141

Page 139: lab-guide

Highlight the third port, Quarter, then add the following ports,

each by clicking the Add Port button

PORT DATATYPE LENGTH PORT TYPEDATE_ID date/timestamp 19 (default) Output OnlyMONTH_out string 3 Output OnlyQUARTER_out string 2 Output OnlyYEAR_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 42).

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 FORMULADATE_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:

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 142

Page 140: lab-guide

Click on the OK button

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 143

Page 141: lab-guide

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_IDDAY_OF_WEEKMONTH_outQUARTER_outYEAR_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 = MONTHQUARTER_out = QUARTER YEAR_out = YEAR

Click on the Properties tab

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 144

Page 142: lab-guide

Click on the arrow on line 1 (Filter Condition) to the far right in the Value column to open the 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)

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 145

Click here to open Expression Editor

Page 143: lab-guide

Validate the mapping by selecting Mapping |Validate

Remember to view the Validate Tab in the Output window for the results.

Save

Completed Mapping

Create Workflow

Complete the following steps (refer to Start Workflow Manager on page 51)

Start Workflow Manager Connect to Repository Open Folder

Create Workflow, wf_ODS_TIME_xx, via Workflows | Create

Edit wf_ODS_TIME_xx Workflow: Properties tab, add the wf_ODS_TIME_xx.log as the

Workflow Log File Name Metadata Extensions tab, add creation date and your

name in the respective reusable metadata extensions Edit Start Task:

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 146

Page 144: lab-guide

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 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.

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 147

Expected Results

Page 145: lab-guide

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…

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 19.

Informatica PowerMart / PowerCenter 6 Basics – Lesson 9 – Flat File Wizard and Filter 148

Page 146: lab-guide

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 149

Page 147: lab-guide

LAB 10 – HETEROGENEOUS JOIN

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 A T I O N

35 minutes

S U M M A R Y

SOURCES: PRODUCT table, ORDER flat fileTARGET: ODS_ORDER_AMOUNT table

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

Lab1010

Page 148: lab-guide

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

Page 149: lab-guide

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 133)

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 153

Page 150: lab-guide

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 31.

Add target definition, ODS_ORDER _AMOUNT

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

Page 151: lab-guide

Save the mapping

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.

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 155

Navigator Window Toggle Button

Output Window Toggle Button

Page 152: lab-guide

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 156

Page 153: lab-guide

Port Precision (Width) for:

Ports PRODUCTORDERPRODUCT_CODE 10VENDOR_ID 10PRICE 10COST 10ORDER_DATE 11PRODUCT 10QUANTITY   1

Total Port Width 40 22Total 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

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

Page 154: lab-guide

Create an Expression Transformation called exp_ORDER_DATE 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

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

Page 155: lab-guide

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. 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)

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

Page 156: lab-guide

Save the mapping

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

Page 157: lab-guide

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 91)

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

Page 158: lab-guide

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

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

Page 159: lab-guide

Create Workflow called wf_ODS_ORDER_AMOUNT_xx Add wf_ODS_ORDER_AMOUNT_xx.log as the Workflow Log File

Name 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 163

Page 160: lab-guide

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

Page 161: lab-guide

Results – Session Transformation Statistics

Results – Preview Data

Only the first few rows are shown.

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

Page 162: lab-guide

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 A T I O N

20 minutes

S U M M A R Y

SOURCES: PRODUCT table, ORDER flat fileTARGET: ODS_ORDER_AMOUNT table

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

Lab1111

Page 163: lab-guide

Copy Mapping

The first step will be to copy the previous mapping Copy the mapping m_ODS_ORDER_AMOUNT_xx (See flagged

step Copy Mapping on page 115) 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

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

Page 164: lab-guide

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

Autolink by name srt_ODS_ORDER_AMOUNT to 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

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

Page 165: lab-guide

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 170

Page 166: lab-guide

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

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

Page 167: lab-guide

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 172

Page 168: lab-guide

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 173

Page 169: lab-guide

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 A T I O N

40 minutes

S U M M A R Y

SOURCE: INVOICE tableTARGET: ODS_CUSTOMER_ACTIVE table

Import Source Table

Clear Source Analyzer Workspace – Right-click anywhere in the workspace and select Clear All

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

Lab1212

Page 170: lab-guide

Continue to work in the assigned student folder and import the relational source, INVOICE

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

Page 171: lab-guide

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 177

Page 172: lab-guide

Create Filter Transformation

Create a Filter Transformation called fil_ODS_CUSTOMER_ACTIVE (see flagged step Create Filter Transformation on page 144)

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 178

Page 173: lab-guide

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:

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

Page 174: lab-guide

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 19)

Expand the SDBU Tables list and select the table CUSTOMER

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

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

Page 175: lab-guide

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 181

Page 176: lab-guide

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)

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

Page 177: lab-guide

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

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.

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

Page 178: lab-guide

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.

After selecting the Location Information, close the Edit Transformations Dialog Box and Save

Link Target Definition

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

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

Page 179: lab-guide

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

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

Page 180: lab-guide

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

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

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

Page 181: lab-guide

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

Only the first few rows are shown.

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

Page 182: lab-guide

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 A T I O N

25 minutes

S U M M A R Y

SOURCE: INVOICE tableTARGET: 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 115 for other methods of copying mappings)

Click yes to copy the mapping Add ‘_del’ to the mapping name before the student number, xx:

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

Lab1313

Page 183: lab-guide

Open the new mapping in the Workspace

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 144

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

Page 184: lab-guide

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'

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

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

Page 185: lab-guide

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 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

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

Page 186: lab-guide

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 193

Page 187: lab-guide

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 194

Page 188: lab-guide

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 A T I O N

30 minutes

S U M M A R Y

SOURCE: INVOICE tableTARGET: ODS_CUSTOMER_ACTIVE table

Copy Mapping

Copy the mapping m_ODS_CUSTOMER_ACTIVE_xx and name it m_ODS_CUSTOMER_ACTIVE_upd_xx

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

Lab1414

Page 189: lab-guide

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.

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 CodeIF (CUSTOMER_TYPE= ‘INACTIVE’ OR NULL THEN REJECT record ELSE INSERT record)

IIF statement logic:

Condition Action DescriptionCUSTOMER_TYPE = ‘INACTIVE’ or NULL (BLANK)

REJECT The CUSTOMER_TYPE is ‘INACTIVE’ or NULL (BLANK), it will be rejected.

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

Page 190: lab-guide

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.

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

Autolink by name the upd_ODS_CUSTOMER_ACTIVE Update Strategy to ODS_CUSTOMER_ACTIVE Target Definition

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

Page 191: lab-guide

Save

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

Page 192: lab-guide

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 199

Page 193: lab-guide

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 200

Page 194: lab-guide

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

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

Page 195: lab-guide

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

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

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

Page 196: lab-guide

Results – Extra Credit Session Properties

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

Page 197: lab-guide

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 204

Page 198: lab-guide

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 A T I O N

40 minutes

S U M M A R Y

SOURCES: VENDOR, PRODUCTTARGETS: ODS_PRODUCT

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

Lab

1515

Page 199: lab-guide

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

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

Page 200: lab-guide

Import the relational Target, ODS_PRODUCT

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 207

Page 201: lab-guide

Create Lookup Transformation - Connected

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

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

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

Page 202: lab-guide

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;

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

Page 203: lab-guide

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.

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 210

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

Page 204: lab-guide

Create Update Strategy Transformation

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

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

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

Page 205: lab-guide

database so the column names must match to avoid database errors at runtime.

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

Page 206: lab-guide

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 ISNULLDISCONTINUED_FLAG = 0

Insert The record was not found in lookup table and the product has not been discontinued, so the record will be inserted into target table.

LKP_PRODUCT_CODE NOT ISNULLDISCONTINUED_FLAG = 0

Update

The record was found in lookup table and the product has not been discontinued, so the record will update the target table.

LKP_PRODUCT_CODE NOT ISNULLDISCONTINUED_FLAG != 0

Delete The record was found in lookup table and the product has been discontinued, so the record will be deleted from target table.

LKP_PRODUCT_CODE ISNULLDISCONTINUED_FLAG != 0

Reject The record was not found in lookup table 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) THENIF DISCONTINUED_FLAG = 0 THEN

INSERT recordELSE

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

UPDATE recordELSE

DELETE record)

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

Page 207: lab-guide

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 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 214

Page 208: lab-guide

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

Page 209: lab-guide

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 216

Page 210: lab-guide

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:

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

Page 211: lab-guide

Results – Preview Data

ODS_PRODUCT

Only the first few rows are shown.

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

Page 212: lab-guide

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 A T 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.

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

Lab

1616

Page 213: lab-guide

Open the m_ODS_EMPLOYEE_xx Mapping 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.

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

Page 214: lab-guide

Double-click on the exp_ODS_EMPLOYEE result

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

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

Page 215: lab-guide

Enter the text to search for, in the Find box on the Standard toolbar. For example enter EMPLOY to locate an EMPLOYEE column

The search is not case-sensitive.

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

Find Next button Find Box

Page 216: lab-guide

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

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

Page 217: lab-guide

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

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

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

Page 218: lab-guide

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.

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)

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

Page 219: lab-guide

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

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.

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

Page 220: lab-guide

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 227

Page 221: lab-guide

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 228

Page 222: lab-guide

Click on the Compare button and view the Columns tab

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 229

Differences would appear in red

Page 223: lab-guide

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:

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

Page 224: lab-guide

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.

Arrange the mapping to the Normal View Select View | Overview Window

Drag the box around to reposition the mapping in the workspace

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

Page 225: lab-guide

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 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

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

Page 226: lab-guide

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 233

Page 227: lab-guide

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 234

Page 228: lab-guide

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 235

Page 229: lab-guide

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 A T I O N

30 minutes

S U M M A R Y

SOURCE: ODS_EMPLOYEETARGETS: ODS_EMPLOYEE_SALES, ODS_EMPLOYEE_NON_SALES,

ODS_EMPLOYEE_ROOKIE

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 237

Lab1717

Page 230: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 238

Page 231: lab-guide

Clear Warehouse Designer workspace Import the relational Targets, ODS_EMPLOYEE_SALES,

ODS_EMPLOYEE_NON_SALES 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

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 239

Page 232: lab-guide

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.

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 240

Page 233: lab-guide

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

For NON_SALES, check for TYPE_CODE of ‘ADMIN’ or ‘FIN’ or ‘MGR’.

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 or link by suffix – try both ways since there are three groups and target definitions.

Save

Completed Mapping

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 241

Page 234: lab-guide

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)

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)

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 242

Page 235: lab-guide

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 243

Page 236: lab-guide

Results – Session Properties

ODS_EMPLOYEE_SALES:

ODS_EMPLOYEE_NON_SALES

ODS_EMPLOYEE_ROOKIES

Informatica PowerMart / PowerCenter 6 Basics – Lab 17 – Router 244

Page 237: lab-guide

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 A T I O N

10 minutes

S U M M A R Y

SOURCE: INVOICETARGET: 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 245

Lab

1818

Page 238: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 18 – Straight Load 246

Page 239: lab-guide

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

Results – Session Properties

Results – Preview Data

ODS_INVOICE

Informatica PowerMart / PowerCenter 6 Basics – Lab 18 – Straight Load 247

Page 240: lab-guide

Informatica PowerMart / PowerCenter 6 Basics – Lab 18 – Straight Load 248

Page 241: lab-guide

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 A T I O N

30 minutes

S U M M A R Y

SOURCES: INVOICE, LINE_ITEM and PRODUCT TARGETS: ODS_LINE_ITEM

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 249

Lab

1919

Page 242: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 250

Page 243: lab-guide

Add Sources and Target

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 207 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 251

Page 244: lab-guide

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 252

Page 245: lab-guide

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 253

Page 246: lab-guide

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.

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 254

Page 247: lab-guide

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

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:

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 255

Page 248: lab-guide

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

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 CreateLookup Transformation - Connected step on starting on page 208.

Click the Return Port attribute for the DISCOUNT_RATE

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 256

Page 249: lab-guide

On the Properties tab, change the Location Information to native_target_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 257

Page 250: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 258

Page 251: lab-guide

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 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 ORDISCOUNT > $$MAX_RATE,:LKP.lkp_ODS_CUSTOMER_ACTIVE(CUST_NO),

DISCOUNT) Validate and save to the repository

Link Target Definition

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 259

Page 252: lab-guide

Link exp_ODS_LINE_ITEM to ODS_LINE_ITEM Save

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 260

Page 253: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 261

Page 254: lab-guide

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 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 262

Page 255: lab-guide

Informatica PowerMart / PowerCenter 6 Basics – Lab 19 – Conditional Lookup 263

Page 256: lab-guide

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 264

Page 257: lab-guide

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 A T I O N

15 minutes

S U M M A R Y

SOURCE: ODS_EMPLOYEETARGETS: ODS_EMPLOYEE_SALES, ODS_EMPLOYEE_NON_SALES,

FF_EMPLOYEE_INVALID_xx

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 265

Lab2020

Page 258: lab-guide

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 266

Page 259: lab-guide

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 267

Page 260: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 268

Page 261: lab-guide

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

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 269

Page 262: lab-guide

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 270

Page 263: lab-guide

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 271

Page 264: lab-guide

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 A T I O N

30 minutes

S U M M A R Y

SOURCE: ODS_INVOICE, ODS_LINE_ITEMTARGETS: 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

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 272

Lab2121

Page 265: lab-guide

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.

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 273

Page 266: lab-guide

Choose Mapplets | Create and name it mplt_PROFIT_PERCENT

Informatica PowerMart / PowerCenter 6 Basics – Lab 20 – Heterogeneous Targets 274

Page 267: lab-guide

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 275

Page 268: lab-guide

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 expressionSUM(((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 276

Page 269: lab-guide

Informatica PowerMart / PowerCenter 6 Basics – Lab 21 – Mapplets 277

Page 270: lab-guide

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 278

Page 271: lab-guide

Informatica PowerMart / PowerCenter 6 Basics – Lab 21 – Mapplets 279

Page 272: lab-guide

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 A T I O N

75 minutes

S U M M A R Y

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 281

Lab2222

Page 273: lab-guide

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 282

Page 274: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 283

Page 275: lab-guide

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 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

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 284

Page 276: lab-guide

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 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.

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 285

Page 277: lab-guide

.

Edit agg_3_ID_SUM_BY_MTH

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 286

Page 278: lab-guide

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 287

Page 279: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 288

Page 280: lab-guide

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 289

Page 281: lab-guide

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 290

Page 282: lab-guide

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 291

Page 283: lab-guide

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 292

Page 284: lab-guide

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.

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 293

Page 285: lab-guide

Save the mapping and rerun s_m_ODS_TIME_xx Rerun the workflow wf_PROFIT_PERIODIC_xx and check the

results

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 294

Page 286: lab-guide

Informatica PowerMart / PowerCenter 6 Basics – Lab 22 – Reusable Transformations 295

Page 287: lab-guide

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 296

Page 288: lab-guide

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 A T I O N

30 minutes

S U M M A R Y

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.

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 297

Lab2323

Page 289: lab-guide

Import DIM_PRODUCT as a Target Definition Save the Repository

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

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 298

Page 290: lab-guide

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 299

Page 291: lab-guide

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

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 300

Page 292: lab-guide

In the exp_DIM_PRODUCT, make the PRODUCT_NAME and MODEL ports Input Only Ports

Rename NEXTVAL port to PRODUCT_SEQUENCE Add a port after PRODUCT_SEQUENCE port rename it

PRODUCT_NAME_MODEL

Add the following expression to PRODUCT_NAME_MODELPRODUCT_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

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 301

Page 293: lab-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”

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

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 302

Page 294: lab-guide

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

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

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 303

Page 295: lab-guide

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

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

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 304

Page 296: lab-guide

Results – Session Properties

Results – Session Transformation Statistics

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 305

Page 297: lab-guide

Results – Preview Data

Informatica PowerMart / PowerCenter 6 Basics –Lab 23 – Dynamic Lookup 306

Page 298: lab-guide

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 A T I O N

30 minutes

S U M M A R Y

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

Informatica PowerMart / PowerCenter 6 Basics –Lab 24 – Sequential Workflow 307

Lab2424

Page 299: lab-guide

Create Workflow

If this training environment was a true Development, QA or Production environment with enough processing power 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

Informatica PowerMart / PowerCenter 6 Basics –Lab 24 – Sequential Workflow 308

Page 300: lab-guide

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 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

Informatica PowerMart / PowerCenter 6 Basics –Lab 24 – Sequential Workflow 309

Page 301: lab-guide

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 310

Page 302: lab-guide

INDEX

Aggregator Transformation

Create...............................127Purpose.............................127

Autolinkby Name..............................72by Name & Prefix or Suffix. .74by Position...........................75

ColumnsCopy & Link.........................79

DebuggerNext Instance....................102Start....................................97Step to Instance................102Stop...................................104

DesignerFind...................................175Find in Workspace.............175Find Next...........................177Start....................................11Using Shortcuts178, 180, 185, 186

ExpressionCreate formula....................33

Expression transformationPurpose...............................31

Filter TransformationCreate / Edit......114, 117, 134

Flat FileAnalyze.............................107

Flat File WizardPurpose.............................107

FolderCreate...............................7, 8Expanded............................12Open...................................11

Joiner TransformationCreate...............................124Purpose.............................125

Lookup TransformationCache File Name Prefix.....227

Connected and Unconnected..........................................142Create Connected.....141, 191Create Unconnected. 206, 211Dynamic Cached Lookup...242Persistent..........................227Recache from Database....227

MappingCopy..............................90, 91Create.........................26, 165Debug...............................103Edit......................................96Validation............................37

Mapping DesignerOpen...................................25

Mapping ParameterPurpose.............................204Using.................................209

MappletCreate...............................220Description........................220

Mapplet Designer...........220Metadata Extensions

Create.................................44Non-reusable.......................18Purpose...............................18Reusable.............................18

Output TransformationCreate...............................223Purpose.............................223

PortsDefinition.............................30Modify or Add......................33

RepositoryConnect to.............................7Revert to Saved...............70Save....................................20

Repository ManagerClose.....................................9Start......................................7

Informatica PowerMart / PowerCenter 6 Basics – Index 311

Page 303: lab-guide

Router TransformationPurpose.............................191

Sequence Generator Transformation

Create...............................241Session

Properties............................61Status..................................61

Session LogView....................................63

Session TaskCreate.................................46Edit......................................47

ShortcutCreate...............................187Purpose.....178, 180, 185, 186

Source AnalyzerOpen...................................13

Source Qualifier Transformation

Purpose...............................29Sources

Analyze...............................15Edit definition......................17Organize..............................27

TargetsImport Definitions...............22

TaskLink.....................................50Session................................46

TransformationAggregator........................127Create.................................81Expression...........................30Filter..................114, 117, 134

Joiner.................................124Lookup......................141, 191Output...............................223Passive vs. Active................31Reusable...........................229Sequence Generator.........241Source Qualifier..................29Update Strategy................155

Transformation DeveloperOpen.................................231Purpose.............................229

Update Strategy Transformation

Create...............................155Forward Rejected Rows.....171

Warehouse DesignerOpen...................................21

WorkflowEdit......................................44Log......................................44Start....................................55Validate...............................51

Workflow ManagerStart............................41, 107

Workflow MonitorClose...................................54Gantt Chart.........................56Initialize...............................56Open...................................56Purpose...............................60Task View............................57

WorkspaceClear..............................19, 89

Zoom and scale-to-fitHow to...........................83, 86

Informatica PowerMart / PowerCenter 6 Basics – Index 312