SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Oracle Data Integrator 11g Case Study
“Customer Correspondence Data Model”
Description:
This is another document from “ODI Case Studies Series”. The
Document focuses how to convert transactional normalized data model
to star schema. It also demonstrates the implementation of factless fact
table in order to build star schema. The case studies show the data
movement from SourceStagingTarget.
History:
Version Description Change Author Publish Date
0.1 Initial Draft Anil Patel 5-April-2012
0.1 Initial Draft Amit Sharma 5-April-2012
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 1
Oracle Data Integrator - Customer Correspondence Data Model
Chapter
No.
Title Page
No.
1. Introduction to Customer Correspondence Data Model 3
2. Custom Correspondence Data Models of Source, Staging &
Target
4
3. Setting up Dataserver, Physical schema& Logical schema in ODI 6
4. Organizing Model in ODI of Source, Staging & Target 12
5. Creating Interface for move data from Source table to Staging 14
6. Creating Interface for move data from Staging table to Target 17
7. Package for make system automatic execution 20
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 2
1. Introduction to Customer Correspondence Data Model :-
Introduction: Customer Correspondence Data Model is a repository for customer contact details.
This information is required in various business events in order to communicate to the customers.
This model is part of CRM application. The document shows you step by step way that how did we
convert the transaction Customer Correspondence model to Dimension model required for Business
Intelligence Reporting. The CC dimension model will be used for BI reporting tools to identify various
trends and analysis related to customer contact details. i.e Business wants to identify customer
demographics based on the customer location. Business may like to know revenue based on
customer’s location. There are such many analysis business wants to find however, such kinds of
analysis can’t be directly build on top of transaction model.
The below diagram shows the final output transformation of transaction model to star schema.
Fact_Customer_Correspondence is a factless fact table.
Fig.01 : Customer Correspondence Data Model :OLAP(Target)
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 3
2. Custom Correspondence Data Models of Source, Staging & Target :-
Source Data Model: This is source data which represent OLTP data model. This consists of Tables,
keys, constraints, joins.
Fig.02: Customer Correspondence Data Model: OLTP (Source)
Staging Data Model: The below model shows the staging area, where we de-normalized multiple
transaction tables to stg_location table. Also, shows Table to Table mapping i.e Customer table to
Stg_Customer.
Fig.03: Customer Correspondence Data Model (Staging)
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 4
Target Data Model: The below one is Target data model. It is clearly visible in the model that the
tables are now representing in Dimension and Facts.
Fig.04: Customer Correspondence Data Model :OLAP (Target)
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 5
Creating Data Server
1.Create Data Server for Source
2.Right click on technology &
click create new data server
then insert information like
dataserver name,DB username
and password
3.insert information in JDBC
driver
4.Test connection
3. Setting up Dataserver, Physical schema& Logical schema in ODI :-
2.1) Create Data Server for Source Database:
Fig.05: Creating Source Dataserver (OLTP)
2.2) Specify JDBC Driver and URL:
2.3)
Fig.06: Specify JDBC Driver & URL
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 6
Creating Physical Schema
1.Create physical schema
2.Right click on data server and
click create new physical
schema
3.Then scroll down schema and
select correct user schema &
work schema also where
temporary table will store
during execution.
2.3) Create Physical Schema for source :
Fig.07: creating Physical schema for source
2.4) Create Data Server for Staging Database:
Fig.08: Creating Data Server for staging
2.5) Specify JDBC Driver and URL:
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 7
Fig.09: JDBC Driver & URL
2.6) Create Physical Schema for staging:
Fig.10: creating Physical schema for staging
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 8
2.7) Create Data Server for Target Database:
Fig.11: Creating Dataserver for Target (OLAP)
2.8) Specify JDBC Driver and URL:
Fig.12: JDBC Driver & URL
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 9
2.9) Create Physical schema for Target:
Fig.13: creating Physical schema for Target
2.10) Contexts in ODI which we’ll use for physical schemas:
Fig.14: Contexts
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 10
2.11) Create logical schema for source, staging and target (Data servers):
Fig.15: Creating Logical schema for Source,Staging & Target
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 11
4. Organizing Model in ODI of Source, Staging & Target :-
4.1) Organizing Model of Source :
Fig.16: Creating Model & validate datastores (Tables) [Source]
4.2) Organizing Model of Staging :
Fig.17: Creating Model & validate datastores (Tables) [Staging]
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 12
4.3) Organizing Model of Target: We create model for source ,staging and target and validate
each datastores(Table) their columns , datatypes and length etc. for further operations
Fig.18: Creating Model & validate datastores(Tables) [Target]
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 13
5. Creating Interface to move data from Source table to Staging -
5.1) The requirement of project : That to move data from source table to staging & for that we
need to create interface to transform data and flow.
Fig.19: Creating Model & validate datastores(Tables) [Target]
5.2) Create Interface for Customer:
Where source is <source(Table:Customer)Staging(Table:Stg_Customer)>
Fig.20: Interface (Source to Staging for Table Customer 1:1 Mapping)
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 14
5.3) Create Interface for Mailing_Address:
Where source is <source(Table:Mailing_Address)Staging(Table:Stg_Mailing_Address)>
Fig.21: Interface (Source to Staging for Table Mailing_Address 1:1 Mapping)
5.4) Create Interface for Metropolitan_Statical_Area: Where source is
<source(Table: Metropolitan_Statical_Area Staging(Table:Lk_ Metropolitan_Statical_Area)>
Fig.22: Interface (Source to Staging for Table Metropolitan_Statical_address 1:1 Mapping)
5.5) Create Interface for Street_Address_Component: Where source is
<source(Table: Street_Address_Component Staging(Table:STG_Street_Address_Component)>
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 15
Fig.23: Interface (Source to Staging for Table Street_Address_Component 1:1 Mapping)
5.6) Create Interface for STG_Location: Where source is
<source(Table: As shown in diagram Staging(Table:STG_Location)>
Fig.24: Interface (Source to Staging for Table STG_Location Many to once 7:1 Mapping)
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 16
6. Creating Interface for move data from Staging table to Target:-
6.1) Create Interface for Dim_Customer: Where source is
<Staging(Table: STG_Customer Target(Table:TRG_Customer)>
Fig.25: Interface (Staging to Target for Table Dim_Customer 1:1 Mapping)
6.2) Create Interface for Dim_Mailing_Address: Where source is
<Staging(Table: STG_Mailing_Address Target(Table:DIM_Mailing_Address)>
Fig.26: Interface (Staging to Target for Table Dim_Mailing_Address 1:1 Mapping)
6.3) Create Interface for Dim_Street_Address_Component: Where source is
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 17
<Staging(Table: STG_Street_Address_Component Target(Table:DIM_ Street_Address_Component)>
Fig.27: Interface (Staging to Target for Table Dim_Street_Address_Component 1:1 Mapping)
6.4) Create Interface for Dim_Location: Where source is
<Staging(Table: STG_Location Target(Table:DIM_Location)>
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 18
Fig.28: Interface (Staging to Target for Table Dim_Location 1:1 Mapping)
6.5) Create Interface for Fact_Customer_Correspondence: Where source is
<Staging(Table: STG_Location & STG_Customer Target(Table: Fact_Customer_Correspondence)>
Fig.29: Interface (Staging to Target for Table Fact_Customer_Correspondence 2:1 Mapping)
7. Creating Package to make system automatic execution:-
7.1) Create Package for operation Customer_Correspondence_Data_Model:
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 19
Creating Package
1.Right Click on Package &
select create new package
2.Enter name , then go to
diagram part of package(top
down you can see diagram
tab),
3.Drag & drop interfaces step
by step and arrange with
correct sequence according to
need as shown in below
diagram.
Fig.30: Creating Package
7.2) Package :
Fig.31 : Package (Diagram) Contains all interfaces with sequence of execution
7.3) Generating Scenario:
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 20
Fig.32 :Generating Scenario
7.4) Apply Scheduling for timely automatic operation :
Fig.33: Apply scheduling and setting up timings ,agent etc..
7.5) Tables before Execution (Data):-
(i)Source:-
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 21
(ii)Staging:-
(iii)Target:-
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 22
Fig.35 :Staging
Fig.36 :Target
Fig.34 :Source
7.6) Execute Successfully:-
Fig.37 : Execution of scheduling & watch execution results
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 23
7.7)Execution Result for Table (Customer ): Here I have shown result of 1 execution but you can
see complete result of execution and know data movement and steps.
Fig.38 : Steps of Execution of Interface for table Customer
Fig.39: Steps of Execution of Interface for table Customer
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 24
7.8) Data Flow from Source  Staging Target :-
Fig.40: Data Movement from SourceStagingTarget
http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 25

