mapping specifications with descriptions
TRANSCRIPT
-
8/2/2019 Mapping Specifications With Descriptions
1/6
ETL Mapping Specification
Mapping NameName of the ETL PowerMart mapping (m_ hrispos)
BusinessRequirementInformation
Name of the Business Requirements Specification that is met by this Mapping Specification
Source System Name of the Source Database(HRPROD)
Target System Name of the Target Database (HRODS)
Initial Rows Estimated number of rows pulled from thesource table
Rows/Load Estimated number of rows to be loaded to thetarget table
ShortDescription
Description that describes the purpose of this mapping what will this session accomplish?
RefreshFrequency
How often will this session run? Is this a table rebuild or refresh? Is this a daily, weekly, monthly, yearly, or hourlyrefresh?
Preprocessing Preprocessing can occur within a mapping or outside of the mapping before a session runs. What sessions mustrun before this session? Indexes to be dropped before session runs? Files to be ftpd or moved to a specificplace before session can run?
Post Processing Post processing can occur within a mapping or outside of the mapping before a session runs. What
sessions/mappings must follow this session/mapping? Indexes that need to be put in place after thissession/mapping runs? Emails to be sent on success/failure?
Error Strategy Error trapping Document error functions used in input/output port default values, input values for input/outputports. The Informatica Server skips the row when it encounters the ERROR function. It aborts the session when itencounters the ABORT function. Examples:
Replace the null value with a constant value or constant expression.
Skip the null value with an ERROR function.
Abort the session with the ABORT function.
You may also document what kinds of session errors cause the session to fail, as well as session errors that do notcause a session to fail. You need to know for rework or reloads.
D t h t t bl t t bl d l ti f l i
-
8/2/2019 Mapping Specifications With Descriptions
2/6
D t h t t bl t t bl d l ti f l i
ETL Mapping Specification
Sources
Tables
Table Name Schema/Owner Selection/Filter
Name of the source table Who owns the table? (ADMIN) Do you use the sql query section in the source qualifierto limit what you pull from the source table? Documentwhat limits are needed here
Files
File Name File Owner Unique Key
Name of the source file Machine file resides on, path, and owner of file (Holiday, /usr/local., SISOPER)
Key (column or field) that makes a row in this file unique
Targets
Tables Schema Owner Who owns the target table (ADMIN)
Table Name Insert Update asUpdate Update asInsert Updateelse insert Delete TruncateTable UniqueKey
Name of thetarget table
Key (columnor field) thatmakes a row
-
8/2/2019 Mapping Specifications With Descriptions
3/6
ETL Mapping Specification
Lookups
Lookup Name Name given to the lookup transformation object (LKP_tablename)
Table Name of the lookup table Location Database name (SISQA)
Match Condition(s) Similar to where clause in sql statement (person.uniqueid = student.customer_uniqueid). How would you findthe row that you need?
Filter/SQLOverride
Can use a sql override for multiple match conditions. ( last_effective_date is null, role_type = prospect)
Document sql override statements here.
Lookup Name
Table Location
Match Condition(s)
Filter/SQLOverride
Lookup Name
Table Location
Match Condition(s)
Filter/SQLOverride
-
8/2/2019 Mapping Specifications With Descriptions
4/6
ETL Mapping Specification
Process OverviewTo be used as a visual representation of the mapping
Processing Description (Detail)
Describe processing logic contained in mapping, including a description of the logic for each transformation
object.
Example:This mapping will update the target person table with the most recently attended, official high school experienceinformation.
The source qualifier only pulls the rows where the session id = the current session id (WhereETL_HIGH_SCHOOL_EXPERIENCE.SESSION_ID = (Select max(Session_ID)From ETL_SESSION) order by last_modified_time, last_db_action).
For each row pulled back from the source qualifier, the ed institution uniqueid is passed to a lookup onthe high school table to get the high school code (ceeb code). In addition to the ceeb code, theuniqueid of the high school is also passed back.
The first expression object sets the Hs core 40 completion flag, Hs Official Flag, Hs transcript received flag, HsDiploma earned flag, and the Hs invalidated flag in the person table after evaluating these flags in the
etl_high_school_experience table. If the flag in the etl_high_school_experience table = T, the flag in the person table is set toYES. If the flag in the etl_high_school_experience table = F, the flag in the person table is set to NO
The first expression object also evaluates the last db action along with other criteria, to determine if the row in thetarget table should be updated or nullled. If the last db action is = I or U and the high school experience is officialand most recent, the high school fields in the target table are updated. If the last db action is = X , the high schoolexperience fields in the target table are nulled.
-
8/2/2019 Mapping Specifications With Descriptions
5/6
ETL Mapping SpecificationHS_LONG_NAME =decode(:TU.last_db_action,'U',:TU.HS_LONG_NAME,'I',:TU.HS_LONG_NAME,'X',null),HS_CEEB_CODE =decode(:TU.last_db_action,'U',:TU.HS_CEEB_CODE ,'I',:TU.HS_CEEB_CODE ,'X',null),HS_SOURCE =decode(:TU.last_db_action,'U',:TU.HS_SOURCE ,'I',:TU.HS_SOURCE ,'X',null),HS_ED_LEVEL =decode(:TU.last_db_action,'U',:TU.HS_ED_LEVEL,'I',:TU.HS_ED_LEVEL ,'X',null),HS_AS_OF_DATE =decode(:TU.last_db_action,'U',:TU.HS_AS_OF_DATE,'I',:TU.HS_AS_OF_DATE ,'X',null),
HS_END_DATE =decode(:TU.last_db_action,'U',:TU.HS_END_DATE,'I',:TU.HS_END_DATE ,'X',null),HS_GRADUATION_DATE =decode(:TU.last_db_action,'U',:TU.HS_GRADUATION_DATE,'I',:TU.HS_GRADUATION_DATE ,'X',null),HS_CUMULATIVE_GPA =decode(:TU.last_db_action,'U',:TU.HS_CUMULATIVE_GPA,'I',:TU.HS_CUMULATIVE_GPA ,'X',null),HS_CLASS_RANK =decode(:TU.last_db_action,'U',:TU.HS_CLASS_RANK,'I',:TU.HS_CLASS_RANK ,'X',null),HS_CLASS_SIZE =
decode(:TU.last_db_action,'U',:TU.HS_CLASS_SIZE,'I',:TU.HS_CLASS_SIZE ,'X',null),HS_PERCENTILE_LOW =decode(:TU.last_db_action,'U',:TU.HS_PERCENTILE_LOW,'I',:TU.HS_PERCENTILE_LOW ,'X',null),HS_PERCENTILE_HIGH =decode(:TU.last_db_action,'U',:TU.HS_PERCENTILE_HIGH,'I',:TU.HS_PERCENTILE_HIGH ,'X',null),HS_DIPLOMA_TYPE =decode(:TU.last_db_action,'U',:TU.HS_DIPLOMA_TYPE,'I',:TU.HS_DIPLOMA_TYPE,'X',null),HS_CORE_40_COMPLETION_FLAG =decode(:TU.last_db_action,'U',:TU.HS_CORE_40_COMPLETION_FLAG,'I',:TU.HS_CORE_40_COMPLETION_F
LAG,'X',null),HS_OFFICIAL_FLAG =decode(:TU.last_db_action,'U',:TU.HS_OFFICIAL_FLAG,'I',:TU.HS_OFFICIAL_FLAG,'X',null),HS_TRANSCRIPT_RECEIVED_FLAG =decode(:TU last db action 'U' :TU HS TRANSCRIPT RECEIVED FLAG 'I' :TU HS TRANSCRIPT RECEIVED F
-
8/2/2019 Mapping Specifications With Descriptions
6/6
ETL Mapping SpecificationSource To Target Field Matrix
TargetTable
TargetColumn Data-type
SourceTable Source Column Data-type Expression
Default
Value ifNull
Data
Issues/Quality/Comments
Name of targettable
Column intarget table
Datatype forthis targetcolumn
Name oftheSourcetable
Column in sourcetable where youwould get this datafrom
Datatype for thissource column
Decodes, aggregates, conversions,if statements, lookup functions
Value touse intarget fieldwhensource fieldis null
Used to document Not null, valueif looked up, upper case, pk, fk,etccomments, issues
/var/www/apps/conversion/current/tmp/scratch13067/92082912.doc Page 4/11/12 6