informatica official

download informatica official

of 289

Transcript of informatica official

  • 8/7/2019 informatica official

    1/289

    1

    Informatica PowerCenter 7 LevelI Developer

    Education ServicesVersion PC7LID-20050301

    Informatica Corporation, 2003 - 2004. All rights reserved.

  • 8/7/2019 informatica official

    2/289

    Introduction

  • 8/7/2019 informatica official

    3/289

    3

    By the end of this course you will:

    Understand how to use the major PowerCentercomponents for development

    Be able to build basic ETL mappings and mapplets* Be able to create, run and monitor workflows

    Understand available options for loading target data

    Be able to troubleshoot most problems

    Note: The course does not cover PowerCenter optionalfeatures or XML support.

    Course Objectives

    * A mapplet is a subset of a mapping

  • 8/7/2019 informatica official

    4/289

    4

    Founded in 1993

    Leader in enterprise solution products

    Headquarters in Redwood City, CA

    Public company since April 1999 (INFA)

    2000+ customers, including over 80% ofFortune 100

    Strategic partnerships with IBM, HP, Accenture, SAP,

    and many others Worldwide distributorship

    About Informatica

  • 8/7/2019 informatica official

    5/289

    5

    Informatica Products

    PowerCenter ETL batch and real-time data integration

    PowerAnalyzer BI reporting web-browser interface with reports,dashboards, indicators, alerts; handles real-time

    metricsSuperGlue* Centralized metadata browsing cross-enterprise,

    including PowerCenter, PowerAnalyzer, DBMS,BI tools, and data modeling tools

    PowerExchange Data access to mainframe, mid-size system and

    complex filesPowerCenterConnect products

    Data access to transactional applications andreal-time services

    * Uses PowerCenter to extract metadata and PowerAnalyzer to display reports

  • 8/7/2019 informatica official

    6/289

    6

    www.informatica.com provides information (under Services) on: Professional Services

    Education Services

    my.informatica.com sign up to access:

    Technical Support

    Product documentation (under Tools online documentation)

    Velocity Methodology (under Services)

    Knowledgebase

    Webzine

    Mapping templates devnet.informatica.com sign up for Informatica Developers Network

    Discussion forums

    Web seminars

    Technical papers

    Informatica Resources

  • 8/7/2019 informatica official

    7/289

    7

    Informatica offers three distinct Certification titles:

    Exam A: Architecture and Administration Exam C: Advanced Administration

    Exam A: Architecture and Administration Exam B: Mapping Design Exam D: Advanced Mapping Design

    Exams A, B, C, D plus

    Exam E: Enablement Technologies

    For more information and to register to take an exam:http://www.informatica.com/services/Education+Services/Professional+Certification/

    Informatica Professional Certification

  • 8/7/2019 informatica official

    8/289

    8

    Extract, Transform and Load

    Transaction level data

    Optimized for transactionresponse time

    Current

    Normalized or

    De-normalized data

    Operational Systems

    MainframeRDBMS Other

    Aggregated data

    Historical data

    Decision Support

    Data

    Warehouse

    ETL Load

    Transform

    Extract

    Aggregate data Cleanse data Consolidate data Apply business rules De-normalize data

  • 8/7/2019 informatica official

    9/289

    9

    PowerCenter Client Tools

    Repository Designer Workflow Workflow Rep ServerManager Manager Monitor Administration

    Console

    Manage repository: Connections Folders

    Objects Users and groups

    Administer repositories on aRepository Server: Create/upgrade/delete

    Configuration Start/stop Backup/restore

    Build ETLmappings

    Build and startworkflows torun mappings

    Monitorand startworkflows

  • 8/7/2019 informatica official

    10/289

    10

    PowerCenter 7 Architecture

    Not Shown: Client ODBC connections from Designer to sources and targets for metadata

    TargetsSources

    Native Native

    TCP/IP

    HeterogeneousTargets

    Repository

    RepositoryServer

    RepositoryAgent

    TCP/IP

    Native

    Informatica Server

    HeterogeneousSources

    Repository Designer Workflow Workflow Rep ServerManager Manager Monitor Administrative

    Console

  • 8/7/2019 informatica official

    11/289

    11

    Distributed Architecture and Platforms

    The following components can be distributed across anetwork of host computers: Clients Tools

    PowerCenter Servers

    Repository Servers Repository Databases

    Sources and Targets

    Platforms: Client tools run on Windows Servers run on AIX, HP-UX, Solaris, Redhat Linux, Windows

    Repositories on any major RDBMS

  • 8/7/2019 informatica official

    12/289

    12

    Design and Execution Process

    1. Create Source definition(s)

    2. Create Target definition(s)

    3. Create a Mapping

    4. Create a Session Task

    5. Create a Workflow with Task components

    6. Run the Workflow and verify the results

  • 8/7/2019 informatica official

    13/289

    13

    Demonstration

  • 8/7/2019 informatica official

    14/289

    Source Object Definitions

  • 8/7/2019 informatica official

    15/289

    15

    Source Object Definitions

    By the end of this section you will:

    Be familiar with the Designer interface

    Be familiar with Source Types

    Be able to create Source Definitions

    Understand Source Definition properties

    Be able to use the Data Preview option

  • 8/7/2019 informatica official

    16/289

    16

    Import from: Relational database Flat file XML object

    Create manually

    Methods ofAnalyzing Sources

    Source Analyzer

    Repository

    RepositoryServer

    Repository Agent

    TCP/IP

    DEF

    Native

  • 8/7/2019 informatica official

    17/289

    17

    Analyzing Relational Database Sources

    Table View Synonym

    Relational DB Source

    DEF

    Source Analyzer

    ODBC

    Repository

    RepositoryServer

    Repository Agent

    TCP/IP

    DEF

    Native

  • 8/7/2019 informatica official

    18/289

    18

    Analyzing Relational Database Sources

    Editing Source Definition Properties

  • 8/7/2019 informatica official

    19/289

    19

    Analyzing Flat File Sources

    Mapped Drive NFS Mount Local Directory DEF

    Fixed Width Delimited

    Flat FileSource Analyzer

    Repository

    RepositoryServer

    Repository Agent

    TCP/IP

    DEF

    Native

  • 8/7/2019 informatica official

    20/289

    20

    Flat File Wizard

    Three-stepwizard

    Columns canbe renamed

    within wizard

    Text, Numericand Datetimedatatypes are

    supported Wizard

    guessesdatatype

  • 8/7/2019 informatica official

    21/289

    21

    Flat File Source Properties

  • 8/7/2019 informatica official

    22/289

    22

    Analyzing XML Sources

    DEF

    XML Schema (XSD),DTD or XML File

    DATA

    Source Analyzer

    Repository

    RepositoryServer

    Repository Agent

    TCP/IP

    DEF

    Native

    Mapped Drive NFS Mounting Local Directory

  • 8/7/2019 informatica official

    23/289

    23

    Data Previewer

    Preview data in Relational database sources

    Flat file sources

    Relational database targets

    Flat file targets

    Data Preview Option is available in Source Analyzer

    Warehouse Designer

    Mapping Designer

    Mapplet Designer

  • 8/7/2019 informatica official

    24/289

    24

    Using Data Previewer in Source Analyzer

    Data Preview Example From Source Analyzer,select Source drop downmenu, then Preview Data

    Enter connection informationin the dialog box

    A right mouse click on the object can also be used to preview data

  • 8/7/2019 informatica official

    25/289

    25

    Using Data Previewer in Source Analyzer

    Data Preview Results

    DataDisplay

    View upto 500rows

  • 8/7/2019 informatica official

    26/289

    26

    Metadata Extensions

    Allows developers and partners to extend themetadata stored in the Repository

    Metadata extensions can be:

    User-defined PowerCenter users can define and createtheir own metadata

    Vendor-defined Third-party application vendor-createdmetadata lists

    For example, applications such as Ariba or PowerCenter Connect

    for Siebel can add information such as contacts, version, etc.

  • 8/7/2019 informatica official

    27/289

  • 8/7/2019 informatica official

    28/289

    28

    Example Metadata Extension for a Source

    Sample User DefinedMetadata, e.g. contact

    information, business user

  • 8/7/2019 informatica official

    29/289

    Target Object Definitions

  • 8/7/2019 informatica official

    30/289

    30

    Target Object Definitions

    By the end of this section you will:

    Be familiar with Target Definition types

    Know the supported methods of creating TargetDefinitions

    Understand individual Target Definition properties

  • 8/7/2019 informatica official

    31/289

    31

    Creating Target Definitions

    Methods of creating Target Definitions

    Import from relational database

    Import from XML object

    Create automatically from a source definition

    Create manually (flat file or relational

    database)

  • 8/7/2019 informatica official

    32/289

    32

    Import Definition from Relational Database

    Can obtain existing object definitions from a databasesystem catalog or data dictionary

    TableViewSynonym

    WarehouseDesigner

    Relational DB

    DEF

    ODBC

    Repository

    RepositoryServer

    Repository Agent

    TCP/IP

    DEF

    Native

  • 8/7/2019 informatica official

    33/289

    33

    Import Definition from XML Object

    Can infer existing object definitions from a databasesystem catalog or data dictionary

    WarehouseDesigner

    Repository

    RepositoryServer

    Repository Agent

    TCP/IP

    DEF

    Native

    DEF

    DTD, XML Schema orXML File

    DATA

    Mapped Drive NFS Mounting Local Directory

  • 8/7/2019 informatica official

    34/289

    34

    Creating Target Automatically from Source

    Drag-and-dropa SourceDefinition intothe WarehouseDesigner

    Workspace

  • 8/7/2019 informatica official

    35/289

    35

    Target Definition Properties

  • 8/7/2019 informatica official

    36/289

    36

    Lab 1 Define Sources and Targets

  • 8/7/2019 informatica official

    37/289

    Mappings

  • 8/7/2019 informatica official

    38/289

    38

    Mappings

    By the end of this section you will be familiar with:

    The Mapping Designer interface

    Transformation objects and views Source Qualifier transformation

    The Expression transformation

    Mapping validation

  • 8/7/2019 informatica official

    39/289

    39

    Mapping Designer

    Iconized Mapping

    Mapping List

    Transformation Toolbar

  • 8/7/2019 informatica official

    40/289

    40

    Transformations Objects Used in This Class

    Source Qualifier: reads data from flat file & relational sources

    Expression: performs row-level calculations

    Filter: drops rows conditionally

    Sorter: sorts data

    Aggregator: performs aggregate calculations

    Joiner: joins heterogeneous sources

    Lookup: looks up values and passes them to other objects

    Update Strategy: tags rows for insert, update, delete, reject

    Router: splits rows conditionally

    Sequence Generator: generates unique ID values

  • 8/7/2019 informatica official

    41/289

    41

    Other Transformation Objects

    Normalizer: normalizes records from relational or VSAM sources

    Rank: filters the top or bottom range of records

    Union: merges data from multiple pipelines into one pipeline

    Transaction Control: allows user-defined commits

    Stored Procedure: calls a database stored procedure

    External Procedure : calls compiled code for each row

    Custom: calls compiled code for multiple rows

    Midstream XML Parser: reads XML from database table or message queue

    Midstream XML Generator: writes XML to database table or message queue

    More Source Qualifiers: read from XML, message queues andapplications

  • 8/7/2019 informatica official

    42/289

  • 8/7/2019 informatica official

    43/289

    43

    Source Qualifier Transformation

    Ports All input/output

    Usage Convert datatypes For relational sources:

    Modify SQL statementUser Defined JoinSource FilterSorted portsSelect DISTINCTPre/Post SQL

    Represents the source record set queried by theServer. Mandatory in Mappings using relational orflat file sources

  • 8/7/2019 informatica official

    44/289

    44

    Source Qualifier Properties

    User can modify SQL SELECT statement (DB sources)

    Source Qualifier can join homogenous tables

    User can modify WHERE clause

    User can modify join statement

    User can specify ORDER BY(manually orautomatically)

    Pre- and post-SQL can be provided SQL properties do not apply to flat file sources

  • 8/7/2019 informatica official

    45/289

    45

    Pre-SQL and Post-SQL Rules

    Can use any command that is valid for the databasetype; no nested comments

    Use a semi-colon (;) to separate multiple statements

    Informatica Server ignores semi-colons within singlequotes, double quotes or within /* ...*/

    To use a semi-colon outside of quotes or comments,escape it with a back slash (\)

  • 8/7/2019 informatica official

    46/289

    46

    Expression Transformation

    Ports Mixed Variables allowed

    Create expression in anoutput or variable port

    Usage Perform majority of

    data manipulation

    Perform calculations using non-aggregate functions(row level)

    Click here to invoke theExpression Editor

  • 8/7/2019 informatica official

    47/289

    47

    Expression Editor

    An expression formula is a calculation or conditional statement for aspecific port in a transformation

    Performs calculation based on ports, functions, operators, variables,constants and return values from other transformations

  • 8/7/2019 informatica official

    48/289

    48

    Expression Validation

    The Validate or OK button in the Expression Editor will:

    Parse the current expression

    Remote port searching (resolves references to ports in

    other transformations) Parse default values

    Check spelling, correct number of arguments in functions,other syntactical errors

  • 8/7/2019 informatica official

    49/289

    49

    CharacterFunctions

    Used to manipulate character data

    CHRCODE returns the numeric value

    (ASCII orU

    nicode) of the first character ofthe string passed to this function

    CONCAT is for backward compatibility only.Use || instead

    ASCIICHRCHRCODECONCATINITCAPINSTR

    LENGTHLOWERLPADLTRIMREPLACECHRREPLACESTRRPAD

    RTRIMSUBSTRUPPER

    Informatica FunctionsCharacter

  • 8/7/2019 informatica official

    50/289

  • 8/7/2019 informatica official

    51/289

    51

    Informatica Functions Data Cleansing

    INSTRIS_DATEIS_NUMBERIS_SPACESISNULLLTRIMMETAPHONE

    REPLACECHRREPLACESTRRTRIMSOUNDEXSUBSTRTO_CHARTO_DATETO_DECIMALTO_FLOATTO_INTEGER

    Used to process data during datacleansing

    METAPHONE and SOUNDEX createindexes based on Englishpronunciation (2 different standards)

  • 8/7/2019 informatica official

    52/289

    52

    Date Functions

    Used to round, truncate, orcompare dates; extract one part

    of a date; or perform arithmeticon a date

    To pass a string to a datefunction, first use the TO_DATE

    function to convert it to andate/time datatype

    ADD_TO_DATEDATE_COMPAREDATE_DIFFGET_DATE_PARTLAST_DAYROUND (Date)

    SET_DATE_PARTTO_CHAR (Date)TRUNC (Date)

    Informatica Functions Date

  • 8/7/2019 informatica official

    53/289

  • 8/7/2019 informatica official

    54/289

    54

    Informatica Functions Special and Test

    ABORTDECODE

    ERRORIIFLOOKUP

    IIF(Condition,True,False)

    IS_DATE

    IS_NUMBERIS_SPACESISNULL

    Test Functions

    Used to test if a lookup result is null Used to validate data

    Special Functions

    Used to handle specific conditionswithin a session; search for certainvalues; test conditional statements

  • 8/7/2019 informatica official

    55/289

    55

    Variable Ports

    Use to simplify complex expressions e.g. create and store a depreciation formula to be

    referenced more than once

    Use in another variable port or an output port expression

    Local to the transformation (a variable port cannot also be aninput or output port)

  • 8/7/2019 informatica official

    56/289

    56

    Variable Ports (contd)

    Use for temporary storage

    Variable ports can remember values across rows; useful forcomparing values

    Variables are initialized (numeric to 0, string to ) when the Mappinglogic is processed

    Variables Ports are not visible in Normal view, only in Edit view

  • 8/7/2019 informatica official

    57/289

    57

    Default Values Two Usages

    For input and I/O ports, default values are used to replace nullvalues

    For output ports, default values are used to handle transformationcalculation errors (not-null handling)

    Defaultvalue for theselectedport

    Selectedport Validate the

    defaultvalue

    expression

    ISNULL functionis not required

  • 8/7/2019 informatica official

    58/289

    58

    Informatica Datatypes

    Transformation datatypes allow mixandmatch of source and target database types When connecting ports, native and transformation datatypes must be compatible

    (or must be explicitly converted)

    NATIVE DATATYPES TRANSFORMATION DATATYPESSpecific to the source and targetdatabase types

    PowerCenter internal datatypes

    Display in source and target tableswithin Mapping Designer

    Display in transformations withinMapping Designer

    Native NativeTransformation

  • 8/7/2019 informatica official

    59/289

    59

    Datatype Conversions within PowerCenter

    Data can be converted from one datatype to another by: Passing data between ports with different datatypes

    Passing data from an expression to a port

    Using transformation functions

    Using transformation arithmetic operators

    Only conversions supported are:

    Numeric datatypesm Other numeric datatypes

    Numeric datatypesm String

    Date/Timem

    Date or String For further information, see the PowerCenter Client Help > Index

    > port-to-port data conversion

  • 8/7/2019 informatica official

    60/289

    60

    Mapping Validation

  • 8/7/2019 informatica official

    61/289

    61

    Connection Validation

    Examples of invalid connections in a Mapping:

    Connecting ports with incompatible datatypes

    Connecting output ports to a Source

    Connecting a Source to anything but a SourceQualifier or Normalizer transformation

    Connecting an output port to an output port or

    an input port to another input port

  • 8/7/2019 informatica official

    62/289

    62

    Mapping Validation

    Mappings must:

    Be valid for a Session to run

    Be end-to-end complete and contain valid expressions

    Pass all data flow rules

    Mappings are always validated when saved; can be validatedwithout being saved

    Output Window displays reason for invalidity

  • 8/7/2019 informatica official

    63/289

    63

    Lab 2 Create a Mapping

  • 8/7/2019 informatica official

    64/289

    Workflows

  • 8/7/2019 informatica official

    65/289

    65

    Workflows

    By the end of this section, you will be familiar with:

    The Workflow Manager GUI interface

    Creating and configuring Workflows

    Workflow properties

    Workflow components

    Workflow tasks

  • 8/7/2019 informatica official

    66/289

    66

    Workflow Manager Interface

    TaskTool Bar

    OutputWindow

    Navigator

    Window

    Workspace

    StatusBar

    WorkflowDesignerTools

  • 8/7/2019 informatica official

    67/289

    67

    Workflow Designer

    Maps the execution order and dependencies of Sessions,Tasks and Worklets, for the Informatica Server

    Task Developer Create Session, Shell Command and Email tasks

    Tasks created in the Task Developer are reusable

    Worklet Designer

    Creates objects that represent a set of tasks

    Worklet objects are reusable

    Workflow Manager Tools

  • 8/7/2019 informatica official

    68/289

    68

    Workflow Structure

    A Workflowis set of instructions for the InformaticaServer to perform data transformation and load

    Combines the logic of Session Tasks, other types ofTasks and Worklets

    The simplest Workflow is composed of a Start Task, aLink and one other Task

    StartTask

    SessionTask

    Link

  • 8/7/2019 informatica official

    69/289

  • 8/7/2019 informatica official

    70/289

    70

    Eight additional Tasks are available in the Workflow Designer(coveredlater)

    Command

    Email

    Decision

    Assignment

    Timer

    Control

    Event Wait

    Event Raise

    Additional Workflow Tasks

  • 8/7/2019 informatica official

    71/289

    71

    Sample Workflow

    Start Task(required)

    Session 1

    Session 2

    CommandTask

  • 8/7/2019 informatica official

    72/289

    72

    Sequential and Concurrent Workflows

    Sequential

    Concurrent Combined

    Note: Although only session tasks are shown, can be any tasks

  • 8/7/2019 informatica official

    73/289

    73

    Creating a Workflow

    CustomizeWorkflow name

    Select aServer

  • 8/7/2019 informatica official

    74/289

    74

    Workflow Properties

    Customize WorkflowProperties

    Workflow log displays

    May be reusable ornon-reusable

    Select a WorkflowSchedule (optional)

  • 8/7/2019 informatica official

    75/289

    75

    Workflow Scheduler

    Set and customize workflow-specific schedule

  • 8/7/2019 informatica official

    76/289

    76

    Workflow Metadata Extensions

    Metadata Extensions providefor additional user data

  • 8/7/2019 informatica official

    77/289

    77

    Workflow Links

    Required to connect Workflow Tasks

    Can be used to create branches in a Workflow

    All links are executed unless a link condition is used whichmakes a link false

    Link 2

    Link 1 Link 3

  • 8/7/2019 informatica official

    78/289

    78

    Conditional Links

    Optional linkcondition

    $taskname.STATUSis a pre-defined

    task variable

  • 8/7/2019 informatica official

    79/289

    79

    Workflow Variables 1

    Task-specificvariables

    Built-in systemvariables

    Used in decision tasks and conditional links edit task or link:

    User-defined variables(see separate slide)

    Pre-defined variables

  • 8/7/2019 informatica official

    80/289

    80

    User-defined variables are set in Workflow properties,Variables tab can persist across sessions

    Can be reset inan Assignment task

    Workflow Variables 2

  • 8/7/2019 informatica official

    81/289

    81

    Workflow Summary

    1. Add Sessions and other Tasks to the Workflow

    2. Connect all Workflow components with Links

    3. Save the Workflow

    Sessions in a Workflow can be executed independently

    4. Start the Workflow

  • 8/7/2019 informatica official

    82/289

    Session Tasks

  • 8/7/2019 informatica official

    83/289

    83

    Session Tasks

    After this section, you will be familiar with:

    How to create and configure Session Tasks

    Session Task source and target properties

  • 8/7/2019 informatica official

    84/289

    84

    Created to execute the logic of a mapping (onemapping only)

    Session Tasks can be created in the Task Developer(reusable) or Workflow Developer(Workflow-specific)

    To create a Session Task

    Select the Session button from the Task Toolbar

    OrSelect menu Tasks | Create and select Session fromthe drop-down menu

    Creating a Session Task

  • 8/7/2019 informatica official

    85/289

    85

    Session Task Properties and Parameters

    Session Task

    Sessionparameter

    Properties Tab

    Parameter file

  • 8/7/2019 informatica official

    86/289

    86

    Session Task Setting Source Properties

    Set

    properties

    Session Task

    Selectsource

    instance

    Mapping Tab

    Setconnection

  • 8/7/2019 informatica official

    87/289

    87

    Session Task Setting Target Properties

    Note: Heterogeneous targetsare supported

    Session Task

    Select target

    instance

    Mapping Tab

    Set properties

    Set connection

  • 8/7/2019 informatica official

    88/289

  • 8/7/2019 informatica official

    89/289

    89

    Monitoring Workflows

    By the end of this section you will be familiar with:

    The Workflow Monitor GUI interface

    Monitoring views

    Server monitoring modes

    Filtering displayed items

    Actions initiated from the Workflow Monitor

    Truncating Monitor Logs

  • 8/7/2019 informatica official

    90/289

    90

    Workflow Monitor

    The Workflow Monitor is the tool for monitoringWorkflows and Tasks

    Choose between two views:

    Gantt chart

    Task view

    Gantt Chart view Task view

  • 8/7/2019 informatica official

    91/289

    91

    Monitoring Current and Past Workflows

    The Workflow Monitor displays only workflowsthat have been run

    Displays real-time information from theInformatica Server and the Repository Server

    about current workflow runs

  • 8/7/2019 informatica official

    92/289

    92

    Monitoring Operations

    Perform operations in the Workflow Monitor Stop, Abort, or Restart a Task, Workflow or Worklet Resume a suspended Workflow after a failed Task is

    corrected

    Reschedule orUnschedule a Workflow

    View Session and Workflow logs

    Abort has a 60 second timeout If the Server has not completed processing and

    committing data during the timeout period, the threadsand processes associated with the Session are killed

    Stopping a Session Task means the Server stops reading data

  • 8/7/2019 informatica official

    93/289

    93

    Monitoring in Task View

    Start Completion

    Task Server Workflow Worklet Time Time

    Status Bar

    Start, Stop, Abort, ResumeTasks,Workflows and Worklets

  • 8/7/2019 informatica official

    94/289

    94

    Filtering in Task View

    Monitoring filterscan be set usingdrop down menus.Minimizes itemsdisplayed inTask View

    Right-click on Session to retrieve theSession Log (from the Server to thelocal PC Client)

  • 8/7/2019 informatica official

    95/289

    95

    Filter Toolbar

    Display recent runs

    Filter tasks by specified criteria

    Select servers to filter

    Select type of tasks to filter

    T i W kfl M i L

  • 8/7/2019 informatica official

    96/289

    96

    Truncating Workflow Monitor Logs

    Workflow Monitor

    Repository Manager

    Repository ManagersTruncate Log optionclears the WorkflowMonitor logs

  • 8/7/2019 informatica official

    97/289

    97

    Lab 3 Create and Run a Workflow

  • 8/7/2019 informatica official

    98/289

    98

    Lab 4 Features and Techniques I

  • 8/7/2019 informatica official

    99/289

    Debugger

    D b

  • 8/7/2019 informatica official

    100/289

    100

    Debugger

    By the end of this section you will be familiar with:

    Creating a Debug Session

    Debugger windows and indicators

    Debugger functionality and options

    Viewing data with the Debugger

    Setting and using Breakpoints

    Tips for using the Debugger

    D b F t

  • 8/7/2019 informatica official

    101/289

    101

    Debugger Features

    Wizard driven tool that runs a test session

    View source / target data

    View transformation data

    Set breakpoints and evaluate expressions

    Initialize variables

    Manually change variable values

    Data can be loaded or discarded

    Debug environment can be saved for later use

    D b I t f

  • 8/7/2019 informatica official

    102/289

    102

    Debugger Interface

    Target Instancewindow

    TransformationInstance

    Data window

    Flashingyellow

    SQLindicator

    Debugger Modeindicator

    Solid yellowarrow is current

    transformationindicator

    Output Window Debugger Log

    EditBreakpoints

    S t B k i t

  • 8/7/2019 informatica official

    103/289

    103

    Set Breakpoints

    2. Choose global orspecific transformation

    3. Choose to break on

    data condition or error.Optionally skip rows.

    4. Add breakpoint(s)

    5. Add data conditions

    1. Edit breakpoint

    6. Continue (to next breakpoint)

    D b Ti

  • 8/7/2019 informatica official

    104/289

    104

    Server must be running before starting a Debug Session

    When the Debugger is started, a spinning icon displays.Spinning stops when the Debugger Server is ready

    The flashing yellow/green arrow points to the current activeSource Qualifier. The solid yellow arrow points to the currentTransformation instance

    Debugger Tips

    Next Instance proceeds a single step at a time; onerow moves from transformation to transformation

    Step to Instance examines one transformation at atime, following successive rows through the sametransformation

  • 8/7/2019 informatica official

    105/289

    105

    Lab 5 The Debugger

  • 8/7/2019 informatica official

    106/289

    Filter Transformation

    Filter Transformation

  • 8/7/2019 informatica official

    107/289

    107

    Ports All input / output

    Specify a Filter condition

    Usage Filter rows from

    input flow

    Drops rows conditionally

    Filter Transformation

  • 8/7/2019 informatica official

    108/289

    108

    Lab 6 Flat File Wizard and Filter

    Transformation

  • 8/7/2019 informatica official

    109/289

    Sorter Transformation

  • 8/7/2019 informatica official

    110/289

    Sorter Transformation

  • 8/7/2019 informatica official

    111/289

    111

    Sorter Transformation

    Sorts data from any source, at any point in a data flow

    Ports Input/Output Define one or more

    sort keys Define sort order for

    each key

    Example ofUsage Sort data before

    Aggregator to improve

    performance

    Sort Keys

    Sort Order

    Sorter Properties

  • 8/7/2019 informatica official

    112/289

    112

    Sorter Properties

    Cache size can be

    adjusted. Default is 8 Mb. Ensure sufficient memoryis available on theInformatica Server (elseSession Task will fail)

  • 8/7/2019 informatica official

    113/289

    Aggregator Transformation

    Aggregator Transformation

  • 8/7/2019 informatica official

    114/289

    114

    Aggregator Transformation

    By the end of this section you will be familiar with:

    Basic Aggregator functionality

    Creating subtotals with the Aggregator

    Aggregator expressions

    Aggregator properties

    Using sorted data

    Aggregator Transformation

  • 8/7/2019 informatica official

    115/289

    115

    Aggregator Transformation

    Ports Mixed I/O ports allowed

    Variable ports allowed Group By allowed

    Create expressions invariable and output ports

    Usage Standard aggregations

    Performs aggregate calculations

    Aggregate Expressions

  • 8/7/2019 informatica official

    116/289

    116

    Aggregate Expressions

    Conditional Aggregateexpressions are supported: Conditional SUM format: SUM(value, condition)

    Aggregatefunctions aresupported only inthe AggregatorTransformation

    Aggregator Functions

  • 8/7/2019 informatica official

    117/289

    117

    Aggregator Functions

    Return summary values for non-null datain selected ports

    Use only in Aggregator transformations

    Use in output ports only

    Calculate a single value (and row) for allrecords in a group

    Only one aggregate function can benested within an aggregate function

    Conditional statements can be used with

    these functions

    AVGCOUNTFIRSTLASTMAXMEDIAN

    MINPERCENTILESTDDEVSUMVARIANCE

    Aggregator Properties

  • 8/7/2019 informatica official

    118/289

    118

    Aggregator Properties

    Sorted Input Property

    Set Aggregatorcache sizes for

    Informatica Servermachine

    Instructs theAggregator to

    expect the datato be sorted

    Sorted Data

  • 8/7/2019 informatica official

    119/289

    119

    Sorted Data

    The Aggregator can handle sorted or unsorted data

    Sorted data can be aggregated more efficiently, decreasing totalprocessing time

    The Server will cache data from each group and

    release the cached data uponreachingthe firstrecordofthenextgroup

    Data mustbe sorted according to the order of theAggregators Group By ports

    Performance gain will depend upon varying factors

    Aggregating Unsorted Data

  • 8/7/2019 informatica official

    120/289

    120

    Aggregating Unsorted Data

    Unsorteddata

    No rows are released from Aggregatoruntil all rows are aggregated

    Group By:- store- department- date

    Aggregating Sorted Data

  • 8/7/2019 informatica official

    121/289

    121

    Aggregating Sorted Data

    Each separate group (one row) is released assoon as the last row in the group isaggregated

    Group By:- store- department- date

    Data sorted by:- store- department- date

    Data Flow Rules Terminology

  • 8/7/2019 informatica official

    122/289

    122

    Data Flow Rules Terminology

    Passive transformation

    Operates on one row of data at a time AND

    Cannot change the number of rows on the data flow

    Example: Expression transformation

    Active transformation

    Can operate on groups of data rows AND/OR

    Can change the number of rows on the data flow

    Examples: Aggregator, Filter, Source Qualifier

    Data Flow Rules

  • 8/7/2019 informatica official

    123/289

    123

    Data Flow Rules

    Each Source Qualifier starts a single data stream (data flow)

    Transformations can send rows to more than onetransformation (split one data flow into multiple pipelines)

    Two or more data flows can meet only if they originate from acommon active transformation

    Example holds true with Normalizer instead of Source Qualifier.Exceptions are: Mapplet Input and sorted Joiner transformations

    DISALLOWED

    TT

    Active

    ALLOWED

    T

    Passive

    T

  • 8/7/2019 informatica official

    124/289

    Joiner Transformation

    Joiner Transformation

  • 8/7/2019 informatica official

    125/289

    125

    Jo e s o o

    By the end of this section you will be familiar with:

    When to join in Source Qualifier and when in Joinertransformation

    Homogeneous joins

    Heterogeneous joins

    Joiner properties

    Joiner conditions

    Nested joins

    When to Join in Source Qualifier

  • 8/7/2019 informatica official

    126/289

    126

    Q

    Ifyou can perform a join on the source database, thenyou can configure it in the Source Qualifier

    The SQL that the Source Qualifier generates, default orcustom, executes on the source database at runtime

    Example: homogeneous join 2 database tables in samedatabase

    When You Cannot Join in Source Qualifier

  • 8/7/2019 informatica official

    127/289

    127

    Q

    Ifyou cannotperform a join on the source database, thenyou cannotconfigure it in the Source Qualifier

    Examples: heterogeneous joins

    An Oracle table and a DB2 table

    A flat file and a database table

    Two flat files

    Joiner Transformation

  • 8/7/2019 informatica official

    128/289

    128

    Active Transformation

    Ports All input or input / output

    M denotes port comesfrom master source

    Examples Join two flat files Join two tables from

    different databases Join a flat file with arelational table

    Performs heterogeneous joins on different dataflows

    Joiner Conditions

  • 8/7/2019 informatica official

    129/289

    129

    Multiple join conditions aresupported

    Joiner Properties

  • 8/7/2019 informatica official

    130/289

    130

    p

    Join types:

    Normal (inner)

    Master outer

    Detail outer Full outer

    Joiner can accept sorted data (configure the join condition to use thesort origin ports)

    Set JoinerCaches

    Nested Joins

  • 8/7/2019 informatica official

    131/289

    131

    Used to join three or more heterogeneous sources

    Mid-Mapping Join (Unsorted)

  • 8/7/2019 informatica official

    132/289

    132

    pp g ( )

    The unsorted Joiner does not accept input in thefollowing situations: Both input pipelines begin with the same Source Qualifier

    Both input pipelines begin with the same Joiner

    The sorted Joiner does not have these restrictions.

  • 8/7/2019 informatica official

    133/289

    133

    Lab 7 Heterogeneous Join, Aggregator, and

    Sorter

  • 8/7/2019 informatica official

    134/289

    Lookup Transformation

    Lookup Transformation

  • 8/7/2019 informatica official

    135/289

    135

    By the end of this section you will be familiar with:

    Lookup principles

    Lookup properties

    Lookup conditions

    Lookup techniques

    Caching considerations

    Persistent caches

    How a Lookup Transformation Works

  • 8/7/2019 informatica official

    136/289

    136

    For each mapping row, one or more port values are looked up in a

    database table or flat file

    If a match is found, one or more table values are returned to themapping. If no match is found, NULL is returned

    Lookup value(s)

    Return value(s)

    Lookup transformation

    Lookup Transformation

  • 8/7/2019 informatica official

    137/289

    137

    Looks up values in a database table or flat file andprovides data to other components in a mapping

    Ports Mixed L denotes Lookup port

    R denotes port used as areturn value (unconnectedLookup only see later)

    Specify the Lookup Condition

    Usage Get related values Verify if records exists or if

    data has changed

    Lookup Conditions

  • 8/7/2019 informatica official

    138/289

    138

    Multiple conditions are supported

    Lookup Properties

  • 8/7/2019 informatica official

    139/289

    139

    Lookuptable name

    Native databaseconnection object name

    Lookup condition

    Source type:Database orFlat File

    Lookup Properties contd

  • 8/7/2019 informatica official

    140/289

    140

    Policy on multiplematch: Use first value Use last value Report error

    Lookup Caching

  • 8/7/2019 informatica official

    141/289

    141

    Caching can significantly impact performance

    Cached

    Lookup table data is cached locally on the Server

    Mapping rows are looked up against the cache

    Only one SQL SELECT is needed

    Uncached

    Each Mapping row needs one SQL SELECT

    Rule Of Thumb: Cache if the number (and size) of records inthe Lookup table is small relative to the number of mappingrows requiring the lookup

    Persistent Caches

  • 8/7/2019 informatica official

    142/289

    142

    By default, Lookup caches are not persistent; when thesession completes, the cache is erased

    Cache can be made persistent with the Lookup properties

    When Session completes, the persistent cache is storedon the server hard disk

    The next time Session runs, cached data is loaded fully orpartially into RAM and reused

    A named persistent cache may be shared by differentsessions

    Can improve performance, but stale data may pose aproblem

    Lookup Caching Properties

  • 8/7/2019 informatica official

    143/289

    143

    Override LookupSQL option

    Cachedirectory

    Togglecaching

    Lookup Caching Properties (contd)

  • 8/7/2019 informatica official

    144/289

    144

    Set Lookupcache sizes

    Make cachepersistent

    Set prefix forpersistent cachefile name

    Reloadpersistentcache

  • 8/7/2019 informatica official

    145/289

    145

    Lab 8 Basic Lookup

  • 8/7/2019 informatica official

    146/289

    Target Options

    Target Options

  • 8/7/2019 informatica official

    147/289

    147

    By the end of this section you will be familiar with:

    Default target load type

    Target properties

    Update override

    Constraint-based loading

    Setting Default Target Load Type

  • 8/7/2019 informatica official

    148/289

    148

    Set Target Load Type default Workflow Manager, Tools | Options Normal orBulk (client choice) Override the default in sessiontarget properties

  • 8/7/2019 informatica official

    149/289

    WHERE Clause for Update and Delete

  • 8/7/2019 informatica official

    150/289

    150

    PowerCenter uses the primary keys defined in theWarehouse Designer to determine the appropriate SQLWHERE clause for updates and deletes

    Update SQL

    UPDATE SET = WHERE =

    The only columns updated are those which have values linkedto them

    All other columns in the target are unchanged

    The WHERE clause can be overridden via Update Override

    Delete SQL DELETE from WHERE =

    SQL statement used will appear in the Session log file

    Constraint-based Loading

  • 8/7/2019 informatica official

    151/289

    151

    PK1

    FK1 PK2

    FK2

    To maintain referential integrity, primary keys mustbe loaded before their corresponding foreign keys here in the order Target1, Target2, Target 3

    Setting Constraint-based Loading

  • 8/7/2019 informatica official

    152/289

    152

    Constraint-based Loading Terminology

  • 8/7/2019 informatica official

    153/289

    153

    Active transformation

    Can operate on groups of data rows and/orcan change the number of rows on the data flow

    Examples: Source Qualifier, Aggregator, Joiner, Sorter, Filter

    Active source

    Active transformation that generates rows

    Cannot match an output row with a distinct input row

    Examples: Source Qualifier, Aggregator, Joiner, Sorter

    (The Filter is NOT an active source)

    Active group Group of targets in a mapping being fed by the same active

    source

    Constraint-Based Loading Restrictions

  • 8/7/2019 informatica official

    154/289

    154

    Cannot have two active groups

    Example 1

    With onlyoneActive source,rows for Targets1, 2, and 3 willbe loaded properly and maintainreferential integrity

    PK1

    FK1PK2

    FK2

    Example 2With twoActive sources, it is notpossible to control whether rowsfor Target3 will be loaded before

    or after those for Target2

    PK1

    FK1

    PK2

    FK2

  • 8/7/2019 informatica official

    155/289

    155

    Lab 9 Deleting Rows

  • 8/7/2019 informatica official

    156/289

    Update Strategy

    Transformation

    Update Strategy Transformation

  • 8/7/2019 informatica official

    157/289

    157

    Used to specify how each individual row will be used to

    update target tables (insert, update, delete, reject)

    Ports All input / output

    Specify theU

    pdateStrategy Expression IIF or DECODE logicdetermines how tohandle the record

    Example

    Updating SlowlyChanging Dimensions

    Update Strategy Expressions

  • 8/7/2019 informatica official

    158/289

    158

    IIF ( score > 69, DD_INSERT, DD_DELETE )

    Expression is evaluated for each row

    Rows are tagged according to the logic of the

    expression Appropriate SQL (DML) is submitted to the target

    database: insert, delete or update

    DD_REJECT means the row will not have SQL written

    for it. Target will not see that row Rejected rows may be forwarded through Mapping

  • 8/7/2019 informatica official

    159/289

    159

    Lab 10 Data Driven Operations

  • 8/7/2019 informatica official

    160/289

    160

    Lab 11 Incremental Update

  • 8/7/2019 informatica official

    161/289

    161

    Lab 12 Features and Techniques II

  • 8/7/2019 informatica official

    162/289

    Router Transformation

    Router Transformation

  • 8/7/2019 informatica official

    163/289

    163

    Rows sent to multiple filter conditions

    Ports All input/output

    Specify filter conditionsfor each Group

    Usage Link source data in

    one pass to multiplefilter conditions

    Router Groups

  • 8/7/2019 informatica official

    164/289

    164

    Input group (always one)

    User-defined groups

    Each group has one condition

    ALL group conditions are evaluated

    for EACH row One row can pass multiple

    conditions

    Unlinked Group outputsare ignored

    Default group (always one) cancapture rows that fail all Groupconditions

    Router Transformation in a Mapping

  • 8/7/2019 informatica official

    165/289

    165

  • 8/7/2019 informatica official

    166/289

    166

    Lab 13Router

  • 8/7/2019 informatica official

    167/289

    Sequence Generator

    Transformation

    Sequence Generator Transformation

  • 8/7/2019 informatica official

    168/289

    168

    Generates unique keys for any port on a row

    Ports Two predefined output

    ports, NEXTVAL andCURRVAL

    No input ports allowed

    Usage Generate sequence

    numbers Shareable across mappings

    Sequence Generator Properties

  • 8/7/2019 informatica official

    169/289

    169

    Number ofcached values

  • 8/7/2019 informatica official

    170/289

    Mapping Parameters and

    Variables

    Mapping Parameters and Variables

  • 8/7/2019 informatica official

    171/289

    171

    By the end of this section you will understand:

    System variables

    Mapping parameters and variables

    Parameter files

    System Variables

    P id t d t ti th

  • 8/7/2019 informatica official

    172/289

    172

    SESSSTARTTIME

    $$$SessStartTime

    Returns the system date value on theInformatica Server Used with any function that accepts

    transformation date/time datatypes Not to be used in a SQL override Has a constant value

    Returns the system date value asastring. Uses system clock on machinehosting Informatica Server

    Format of the string is database typedependent Used in SQL override Has a constant value

    SYSDATE Provides current datetime on the

    Informatica Server machine Not a static value

    Mapping Parameters and Variables

  • 8/7/2019 informatica official

    173/289

    173

    Apply to all transformations within one Mapping Represent declared values

    Variables can change in value during run-time

    Parameters remain constant during run-time

    Provide increased development flexibility

    Defined in Mapping menu

    Format is $$VariableNameor $$ParameterName

    Can be used in pre and post-SQL

    Mapping Parameters and Variables

  • 8/7/2019 informatica official

    174/289

    174

    Sample declarations

    Declare Mapping Variables and Parametersin the Designer Mappings/Mapplets menu

    Setaggregationtype

    Set optionalinitial value

    User-definednames

    Set datatype

    Mapping Parameters and Variables

  • 8/7/2019 informatica official

    175/289

    175

    Apply parameters or variables in formula

    Functions to Set Mapping Variables

  • 8/7/2019 informatica official

    176/289

    176

    SETMAXVARIABLE($$Variable,value)

    Sets the specified variable to the higher of the currentvalue or the specified value

    SETMINVARIABLE($$Variable,value)Sets the specified variable to the lower of of the

    current value or the specified value SETVARIABLE($$Variable,value)

    Sets the specified variable to the specified value

    SETCOUNTVARIABLE($$Variable)

    Increases or decreases the specified variable by thenumber of rows leaving the function(+1 for eachinserted row, -1 for each deleted row, no change forupdated or rejected rows)

    Parameter Files

  • 8/7/2019 informatica official

    177/289

    177

    You can specify a parameterfile for a session in thesession editor

    Parameter file contains folder.session name and initializeseach parameter and variable for that session. For example:

    [Production.s_m_MonthlyCalculations]$$State=MA

    $$Time=10/1/2000 00:00:00$InputFile1=sales.txt$DBConnection_target=sales$PMSessionLogFile=D:/session logs/firstrun.txt

    Parameters & Variables Initialization Priority

  • 8/7/2019 informatica official

    178/289

    178

    1. Parameter file

    2. Repository value

    3. Declared initial value

    4. Default value

  • 8/7/2019 informatica official

    179/289

    Unconnected Lookups

    Unconnected Lookups

  • 8/7/2019 informatica official

    180/289

    180

    By the end of this section you will know:

    Unconnected Lookup technique

    Unconnected Lookup functionality

    Difference from Connected Lookup

    Unconnected Lookup

  • 8/7/2019 informatica official

    181/289

    181

    Physically unconnected from other transformations NO data flow

    arrows leading to or from an unconnected Lookup Lookup data is called from the point in the Mapping that needs it Lookup function can be set within any transformation that supports

    expressions

    Function in the Aggregator

    calls the unconnected Lookup

    Unconnected Lookup Technique

  • 8/7/2019 informatica official

    182/289

    182

    Condition is evaluated for each row but Lookup functionis called only if condition satisfied

    IIF (ISNULL(customer_id),:lkp.MYLOOKUP(order_no))

    Condition

    Lookup function

    Row keys

    (passedto Lookup)

    Use lookup lookup function within a conditional statement

    Unconnected Lookup Advantage

  • 8/7/2019 informatica official

    183/289

    183

    Data lookup is performed onlyfor those rows whichrequire it. Substantial performance can be gained

    EXAMPLE: A Mapping will process 500,000 rows. For twopercent of those rows (10,000) the item_id value is NULL.Item_ID can be derived from the SKU_NUMB.

    Net savings = 490,000 lookups

    IIF (ISNULL(item_id), :lkp.MYLOOKUP(sku_numb))

    Condition

    (true for2 percent of all rows)

    Lookup

    (called only when condition is true)

    Unconnected Lookup Functionality

  • 8/7/2019 informatica official

    184/289

    184

    One Lookup port value may be returned for each Lookup

    Must check aReturn port in the

    Ports tab, elsefails at runtime

  • 8/7/2019 informatica official

    185/289

  • 8/7/2019 informatica official

    186/289

    186

    Lab 14 Straight Load

  • 8/7/2019 informatica official

    187/289

    187

    Lab 15 Conditional Lookup

  • 8/7/2019 informatica official

    188/289

    Heterogeneous Targets

    Heterogeneous Targets

  • 8/7/2019 informatica official

    189/289

    189

    By the end of this section you will be familiar with:

    Heterogeneous target types

    Heterogeneous target limitations

    Target conversions

    Definition: Heterogeneous Targets

  • 8/7/2019 informatica official

    190/289

    190

    Supported target definition types:

    Relational database

    Flat file

    XML Targets supported by PowerCenter Connects

    Heterogeneous targets are targets within a single

    Session Task that have different types or

    have differentdatabase connections

    Step One: Identify Different Target Types

  • 8/7/2019 informatica official

    191/289

    191

    Oracle table

    Flat file

    Oracle tableTables are EITHER in twodifferent databases, orrequire different (schema-specific) connect strings

    One target is a flat file load

    Step Two: Different Database Connections

  • 8/7/2019 informatica official

    192/289

    192

    The two databaseconnections aredifferent

    Flat file requires

    separate locationinformation

    Target Type Override (Conversion)

  • 8/7/2019 informatica official

    193/289

    193

    Example: Mapping has SQL Server target definitions.Session Task can be set to load Oracle tables instead,using an Oracle database connection.

    The following overrides are supported:

    Relational target to flat file target

    Relational target to any other relational database type

    CAUTION: If target definition datatypes are not compatible with datatypes innewly selected database type, modify the target definition

  • 8/7/2019 informatica official

    194/289

  • 8/7/2019 informatica official

    195/289

    Mapplets

    Mapplets

  • 8/7/2019 informatica official

    196/289

    196

    By the end of this section you will be familiar with: Mapplet Designer

    Mapplet advantages

    Mapplet types Mapplet rules

    Active and Passive Mapplets

    Mapplet Parameters and Variables

    Mapplet Designer

  • 8/7/2019 informatica official

    197/289

    197

    MappletInput and OutputTransformation

    Icons

    Mapplet OutputTransformation

    Mapplet Designer Tool

    Mapplet Advantages

  • 8/7/2019 informatica official

    198/289

    198

    Useful for repetitive tasks / logic

    Represents a set of transformations

    Mapplets are reusable

    Use an instance of a Mapplet in a Mapping

    Changes to a Mapplet are inherited by all instances

    Server expands the Mapplet at runtime

    AMapplet Used in a Mapping

  • 8/7/2019 informatica official

    199/289

    199

  • 8/7/2019 informatica official

    200/289

    Unsupported Transformations

  • 8/7/2019 informatica official

    201/289

    201

    Do not use the following in a mapplet:

    XML source definitions

    Target definitions

    Other mapplets

    Mapplet Source Options

    Internal Sources

  • 8/7/2019 informatica official

    202/289

    202

    Internal Sources

    One or more Source definitions / Source Qualifierswithin the Mapplet

    External Sources

    Mapplet contains a Mapplet Input transformation Receives data from the Mapping it is used in

    Mixed Sources

    Mapplet contains one or more of either of a Mapplet

    Input transformation AND one or more Source Qualifiers

    Receives data from the Mapping it is used in, AND fromthe Mapplet

    Use for data sources outside a Mapplet

    Mapplet Input Transformation

  • 8/7/2019 informatica official

    203/289

    203

    Use for data sources outside a Mapplet

    Passive TransformationConnected

    Ports

    Output ports only

    Usage

    Only those portsconnected from anInput transformation

    to anothertransformationwill display in theresulting Mapplet

    Connecting thesame port to morethan onetransformation isdisallowed

    Pass to anExpressiontransformationfirst

    Transformation

    Transformation

    Data Source Outside a Mapplet

    Source data is defined

  • 8/7/2019 informatica official

    204/289

    204

    Resulting Mapplet HASinput ports

    When used in a Mapping,the Mapplet may occur atany point in mid-flow

    Source data is defined

    OUTSIDE the Mapplet logic

    Mapplet

    Mapplet Input

    Transformation

    Data Source Inside a Mapplet

    SourceSource data is defined

  • 8/7/2019 informatica official

    205/289

    205

    Resulting Mapplet has noinput ports

    When used in a Mapping,the Mapplet is the firstobject in the data flow

    Mapplet

    No Input transformationis required (or allowed)

    Use a Source Qualifier

    instead

    Qualifier

    Source data is defined

    WITHIN the Mapplet logic

    Mapplet Output Transformation

    Use to contain the results of a Mapplet pipeline Multiple

  • 8/7/2019 informatica official

    206/289

    206

    Passive TransformationConnected

    Ports

    Input ports only

    Usage

    Only those ports connected toan Output transformation (fromanother transformation) will

    display in the resulting Mapplet

    One (or more) Mapplet Outputtransformations are required in

    every Mapplet

    Use to contain the results of a Mapplet pipeline. Multiple

    Output transformations are allowed.

    Mapplet withMultiple Output Groups

  • 8/7/2019 informatica official

    207/289

    207

    Can output to multiple instances of the same target table

    Unmapped Mapplet Output Groups

  • 8/7/2019 informatica official

    208/289

    208

    Warning: An unlinkedMapplet Output Groupmay invalidate themapping

    Active and Passive Mapplets

  • 8/7/2019 informatica official

    209/289

    209

    Passive Mapplets contain only passive transformations

    Active Mapplets contain one or more activetransformations

    CAUTION: Changing a passive Mapplet into an active Mappletmay invalidate Mappings which use that Mapplet so do an impactanalysis in Repository Manager first

  • 8/7/2019 informatica official

    210/289

    Mapplet Parameters and Variables

  • 8/7/2019 informatica official

    211/289

    211

    Same idea as mapping parameters and variables

    Defined under theMapplets | Parameters and Variables

    menu option A parameter or variable defined in a mapplet is not

    visible in any parent mapping

    A parameter or variable defined in a mapping is notvisible in any child mapplet

  • 8/7/2019 informatica official

    212/289

    212

    Lab 17Mapplets

  • 8/7/2019 informatica official

    213/289

    Reusable Transformations

    Reusable Transformations

  • 8/7/2019 informatica official

    214/289

    214

    By the end of this section you will be familiar with:

    Transformation Developer

    Reusable transformation rules

    Promoting transformations to reusable

    Copying reusable transformations

    Transformation Developer

  • 8/7/2019 informatica official

    215/289

    215

    Reusabletransformations

    Make atransformationreusable fromthe outset,

    or

    test it in a

    mapping first

    Reusable Transformations

    Define once, reuse many times

  • 8/7/2019 informatica official

    216/289

    216

    , y

    Reusable Transformations

    Can be a copy or a shortcut

    Edit Ports only in Transformation Developer

    Can edit Properties in the mapping

    Instances dynamically inherit changes

    Caution: changing reusable transformations can invalidatemappings

    Note: Source Qualifier transformations cannotbe made reusable

    Promoting a Transformation to Reusable

  • 8/7/2019 informatica official

    217/289

    217

    Check theMake reusable box

    (irreversible)

    Copying Reusable Transformations

    This copy action must be done within the same folder

  • 8/7/2019 informatica official

    218/289

    218

    This copy action must be done within the same folder

    1. Hold down Ctrl key and drag a Reusable transformation fromthe Navigator window into a mapping (Mapping Designer tool)

    2. A message appears in the status bar:

    3. Drop the transformation into the mapping

    4. Save the changes to the Repository

  • 8/7/2019 informatica official

    219/289

    219

    Lab 18 Reusable Transformations

  • 8/7/2019 informatica official

    220/289

    Session-Level Error Logging

    Error Logging Objectives

  • 8/7/2019 informatica official

    221/289

    221

    By the end of this section, you will be familiar with:

    Setting error logging options

    How data rejects and transformation errors are

    handled with logging on and off

    How to log errors to a flat file or relational table

    When and how to use source row logging

    Error Types

  • 8/7/2019 informatica official

    222/289

    222

    Transformation error Data row has only passed partway through the mapping

    transformation logic

    An error occurs within a transformation

    Data reject

    Data row is fully transformed according to the mappinglogic

    Due to a data issue, it cannot be written to the target

    A data reject can be forced by an Update Strategy

    Error Logging Off/On

  • 8/7/2019 informatica official

    223/289

    223

    Error Type Logging OFF (Default) Logging ONTransformationerrors

    Written to session logthen discarded

    Appended to flat file orrelational tables. Onlyfatal errors written tosession log.

    Data rejects Appended to reject file(one .bad file per target)

    Written to row errortables or file

    Setting Error Log Options

    In Session task

  • 8/7/2019 informatica official

    224/289

    224

    Log Row DataLog Source Row Data

    Error Log Type

    Error Logging Off Specifying Reject Files

  • 8/7/2019 informatica official

    225/289

    225

    In Session task1 file per target

    Error Logging Off Transformation Errors

    Details and data are written to session log

  • 8/7/2019 informatica official

    226/289

    226

    X

    X

    Transformation Error

    Data row is discarded If data flows concatenated, corresponding rows in parallel

    flow are also discarded

    Error Logging Off Data Rejects

    Conditions causing data to be rejected include:

  • 8/7/2019 informatica official

    227/289

    227

    Target database constraint violations, out-of-space errors, logspace errors, null values not accepted

    Data-driven records, containing value 3 or DD_REJECT(the reject has been forced by an Update Strategy)

    Target table properties reject truncated/overflowed rows

    0,D,1313,D,Regulator System,D,Air Regulators,D,250.00,D,150.00,D1,D,1314,D,Second Stage Regulator,D,Air Regulators,D,365.00,D,265.00,D2,D,1390,D,First Stage Regulator,D,Air Regulators,D,170.00,D,70.00,D3,D,2341,D,Depth/Pressure Gauge,D,Small Instruments,D,105.00,D,5.00,D

    Sample reject file

    Indicator describes preceding column valueD=Data, O=Overflow, N=Null or T=Truncated

    First column:0=INSERTp1=UPDATEp2=DELETEp3=REJECTp

    Log Row Data

    Logs:

  • 8/7/2019 informatica official

    228/289

    228

    g

    Session metadata

    Reader, transformation, writer and user-defined errors

    For errors on input, logs row data forI and I/O ports

    For errors on output, logs row data forI/O and O ports

    Logging Errors to a Relational Database 1

  • 8/7/2019 informatica official

    229/289

    229

    Relational DatabaseLog Settings

    Logging Errors to a Relational Database 2

  • 8/7/2019 informatica official

    230/289

    230

    PMERR_SESS: Stores metadata about the session runsuch as workflow name, session name, repository nameetc

    PMERR_MSG: Error messages for a row of data arelogged in this table

    PMERR_TRANS: Metadata about the transformation suchas transformation group name, source name, port nameswith datatypes are logged in this table

    PMERR_DATA: The row data of the error row as well as

    the source row data is logged here. The row data is in astring format such as [indicator1: data1 | indicator2: data2]

    Error Logging to a Flat File 1

    Creates delimited Flat File with || as column delimiter

  • 8/7/2019 informatica official

    231/289

    231

    Flat File LogSettings (Defaults

    shown)

    Logging Errors to a Flat File 2

    Format: Session metadata followed by de-normalized error information

    Sample session metadata

  • 8/7/2019 informatica official

    232/289

    232

    **********************************************************************

    Repository GID: 510e6f02-8733-11d7-9db7-00e01823c14d

    Repository: RowErrorLogging

    Folder: ErrorLogging

    Workflow: w_unitTests

    Session: s_customers

    Mapping: m_customersWorkflow Run ID: 6079

    Worklet Run ID: 0

    Session Instance ID: 806

    Session Start Time: 10/19/2003 11:24:16

    Session Start Time (UTC): 1066587856

    **********************************************************************

    Row data formatTransformation || Transformation Mapplet Name || Transformation Group || PartitionIndex || Transformation Row ID || Error Sequence || Error Timestamp || Error UTCTime || Error Code || Error Message || Error Type || Transformation Data || SourceMapplet Name || Source Name || Source Row ID || Source Row Type || Source Data

    Log Source Row Data 1

  • 8/7/2019 informatica official

    233/289

    233

    Separate checkbox in session task

    Logs the source row associated with the error row

    Logs metadata about source, e.g. Source Qualifier,

    source row id, and source row type

  • 8/7/2019 informatica official

    234/289

  • 8/7/2019 informatica official

    235/289

    Workflow Configuration

    Workflow Configuration Objectives

  • 8/7/2019 informatica official

    236/289

    236

    By the end of this section, you will be able to create:

    Workflow Server Connections

    Reusable Schedules

    Reusable Session Configurations

  • 8/7/2019 informatica official

    237/289

    237

    Workflow Server Connections

  • 8/7/2019 informatica official

    238/289

    Relational Connections (Native )

    Create a relational [database] connection

    I t ti t th S t l t l ti l t bl

  • 8/7/2019 informatica official

    239/289

    239

    Instructions to the Server to locate relational tables Used in Session Tasks

    Relational Connection Properties

    Define native

    l ti l d t b

  • 8/7/2019 informatica official

    240/289

    240

    relational databaseconnection

    Optional Environment SQL(executed with each use ofdatabase connection)

    User Name/Password

    Database connectivityinformation

    Rollback Segmentassignment (optional)

    FTP Connection

    Create an FTP connection

    Instructions to the Server to ftp flat files

  • 8/7/2019 informatica official

    241/289

    241

    Used in Session Tasks

    External Loader Connection

    Create an External Loader connection

    I t t th S t i k t l d t b l d

  • 8/7/2019 informatica official

    242/289

    242

    Instructs the Server to invoke an external database loader Used in Session Tasks

  • 8/7/2019 informatica official

    243/289

    243

    Reusable Workflow Schedules

    Set up reusable schedules to associate with multiple Workflows

    D fi d t f ld l l

    Reusable Workflow Schedules

  • 8/7/2019 informatica official

    244/289

    244

    Defined at folder level Must have the Workflow Designer tool open

    Reusable Workflow Schedules

  • 8/7/2019 informatica official

    245/289

    245

  • 8/7/2019 informatica official

    246/289

    246

    Reusable Session Configurations

    Session Configuration

    Define properties to be reusable across different

  • 8/7/2019 informatica official

    247/289

    247

    Define properties to be reusable across differentsessions

    Defined at folder level

    Must have one of these toolsopen in order to access

  • 8/7/2019 informatica official

    248/289

    Session Configuration (contd)

  • 8/7/2019 informatica official

    249/289

    249

    Session TaskConfig Object

  • 8/7/2019 informatica official

    250/289

    250

    Within Session task properties, choose desiredconfiguration

    Session TaskConfig Object Attributes

  • 8/7/2019 informatica official

    251/289

    251

    Attributes

    may beoverriddenwithin theSession task

  • 8/7/2019 informatica official

    252/289

    Reusable Tasks

    Reusable Tasks

    Three types of reusable Tasks

  • 8/7/2019 informatica official

    253/289

    253

    Three types ofreusable TasksSession Set of instructions

    to execute a specificMapping

    Command Specific shellcommands to run duringany Workflow

    Email Sends email duringthe Workflow

    Reusable Tasks

    Use the TaskDeveloperto

    create reusable tasks

  • 8/7/2019 informatica official

    254/289

    254

    create reusable tasks

    These tasks will then appearin the Navigator and can bedragged and dropped intoany workflow

    Reusable Tasks in a Workflow

    In a workflow a reusable task is represented

  • 8/7/2019 informatica official

    255/289

    255

    In a workflow, a reusable task is representedwith the symbol

    ReusableNon-reusable

    Command Task

    Specify one or more Unix shell or DOS commands to

    run during the Workflow

  • 8/7/2019 informatica official

    256/289

    256

    run during the Workflow Runs in the Informatica Server (UNIX or Windows)

    environment

    Command task status (successful completion or

    failure) is held in the pre-defined task variable$command_task_name.STATUS

    Each Command Task shell command can executebefore the Session begins or after the InformaticaServer executes a Session

    Command Task

    Specify one (or more) Unix shell or DOS (NT, Win2000)commands to run at a specific point in the workflow

  • 8/7/2019 informatica official

    257/289

    257

    commands to run at a specific point in the workflow

    Becomes a component of a workflow (or worklet)

    If created in the Task Developer, the Command task isreusable

    If created in the Workflow Designer, the Command task isnot reusable

    Commands can also be invoked under the Componentstab of a Session task to run pre- or post-session

  • 8/7/2019 informatica official

    258/289

    Command Task (contd)

  • 8/7/2019 informatica official

    259/289

    259

    Add Cmd

    Remove Cmd

    Email Task

    Configure to have the Informatica Server to send email

    at any point in the Workflow

  • 8/7/2019 informatica official

    260/289

    260

    at any point in the Workflow

    Becomes a component in a Workflow (or Worklet)

    If configured in the Task Developer, the Email Task isreusable (optional)

    Emails can also be invoked under the Components tabof a Session task to run pre- or post-session

    Email Task (contd)

  • 8/7/2019 informatica official

    261/289

    261

  • 8/7/2019 informatica official

    262/289

  • 8/7/2019 informatica official

    263/289

    263

    Lab 20 Command Task

  • 8/7/2019 informatica official

    264/289

    Non-Reusable Tasks

  • 8/7/2019 informatica official

    265/289

    Decision Task

    Specifies a condition to be evaluated in the Workflow

    Use the Decision Task in branches of a Workflow

  • 8/7/2019 informatica official

    266/289

    266

    Use link conditions downstream to control execution flow bytesting the Decision result

  • 8/7/2019 informatica official

    267/289

    Timer Task

    Waits for a specified period of time to execute the

    next Task

  • 8/7/2019 informatica official

    268/289

    268

    e t asGeneral Tab

    Absolute Time

    Datetime Variable

    Relative Time

    Timer Tab

    Control Task

    Stop or ABORT the Workflow

    Properties Tab

  • 8/7/2019 informatica official

    269/289

    269

    GeneralTab

    Event Wait Task

    Pauses processing of the pipeline until aspecified event occurs

  • 8/7/2019 informatica official

    270/289

    270

    specified event occurs

    Events can be:

    Pre-defined file watch

    U

    ser-defined created by an Event Raise task elsewhere inthe workflow

    Event Wait Task (contd)

    General TabProperties Tab

  • 8/7/2019 informatica official

    271/289

    271

    Event Wait Task (contd)

    Events Tab

  • 8/7/2019 informatica official

    272/289

    272

    User-defined event configuredin the Workflow object

    Event Raise Task

    Represents the location of a user-defined event

    The Event Raise Task triggers the user-defined event when theInformatica Ser er e ec tes the E ent Raise Task

  • 8/7/2019 informatica official

    273/289

    273

    Informatica Server executes the Event Raise Task

    Used with the Event Wait Task

    General Tab Properties Tab

  • 8/7/2019 informatica official

    274/289

    Worklets

    Worklets

    An object representing a set or grouping of Tasks

    Can contain any Task available in the Workflow

  • 8/7/2019 informatica official

    275/289

    275

    Can contain any Task available in the WorkflowManager

    Worklets expand and execute inside a Workflow

    A Workflow which contains a Worklet is called theparent Workflow

    Worklets CAN be nested

    Reusable Worklets create in the Worklet Designer

    Non-reusable Worklets create in the WorkflowDesigner

    Re-usable Worklet

    In the Worklet Designer, select Worklets | Create

  • 8/7/2019 informatica official

    276/289

    276

    Tasks in a Worklet

    WorkletsNode

    Using a Reusable Worklet in a Workflow

  • 8/7/2019 informatica official

    277/289

    277

    Workletused in a

    Workflow

    Non-Reusable Worklet

    1. Create worklet task inWorkflow Designer

    2. Right-click on new worklet

  • 8/7/2019 informatica official

    278/289

    278

    gand select Open Worklet

    3. Workspace switches toWorklet Designer

    NOTE: Worklet

    shows only underWorkflows node

  • 8/7/2019 informatica official

    279/289

    279

    Lab 21 Reusable Worklet and Decision Task

  • 8/7/2019 informatica official

    280/289

    Lab 23 User Defined Event Event Raise

  • 8/7/2019 informatica official

    281/289

    281

    Lab 23 User-Defined Event, Event Raise,

    and Event Wait

  • 8/7/2019 informatica official

    282/289

    282

    Parameters and VariablesReview

    Types of Parameters and Variables

    TYPE HOW DEFINED WHERE USED EXAMPLES

    Mapping/

    MappletVariables

    Mapping/mapplet

    properties. Reset byvariable functions.

    Transformation port

    expressions

    $$LastUpdateTime

    $$MaxValue

  • 8/7/2019 informatica official

    283/289

    283

    Mapping/MappletParameters

    Mapping/mappletproperties. Constantfor session.

    Transformation portexpressions

    $$FixedCosts$$DiscountRate

    SystemVariables

    Built-in, pre-defined. Transformation portexpressions,

    Workflow decisiontasks andconditional links.

    SYSDATESESSSTARTIME

    WORKFLOWSTARTTIME

    TaskVariables

    Built-in, pre-defined. Workflow decisiontasks andconditional links

    $session1. Status$session1.ErrorCode

    Workflow/

    WorkletVariables

    Workflow or worklet

    properties. Reset inAssignment tasks.

    Workflow decision

    tasks andconditional links

    $$NewStartTime

    SessionParameters

    Parameter file.Constant for session.

    Session properties $DBConnectionORCL$InputFile1

    Mappings& Mapplets

    Workflows& Worklets

  • 8/7/2019 informatica official

    284/289

    284

    PowerCenter7.1 Options andData Access Products

    PowerCenter 7.1 Options

    Profile wizards, rules definitions, profile results tables,and standard reportsData ProfilingData Profiling

    Allows export/import of metadata to or from businessintelligence tools like Business Objects and CognosMetadata Exchange with BIMetadata Exchange with BI

  • 8/7/2019 informatica official

    285/289

    285

    PowerCenterPowerCenter

    RealReal--Time/Web ServicesTime/Web ServicesZ

    L Engine, always-on non-stop sessions, JMSconnectivity, and real-time Web Services provider

    Data CleansingData CleansingName and address cleansing functionality, includingdirectories forUS and certain international countries

    PartitioningPartitioningData smart parallelism, pipeline and data parallelism,partitioning

    Server engine, metadata repository, unlimited designers,workflow scheduler, all APIs and SDKs, unlimited XML andflat file sourcing and targeting, object export to XML file,LDAP authentication, role-based object-level security,metadata reporter, centralized monitoring

    Server group management, automatic workflow distributionacross multiple heterogeneous serversServer GridServer Grid

    Version control, deployment groups, configurationmanagement, automatic promotion

    TeamTeam--Based DevelopmentBased Development

    Virtual Classes

    Watch for short web-based virtualclasses on most PowerCenter

  • 8/7/2019 informatica official

    286/289

    286

    options and XML support

    Data Access PowerExchange

    Provides access to all critical enterprise data systems,

    including mainframe, midrange relational databases,and file-based systems

  • 8/7/2019 informatica official

    287/289

    287

    and file based systems

    Offers batch, change capture and real-time options

    PowerExchange 5.2 provides tight integration withPowerCenter 7.1.1 through the PowerExchange Clientfor PowerCenter

    Supporting VSAM, IMS, DB2 (OS/390, AS/400), Oracle, ODBC

    Data Access PowerCenter Connect

    PowerCenter Connect options are currently available for:

    Transactional Applications Real-time Services

  • 8/7/2019 informatica official

    288/289

    288

    Transactional Applications Hyperion Essbase PeopleSoft SAP R/3

    SAP BW SAS Siebel

    Real time Services HTTP JMS MSMQ

    MQSeries TIBCOWebMethodsWeb Services

    PowerCenter Connect SDK

    Allows development of new PowerCenter Connect productsAvailable on the Informatica Developer Network

  • 8/7/2019 informatica official

    289/289