Contenu connexe

En vedette

Getting started-with-oracle-so a-iii
Getting started-with-oracle-so a-iiiGetting started-with-oracle-so a-iii
Getting started-with-oracle-so a-iii
Amit Sharma
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-iv
Amit Sharma
 
Getting started-with-oracle-so a-i
Getting started-with-oracle-so a-iGetting started-with-oracle-so a-i
Getting started-with-oracle-so a-i
Amit Sharma
 
Hfm task atumation
Hfm task atumationHfm task atumation
Hfm task atumation
Amit Sharma
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-iv
Amit Sharma
 
Getting started-with-oracle-so a-ii
Getting started-with-oracle-so a-iiGetting started-with-oracle-so a-ii
Getting started-with-oracle-so a-ii
Amit Sharma
 
Visualforce controllers
Visualforce controllersVisualforce controllers
Visualforce controllers
Amit Sharma
 
Getting started-with-oracle-so a-v
Getting started-with-oracle-so a-vGetting started-with-oracle-so a-v
Getting started-with-oracle-so a-v
Amit Sharma
 

En vedette (14)

Oracle11g form course-curriculum
Oracle11g form course-curriculumOracle11g form course-curriculum
Oracle11g form course-curriculum
 
Getting started-with-oracle-so a-iii
Getting started-with-oracle-so a-iiiGetting started-with-oracle-so a-iii
Getting started-with-oracle-so a-iii
 
Dot net-course-curriculumn
Dot net-course-curriculumnDot net-course-curriculumn
Dot net-course-curriculumn
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-iv
 
Getting started-with-oracle-so a-i
Getting started-with-oracle-so a-iGetting started-with-oracle-so a-i
Getting started-with-oracle-so a-i
 
Hfm task atumation
Hfm task atumationHfm task atumation
Hfm task atumation
 
Getting started-with-oracle-so a-iv
Getting started-with-oracle-so a-ivGetting started-with-oracle-so a-iv
Getting started-with-oracle-so a-iv
 
Getting started-with-oracle-so a-ii
Getting started-with-oracle-so a-iiGetting started-with-oracle-so a-ii
Getting started-with-oracle-so a-ii
 
Essbase administration
Essbase administrationEssbase administration
Essbase administration
 
Visualforce controllers
Visualforce controllersVisualforce controllers
Visualforce controllers
 
Odi course curriculumn
Odi course curriculumnOdi course curriculumn
Odi course curriculumn
 
Getting started-with-oracle-so a-v
Getting started-with-oracle-so a-vGetting started-with-oracle-so a-v
Getting started-with-oracle-so a-v
 
Oracle11g form-course-curriculum
Oracle11g form-course-curriculumOracle11g form-course-curriculum
Oracle11g form-course-curriculum
 
Adding metadata using smartview
Adding metadata using smartviewAdding metadata using smartview
Adding metadata using smartview
 

Plus de Amit Sharma

Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1
Amit Sharma
 
Oracle apex hands on lab#2
Oracle apex hands on lab#2Oracle apex hands on lab#2
Oracle apex hands on lab#2
Amit Sharma
 
Security and-data-access-document
Security and-data-access-documentSecurity and-data-access-document
Security and-data-access-document
Amit Sharma
 
Sales force managing-data
Sales force managing-dataSales force managing-data
Sales force managing-data
Amit Sharma
 
Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...
Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...
Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...
Amit Sharma
 
Sales force certification-lab-ii
Sales force certification-lab-iiSales force certification-lab-ii
Sales force certification-lab-ii
Amit Sharma
 
Sales force certification-lab
Sales force certification-labSales force certification-lab
Sales force certification-lab
Amit Sharma
 

Plus de Amit Sharma (20)

Oracle enteprise pbcs drivers and assumptions
Oracle enteprise pbcs drivers and assumptionsOracle enteprise pbcs drivers and assumptions
Oracle enteprise pbcs drivers and assumptions
 
Oracle EPBCS Driver
Oracle EPBCS Driver Oracle EPBCS Driver
Oracle EPBCS Driver
 
Oracle Sales Quotation Planning
Oracle Sales Quotation PlanningOracle Sales Quotation Planning
Oracle Sales Quotation Planning
 
Oracle strategic workforce planning cloud hcmswp converted
Oracle strategic workforce planning cloud hcmswp convertedOracle strategic workforce planning cloud hcmswp converted
Oracle strategic workforce planning cloud hcmswp converted
 
Basics of fdmee
Basics of fdmeeBasics of fdmee
Basics of fdmee
 
FDMEE script examples
FDMEE script examplesFDMEE script examples
FDMEE script examples
 
Oracle PBCS creating standard application
Oracle PBCS creating  standard applicationOracle PBCS creating  standard application
Oracle PBCS creating standard application
 
Hfm rule custom consolidation
Hfm rule custom consolidationHfm rule custom consolidation
Hfm rule custom consolidation
 
Hfm calculating RoA
Hfm calculating RoAHfm calculating RoA
Hfm calculating RoA
 
Hyperion planning weekly distribution
Hyperion planning weekly distributionHyperion planning weekly distribution
Hyperion planning weekly distribution
 
Hyperion planning scheduling data import
Hyperion planning scheduling data importHyperion planning scheduling data import
Hyperion planning scheduling data import
 
Hyperion planning new features
Hyperion planning new featuresHyperion planning new features
Hyperion planning new features
 
Microsoft dynamics crm videos
Microsoft dynamics crm videosMicrosoft dynamics crm videos
Microsoft dynamics crm videos
 
Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1Oracle apex-hands-on-guide lab#1
Oracle apex-hands-on-guide lab#1
 
Oracle apex hands on lab#2
Oracle apex hands on lab#2Oracle apex hands on lab#2
Oracle apex hands on lab#2
 
Security and-data-access-document
Security and-data-access-documentSecurity and-data-access-document
Security and-data-access-document
 
Sales force managing-data
Sales force managing-dataSales force managing-data
Sales force managing-data
 
Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...
Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...
Salesforce interview-preparation-toolkit-formula-and-validation-rules-in-sale...
 
Sales force certification-lab-ii
Sales force certification-lab-iiSales force certification-lab-ii
Sales force certification-lab-ii
 
Sales force certification-lab
Sales force certification-labSales force certification-lab
Sales force certification-lab
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Dernier (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Odi case study customer correspondence dm

  • 1. Oracle Data Integrator 11g Case Study “Customer Correspondence Data Model” Description: This is another document from “ODI Case Studies Series”. The Document focuses how to convert transactional normalized data model to star schema. It also demonstrates the implementation of factless fact table in order to build star schema. The case studies show the data movement from SourceStagingTarget. History: Version Description Change Author Publish Date 0.1 Initial Draft Anil Patel 5-April-2012 0.1 Initial Draft Amit Sharma 5-April-2012 http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 1
  • 2. Oracle Data Integrator - Customer Correspondence Data Model Chapter No. Title Page No. 1. Introduction to Customer Correspondence Data Model 3 2. Custom Correspondence Data Models of Source, Staging & Target 4 3. Setting up Dataserver, Physical schema& Logical schema in ODI 6 4. Organizing Model in ODI of Source, Staging & Target 12 5. Creating Interface for move data from Source table to Staging 14 6. Creating Interface for move data from Staging table to Target 17 7. Package for make system automatic execution 20 http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 2
  • 3. 1. Introduction to Customer Correspondence Data Model :- Introduction: Customer Correspondence Data Model is a repository for customer contact details. This information is required in various business events in order to communicate to the customers. This model is part of CRM application. The document shows you step by step way that how did we convert the transaction Customer Correspondence model to Dimension model required for Business Intelligence Reporting. The CC dimension model will be used for BI reporting tools to identify various trends and analysis related to customer contact details. i.e Business wants to identify customer demographics based on the customer location. Business may like to know revenue based on customer’s location. There are such many analysis business wants to find however, such kinds of analysis can’t be directly build on top of transaction model. The below diagram shows the final output transformation of transaction model to star schema. Fact_Customer_Correspondence is a factless fact table. Fig.01 : Customer Correspondence Data Model :OLAP(Target) http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 3
  • 4. 2. Custom Correspondence Data Models of Source, Staging & Target :- Source Data Model: This is source data which represent OLTP data model. This consists of Tables, keys, constraints, joins. Fig.02: Customer Correspondence Data Model: OLTP (Source) Staging Data Model: The below model shows the staging area, where we de-normalized multiple transaction tables to stg_location table. Also, shows Table to Table mapping i.e Customer table to Stg_Customer. Fig.03: Customer Correspondence Data Model (Staging) http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 4
  • 5. Target Data Model: The below one is Target data model. It is clearly visible in the model that the tables are now representing in Dimension and Facts. Fig.04: Customer Correspondence Data Model :OLAP (Target) http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 5
  • 6. Creating Data Server 1.Create Data Server for Source 2.Right click on technology & click create new data server then insert information like dataserver name,DB username and password 3.insert information in JDBC driver 4.Test connection 3. Setting up Dataserver, Physical schema& Logical schema in ODI :- 2.1) Create Data Server for Source Database: Fig.05: Creating Source Dataserver (OLTP) 2.2) Specify JDBC Driver and URL: 2.3) Fig.06: Specify JDBC Driver & URL http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 6
  • 7. Creating Physical Schema 1.Create physical schema 2.Right click on data server and click create new physical schema 3.Then scroll down schema and select correct user schema & work schema also where temporary table will store during execution. 2.3) Create Physical Schema for source : Fig.07: creating Physical schema for source 2.4) Create Data Server for Staging Database: Fig.08: Creating Data Server for staging 2.5) Specify JDBC Driver and URL: http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 7
  • 8. Fig.09: JDBC Driver & URL 2.6) Create Physical Schema for staging: Fig.10: creating Physical schema for staging http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 8
  • 9. 2.7) Create Data Server for Target Database: Fig.11: Creating Dataserver for Target (OLAP) 2.8) Specify JDBC Driver and URL: Fig.12: JDBC Driver & URL http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 9
  • 10. 2.9) Create Physical schema for Target: Fig.13: creating Physical schema for Target 2.10) Contexts in ODI which we’ll use for physical schemas: Fig.14: Contexts http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 10
  • 11. 2.11) Create logical schema for source, staging and target (Data servers): Fig.15: Creating Logical schema for Source,Staging & Target http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 11
  • 12. 4. Organizing Model in ODI of Source, Staging & Target :- 4.1) Organizing Model of Source : Fig.16: Creating Model & validate datastores (Tables) [Source] 4.2) Organizing Model of Staging : Fig.17: Creating Model & validate datastores (Tables) [Staging] http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 12
  • 13. 4.3) Organizing Model of Target: We create model for source ,staging and target and validate each datastores(Table) their columns , datatypes and length etc. for further operations Fig.18: Creating Model & validate datastores(Tables) [Target] http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 13
  • 14. 5. Creating Interface to move data from Source table to Staging - 5.1) The requirement of project : That to move data from source table to staging & for that we need to create interface to transform data and flow. Fig.19: Creating Model & validate datastores(Tables) [Target] 5.2) Create Interface for Customer: Where source is <source(Table:Customer)Staging(Table:Stg_Customer)> Fig.20: Interface (Source to Staging for Table Customer 1:1 Mapping) http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 14
  • 15. 5.3) Create Interface for Mailing_Address: Where source is <source(Table:Mailing_Address)Staging(Table:Stg_Mailing_Address)> Fig.21: Interface (Source to Staging for Table Mailing_Address 1:1 Mapping) 5.4) Create Interface for Metropolitan_Statical_Area: Where source is <source(Table: Metropolitan_Statical_Area Staging(Table:Lk_ Metropolitan_Statical_Area)> Fig.22: Interface (Source to Staging for Table Metropolitan_Statical_address 1:1 Mapping) 5.5) Create Interface for Street_Address_Component: Where source is <source(Table: Street_Address_Component Staging(Table:STG_Street_Address_Component)> http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 15
  • 16. Fig.23: Interface (Source to Staging for Table Street_Address_Component 1:1 Mapping) 5.6) Create Interface for STG_Location: Where source is <source(Table: As shown in diagram Staging(Table:STG_Location)> Fig.24: Interface (Source to Staging for Table STG_Location Many to once 7:1 Mapping) http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 16
  • 17. 6. Creating Interface for move data from Staging table to Target:- 6.1) Create Interface for Dim_Customer: Where source is <Staging(Table: STG_Customer Target(Table:TRG_Customer)> Fig.25: Interface (Staging to Target for Table Dim_Customer 1:1 Mapping) 6.2) Create Interface for Dim_Mailing_Address: Where source is <Staging(Table: STG_Mailing_Address Target(Table:DIM_Mailing_Address)> Fig.26: Interface (Staging to Target for Table Dim_Mailing_Address 1:1 Mapping) 6.3) Create Interface for Dim_Street_Address_Component: Where source is http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 17
  • 18. <Staging(Table: STG_Street_Address_Component Target(Table:DIM_ Street_Address_Component)> Fig.27: Interface (Staging to Target for Table Dim_Street_Address_Component 1:1 Mapping) 6.4) Create Interface for Dim_Location: Where source is <Staging(Table: STG_Location Target(Table:DIM_Location)> http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 18
  • 19. Fig.28: Interface (Staging to Target for Table Dim_Location 1:1 Mapping) 6.5) Create Interface for Fact_Customer_Correspondence: Where source is <Staging(Table: STG_Location & STG_Customer Target(Table: Fact_Customer_Correspondence)> Fig.29: Interface (Staging to Target for Table Fact_Customer_Correspondence 2:1 Mapping) 7. Creating Package to make system automatic execution:- 7.1) Create Package for operation Customer_Correspondence_Data_Model: http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 19
  • 20. Creating Package 1.Right Click on Package & select create new package 2.Enter name , then go to diagram part of package(top down you can see diagram tab), 3.Drag & drop interfaces step by step and arrange with correct sequence according to need as shown in below diagram. Fig.30: Creating Package 7.2) Package : Fig.31 : Package (Diagram) Contains all interfaces with sequence of execution 7.3) Generating Scenario: http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 20
  • 21. Fig.32 :Generating Scenario 7.4) Apply Scheduling for timely automatic operation : Fig.33: Apply scheduling and setting up timings ,agent etc.. 7.5) Tables before Execution (Data):- (i)Source:- http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 21
  • 23. 7.6) Execute Successfully:- Fig.37 : Execution of scheduling & watch execution results http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 23
  • 24. 7.7)Execution Result for Table (Customer ): Here I have shown result of 1 execution but you can see complete result of execution and know data movement and steps. Fig.38 : Steps of Execution of Interface for table Customer Fig.39: Steps of Execution of Interface for table Customer http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 24
  • 25. 7.8) Data Flow from Source  Staging Target :- Fig.40: Data Movement from SourceStagingTarget http://learnodi.wordpress.com http://learnodi.blogspot.com http://hyperionguru.com 25