SlideShare una empresa de Scribd logo
1 de 23
Business Intelligence
                         Portfolio




Ma haMe n
  nis  no
menonmanisha@yahoo.com
908-769-9399
Overview
The project is for a fictitious construction company called AllWorks. We designed
and built a SQL Server 2005 database to track employee and customer
information, timesheet and labor rates data, as well as job order information, job
materials, and customer invoices. This information was previously stored in Excel
Spreadsheets, XML files, and .CSV files.

The objective of the SSIS project was to write ETLs to populate a SQL database
named AllWorksDBStudent from source files in the form of Excel Spreadsheets,
XML files, and .CSV files. The following were the packages prepared.

          Employee Master Package
            (the starting project contains a blank version of this one)
          Employee Rates Package
          Client Masters Package
          Client Grouping Package
          Division Master Package
          Client Groupings to Client Xref Master Package
          Project (“Job”) Master Package
          Job TimeSheets Package
A child package was also created to generate an email to
biproject@setfocus.com for the results of every package, including
rows inserted and any errors generated (for example, if data loads
contain child timesheet records with an invalid parent record).

A separate package was created to handle nightly database backups
and another package was created to re-index all files and shrink the
database.

Finally a Master Package was created to call all the above packages.
The packages were scheduled to run nightly at midnight. This job was
created in SQL Server Management Studio.

 
The EmailResultPackage.dtsx Package


                    This is a common package that is called
                    from the 1st seven packages.

                    Cool Feature: It gets its variables about
                    how many records were affected,
                    PackageName, Success/Failure etc. set
                    from the parent package using SSIS ->
                    Package Configurations -> Parent Package
                    Variable.

                    Cool Feature: The email is sent from:
                    PackageAdmin@setfocus.com
The EmployeeMasterPackage.dtsx Package


This package inserts / updates data from
C:SetFocusBISourceDataEmployees.xls,
Employees sheet.

It also has a child package called
EmailResultPackage.dtsx to email results
of running the package.
The EmployeeRatesPacakge.dtsx Package
This package inserts / updates data from C:SetFocusBISourceDataEmployees.xls, Employee Rates
sheet.

EmployeePK in the Employee Rates must exist in the Employee Master, else the record is not inserted
into the table and the record is sent to the log file
C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsEmployeeRatesLog.txt . The log files
are always appended to, not overwritten.

It also has a child package called EmailResultPackage.dtsx to email results of running the package.
The ClientMasterPackage.dtsx Package

 Thisp c g ins rts/ up a sd tafro
       a ka e e        d te a     m
  C tFo us
    :Se c BISo e ta lie
                  urc Da C ntGe g p s ,
                                  o ra hie .xls
  C nt Lis
    lie     tings e
                 he t.
 All c lum fro theXL s e a no lo d dintothe
        o ns m             he t re t a e
  DB.
 It a oha ac
      ls s hildp c g c lle
                     a ka e a d
  Em ilRe ultP c g .d x toe a re ultso running
      a s a ka e ts          m il s     f
  thep c g .
        a ka e
The ClientGroupingsMasterPackage.dtsx
Package
I have taken the liberty to design this package slightly differently – to showcase
a different way of doing this task, and to learn something new. The next
package which has a similar logic follows a different technique.

Cool Feature: In this package a SQL Command is run to give us the distinct
rows that are needed. So right from the beginning we cut down on a lot of data
being brought in. It is a good optimization technique.

This package inserts / updates data from
C:SetFocusBISourceDataClientGeographies.xls, Special Groupings sheet.

It picks the distinct ClientGroupingPK and its corresponding Name only from that
sheet.

It also has a child package called EmailResultPackage.dtsx to email results of
running the package.
The DivisionMasterPackage.dtsx Package
This package inserts / updates data from
C:SetFocusBISourceDataClientGeographies.xls, Division Definitions sheet.

It picks the distinct DivisionPK and its corresponding DivisionName only from
that sheet.

It also has a child package called EmailResultPackage.dtsx to email results
of running the package.

Cool Feature: In this package we will use the AGGREGATE DATA FLOW
ITEM TASK to achieve getting the distinct DivisionPK and its corresponding
DivisionName.
The ClientGroupingsXClientsPackage.dtsx
Package
This package inserts / updates data from
C:SetFocusBISourceDataClientGeographies.xls, Special Groupings
sheet.

It is manifests a one to many relation of the ClientGrouping and Clients.
The Account Key in the XLS is the ClientPK in Clients Master table.

Before insertion, the package makes sure that the ClientPK and
ClientGroupingPK are valid by checking its existence in their appropriate
master files. Non matching rows are sent to
C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsClientGro
upingsXClientLog.txt . The log files are always appended to, not
overwritten.

It also has a child package called EmailResultPackage.dtsx to email
results of running the package.
The ProjectMasterPackage.dtsx Package
    This package inserts / updates data from
    C:SetFocusBISourceDataProjectMaster.xls, Project
    Master Sheet into the Job Master Table. Project and Job
    are synonyms. ProjectID and JobMasterPK mean one and
    the same.

    Before insertion, the package makes sure that the
    ClientPK is valid by checking its existence in the Clients
    master file. Non matching rows are sent to
    C:SetFocusBIProjectsStudentVersionSSISStudentProje
    ctLogsProjectMasterLog.txt . The log files are always
    appended to, not overwritten.

    It also has a child package called
    EmailResultPackage.dtsx to email results of running the
    package.
The ProjectTimesheetsPackage.dtsx
Package
This package reads data from all .CSV files in the
C:SetFocusBISourceDatatime directory and processes it. It
expects those files to have Timesheet related data and inserts the
timesheet records in the JobTimeSheets Table.

Before insertion, the package makes sure that the EmployeePK is
valid by checking its existence in the Employees master table. Non
matching rows are sent to
C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsPr
ojectTimesheetLog.txt . The log files are always appended to, not
overwritten.

Before insertion, the package also makes sure that the
JobMasterPK is valid by checking its existence in the JobsMaster
table. Non matching rows are sent to
C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsPr
ojectTimesheetLog.txt . The log files are always appended to, not
overwritten.
The EmployeePK, JobMasterPK and the Workdate
combination must be unique for each record to be qualified
for a new insert, else it will update the record.

Cool Feature: It also sends email notification about the
results of running the package. To do this it uses a user
variable to store the intermittent status of each file
processed and appends the new results to it. After all files
are processed in the ForEachLoop, the email is sent with
the complete message with status of processing all files, the
names of the files processed, the # rows inserted / updated
etc. the in the user variable.

Cool Feature: The email is sent from:
PackageAdmin@setfocus.com
The MiscTasksPackage.dtsx

      This was a quick package written without
      much frills just to get data into the County
      Master.
The BackupDatabasePackage.dtsx
The
ReIndexAndShrinkDatabasePackage.dtsx
The MasterControllerPackage.dtsx




                 This is the Master Controller package that calls 10
                 other packages which do various tasks like loading
                 Master tables, Timesheets Table, Database Backup,
                 ReIndexing and Shrinking DB, etc.

                 The precedence control is set to 'On Completion' (Blue)
                 because we want it to execute whether the called
                 package executes with or without error as the called
                 package is self contained and does its own error
                 handling.

                 Note that the sequence of calling some of the
                 packages is important.

Más contenido relacionado

La actualidad más candente

MS BI SSAS Project Portfolio
MS BI SSAS Project PortfolioMS BI SSAS Project Portfolio
MS BI SSAS Project Portfoliopencarver
 
DDL logging Parameter in Oracle 11g & 12c
DDL logging Parameter in Oracle 11g & 12c DDL logging Parameter in Oracle 11g & 12c
DDL logging Parameter in Oracle 11g & 12c Syed SadathUllah
 
Day 1 Data Stage Administrator And Director 11.0
Day 1 Data Stage Administrator And Director 11.0Day 1 Data Stage Administrator And Director 11.0
Day 1 Data Stage Administrator And Director 11.0kshanmug2
 
6.2\9 SSIS 2008R2_Training - DataFlow Transformations
6.2\9 SSIS 2008R2_Training - DataFlow Transformations6.2\9 SSIS 2008R2_Training - DataFlow Transformations
6.2\9 SSIS 2008R2_Training - DataFlow TransformationsPramod Singla
 
ELT Publishing Tool Overview V3_Jeff
ELT Publishing Tool Overview V3_JeffELT Publishing Tool Overview V3_Jeff
ELT Publishing Tool Overview V3_JeffJeff McQuigg
 
Datastage parallell jobs vs datastage server jobs
Datastage parallell jobs vs datastage server jobsDatastage parallell jobs vs datastage server jobs
Datastage parallell jobs vs datastage server jobsshanker_uma
 
Stop hardcoding follow parameterization
Stop hardcoding  follow parameterizationStop hardcoding  follow parameterization
Stop hardcoding follow parameterizationPreeti Sagar
 
Oracle DBA interview_questions
Oracle DBA interview_questionsOracle DBA interview_questions
Oracle DBA interview_questionsNaveen P
 
Ssis Best Practices Israel Bi U Ser Group Itay Braun
Ssis Best Practices   Israel Bi U Ser Group   Itay BraunSsis Best Practices   Israel Bi U Ser Group   Itay Braun
Ssis Best Practices Israel Bi U Ser Group Itay Braunsqlserver.co.il
 
7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script Task7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script TaskPramod Singla
 
Online Datastage training
Online Datastage trainingOnline Datastage training
Online Datastage trainingchpriyaa1
 
Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2nesmaddy
 

La actualidad más candente (18)

MS BI SSAS Project Portfolio
MS BI SSAS Project PortfolioMS BI SSAS Project Portfolio
MS BI SSAS Project Portfolio
 
DDL logging Parameter in Oracle 11g & 12c
DDL logging Parameter in Oracle 11g & 12c DDL logging Parameter in Oracle 11g & 12c
DDL logging Parameter in Oracle 11g & 12c
 
Manipulating files with the file system task using SSIS
Manipulating files with the file system task using SSISManipulating files with the file system task using SSIS
Manipulating files with the file system task using SSIS
 
Migration from 8.1 to 11.3
Migration from 8.1 to 11.3Migration from 8.1 to 11.3
Migration from 8.1 to 11.3
 
Day 1 Data Stage Administrator And Director 11.0
Day 1 Data Stage Administrator And Director 11.0Day 1 Data Stage Administrator And Director 11.0
Day 1 Data Stage Administrator And Director 11.0
 
Less15 Backups
Less15 BackupsLess15 Backups
Less15 Backups
 
6.2\9 SSIS 2008R2_Training - DataFlow Transformations
6.2\9 SSIS 2008R2_Training - DataFlow Transformations6.2\9 SSIS 2008R2_Training - DataFlow Transformations
6.2\9 SSIS 2008R2_Training - DataFlow Transformations
 
ELT Publishing Tool Overview V3_Jeff
ELT Publishing Tool Overview V3_JeffELT Publishing Tool Overview V3_Jeff
ELT Publishing Tool Overview V3_Jeff
 
Datastage parallell jobs vs datastage server jobs
Datastage parallell jobs vs datastage server jobsDatastage parallell jobs vs datastage server jobs
Datastage parallell jobs vs datastage server jobs
 
Stop hardcoding follow parameterization
Stop hardcoding  follow parameterizationStop hardcoding  follow parameterization
Stop hardcoding follow parameterization
 
Oracle DBA interview_questions
Oracle DBA interview_questionsOracle DBA interview_questions
Oracle DBA interview_questions
 
Les 03 Catalog
Les 03 CatalogLes 03 Catalog
Les 03 Catalog
 
Ssis Best Practices Israel Bi U Ser Group Itay Braun
Ssis Best Practices   Israel Bi U Ser Group   Itay BraunSsis Best Practices   Israel Bi U Ser Group   Itay Braun
Ssis Best Practices Israel Bi U Ser Group Itay Braun
 
7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script Task7\9 SSIS 2008R2_Training - Script Task
7\9 SSIS 2008R2_Training - Script Task
 
Online Datastage training
Online Datastage trainingOnline Datastage training
Online Datastage training
 
Less17 Util
Less17  UtilLess17  Util
Less17 Util
 
Dial Tone Portability
Dial Tone PortabilityDial Tone Portability
Dial Tone Portability
 
Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2Steps for upgrading the database to 10g release 2
Steps for upgrading the database to 10g release 2
 

Destacado

Huni-rex, a unicycle with transmission
Huni-rex, a unicycle with transmissionHuni-rex, a unicycle with transmission
Huni-rex, a unicycle with transmissionZsófi Koczeth
 
Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...
Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...
Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...Luis Fernando Salgado
 
Slideshare 1
Slideshare 1Slideshare 1
Slideshare 1ttirroni
 
Loppuraportti
LoppuraporttiLoppuraportti
Loppuraporttittirroni
 
myLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup PresentationmyLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup PresentationElian Chrebor
 
Mbs esittelykalvot 10_nuorisokoulutus
Mbs esittelykalvot 10_nuorisokoulutusMbs esittelykalvot 10_nuorisokoulutus
Mbs esittelykalvot 10_nuorisokoulutusttirroni
 
Slideshare
SlideshareSlideshare
Slidesharettirroni
 
Slideshare
SlideshareSlideshare
Slidesharettirroni
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosDicavelasco
 
Slideshare
SlideshareSlideshare
Slidesharettirroni
 
Independent Study Guide
Independent Study GuideIndependent Study Guide
Independent Study Guideguestc44c6788
 
Future Thinking Project
Future Thinking ProjectFuture Thinking Project
Future Thinking ProjectA S
 
Successful Learner PPT
Successful Learner PPTSuccessful Learner PPT
Successful Learner PPTA S
 
O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016
O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016
O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016Thiago Miqueri
 
Creating a Culture of Service Excellence
Creating a Culture of Service ExcellenceCreating a Culture of Service Excellence
Creating a Culture of Service Excellencetheojamison
 
Sustainable Architecture PPT
Sustainable Architecture PPTSustainable Architecture PPT
Sustainable Architecture PPTA S
 

Destacado (18)

Huni-rex, a unicycle with transmission
Huni-rex, a unicycle with transmissionHuni-rex, a unicycle with transmission
Huni-rex, a unicycle with transmission
 
Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...
Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...
Proyecto de criterios y pautas de evaluacion para asignatura b-Learning-Proje...
 
Slideshare 1
Slideshare 1Slideshare 1
Slideshare 1
 
Loppuraportti
LoppuraporttiLoppuraportti
Loppuraportti
 
myLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup PresentationmyLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup Presentation
 
Mbs esittelykalvot 10_nuorisokoulutus
Mbs esittelykalvot 10_nuorisokoulutusMbs esittelykalvot 10_nuorisokoulutus
Mbs esittelykalvot 10_nuorisokoulutus
 
Slideshare
SlideshareSlideshare
Slideshare
 
Slideshare
SlideshareSlideshare
Slideshare
 
e-tipi Features
e-tipi Featurese-tipi Features
e-tipi Features
 
Code generation
Code generationCode generation
Code generation
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Slideshare
SlideshareSlideshare
Slideshare
 
Independent Study Guide
Independent Study GuideIndependent Study Guide
Independent Study Guide
 
Future Thinking Project
Future Thinking ProjectFuture Thinking Project
Future Thinking Project
 
Successful Learner PPT
Successful Learner PPTSuccessful Learner PPT
Successful Learner PPT
 
O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016
O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016
O Futuro dos Stands de Vendas do mercado imobiliário - Conecta Imobi 2016
 
Creating a Culture of Service Excellence
Creating a Culture of Service ExcellenceCreating a Culture of Service Excellence
Creating a Culture of Service Excellence
 
Sustainable Architecture PPT
Sustainable Architecture PPTSustainable Architecture PPT
Sustainable Architecture PPT
 

Similar a Manisha Menon Ssis Portfolio

Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence Portfolioamoffat
 
David Weston SSIS Portfolio
David Weston SSIS PortfolioDavid Weston SSIS Portfolio
David Weston SSIS Portfoliodlweston
 
MMYERS Portfolio
MMYERS PortfolioMMYERS Portfolio
MMYERS PortfolioMike Myers
 
B Woodward Portfolio
B Woodward PortfolioB Woodward Portfolio
B Woodward Portfoliobwoodward
 
SSIS Project Profile
SSIS Project ProfileSSIS Project Profile
SSIS Project Profiletthompson0421
 
5 tsssisu sql_server_2012
5 tsssisu sql_server_20125 tsssisu sql_server_2012
5 tsssisu sql_server_2012Steve Xu
 
]project-open[ Package Manager
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package ManagerKlaus Hofeditz
 
Bilir's Business Intelligence Portfolio SSIS Project
Bilir's Business Intelligence Portfolio SSIS ProjectBilir's Business Intelligence Portfolio SSIS Project
Bilir's Business Intelligence Portfolio SSIS ProjectFigen Bilir
 
06 Using More Package Concepts
06 Using More Package Concepts06 Using More Package Concepts
06 Using More Package Conceptsrehaniltifat
 
Ssis2008 120710214348-phpapp02
Ssis2008 120710214348-phpapp02Ssis2008 120710214348-phpapp02
Ssis2008 120710214348-phpapp02sumitkumar3201
 
Mike Tangedal Sas Solutions
Mike Tangedal Sas SolutionsMike Tangedal Sas Solutions
Mike Tangedal Sas SolutionsMinneapolisMike
 
Ssis First Project Word7
Ssis First Project Word7Ssis First Project Word7
Ssis First Project Word7jolisadillard
 
Ssis sql ssrs_sp_hb_li
Ssis sql ssrs_sp_hb_liSsis sql ssrs_sp_hb_li
Ssis sql ssrs_sp_hb_liHong-Bing Li
 
Oracle - Program with PL/SQL - Lession 13
Oracle - Program with PL/SQL - Lession 13Oracle - Program with PL/SQL - Lession 13
Oracle - Program with PL/SQL - Lession 13Thuan Nguyen
 

Similar a Manisha Menon Ssis Portfolio (20)

Business Intelligence Portfolio
Business Intelligence PortfolioBusiness Intelligence Portfolio
Business Intelligence Portfolio
 
David Weston SSIS Portfolio
David Weston SSIS PortfolioDavid Weston SSIS Portfolio
David Weston SSIS Portfolio
 
MMYERS Portfolio
MMYERS PortfolioMMYERS Portfolio
MMYERS Portfolio
 
B Woodward Portfolio
B Woodward PortfolioB Woodward Portfolio
B Woodward Portfolio
 
SSIS Project Profile
SSIS Project ProfileSSIS Project Profile
SSIS Project Profile
 
5 tsssisu sql_server_2012
5 tsssisu sql_server_20125 tsssisu sql_server_2012
5 tsssisu sql_server_2012
 
]project-open[ Package Manager
]project-open[ Package Manager]project-open[ Package Manager
]project-open[ Package Manager
 
Ssis event handler
Ssis event handlerSsis event handler
Ssis event handler
 
Bilir's Business Intelligence Portfolio SSIS Project
Bilir's Business Intelligence Portfolio SSIS ProjectBilir's Business Intelligence Portfolio SSIS Project
Bilir's Business Intelligence Portfolio SSIS Project
 
06 Using More Package Concepts
06 Using More Package Concepts06 Using More Package Concepts
06 Using More Package Concepts
 
Preparing Import Files
Preparing Import FilesPreparing Import Files
Preparing Import Files
 
Ssis2008 120710214348-phpapp02
Ssis2008 120710214348-phpapp02Ssis2008 120710214348-phpapp02
Ssis2008 120710214348-phpapp02
 
Mike Tangedal Sas Solutions
Mike Tangedal Sas SolutionsMike Tangedal Sas Solutions
Mike Tangedal Sas Solutions
 
Pl lab solution
Pl lab solutionPl lab solution
Pl lab solution
 
Ssis First Project Word7
Ssis First Project Word7Ssis First Project Word7
Ssis First Project Word7
 
Ssis sql ssrs_sp_hb_li
Ssis sql ssrs_sp_hb_liSsis sql ssrs_sp_hb_li
Ssis sql ssrs_sp_hb_li
 
Abstract.DOCX
Abstract.DOCXAbstract.DOCX
Abstract.DOCX
 
Data load utility
Data load utilityData load utility
Data load utility
 
Oracle - Program with PL/SQL - Lession 13
Oracle - Program with PL/SQL - Lession 13Oracle - Program with PL/SQL - Lession 13
Oracle - Program with PL/SQL - Lession 13
 
Ssis 2008
Ssis 2008Ssis 2008
Ssis 2008
 

Manisha Menon Ssis Portfolio

  • 1. Business Intelligence Portfolio Ma haMe n nis no menonmanisha@yahoo.com 908-769-9399
  • 2. Overview The project is for a fictitious construction company called AllWorks. We designed and built a SQL Server 2005 database to track employee and customer information, timesheet and labor rates data, as well as job order information, job materials, and customer invoices. This information was previously stored in Excel Spreadsheets, XML files, and .CSV files. The objective of the SSIS project was to write ETLs to populate a SQL database named AllWorksDBStudent from source files in the form of Excel Spreadsheets, XML files, and .CSV files. The following were the packages prepared. Employee Master Package (the starting project contains a blank version of this one) Employee Rates Package Client Masters Package Client Grouping Package Division Master Package Client Groupings to Client Xref Master Package Project (“Job”) Master Package Job TimeSheets Package
  • 3. A child package was also created to generate an email to biproject@setfocus.com for the results of every package, including rows inserted and any errors generated (for example, if data loads contain child timesheet records with an invalid parent record). A separate package was created to handle nightly database backups and another package was created to re-index all files and shrink the database. Finally a Master Package was created to call all the above packages. The packages were scheduled to run nightly at midnight. This job was created in SQL Server Management Studio.  
  • 4. The EmailResultPackage.dtsx Package This is a common package that is called from the 1st seven packages. Cool Feature: It gets its variables about how many records were affected, PackageName, Success/Failure etc. set from the parent package using SSIS -> Package Configurations -> Parent Package Variable. Cool Feature: The email is sent from: PackageAdmin@setfocus.com
  • 5. The EmployeeMasterPackage.dtsx Package This package inserts / updates data from C:SetFocusBISourceDataEmployees.xls, Employees sheet. It also has a child package called EmailResultPackage.dtsx to email results of running the package.
  • 7. This package inserts / updates data from C:SetFocusBISourceDataEmployees.xls, Employee Rates sheet. EmployeePK in the Employee Rates must exist in the Employee Master, else the record is not inserted into the table and the record is sent to the log file C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsEmployeeRatesLog.txt . The log files are always appended to, not overwritten. It also has a child package called EmailResultPackage.dtsx to email results of running the package.
  • 8. The ClientMasterPackage.dtsx Package  Thisp c g ins rts/ up a sd tafro a ka e e d te a m C tFo us :Se c BISo e ta lie urc Da C ntGe g p s , o ra hie .xls C nt Lis lie tings e he t.  All c lum fro theXL s e a no lo d dintothe o ns m he t re t a e DB.  It a oha ac ls s hildp c g c lle a ka e a d Em ilRe ultP c g .d x toe a re ultso running a s a ka e ts m il s f thep c g . a ka e
  • 10. I have taken the liberty to design this package slightly differently – to showcase a different way of doing this task, and to learn something new. The next package which has a similar logic follows a different technique. Cool Feature: In this package a SQL Command is run to give us the distinct rows that are needed. So right from the beginning we cut down on a lot of data being brought in. It is a good optimization technique. This package inserts / updates data from C:SetFocusBISourceDataClientGeographies.xls, Special Groupings sheet. It picks the distinct ClientGroupingPK and its corresponding Name only from that sheet. It also has a child package called EmailResultPackage.dtsx to email results of running the package.
  • 11. The DivisionMasterPackage.dtsx Package This package inserts / updates data from C:SetFocusBISourceDataClientGeographies.xls, Division Definitions sheet. It picks the distinct DivisionPK and its corresponding DivisionName only from that sheet. It also has a child package called EmailResultPackage.dtsx to email results of running the package. Cool Feature: In this package we will use the AGGREGATE DATA FLOW ITEM TASK to achieve getting the distinct DivisionPK and its corresponding DivisionName.
  • 12.
  • 14. This package inserts / updates data from C:SetFocusBISourceDataClientGeographies.xls, Special Groupings sheet. It is manifests a one to many relation of the ClientGrouping and Clients. The Account Key in the XLS is the ClientPK in Clients Master table. Before insertion, the package makes sure that the ClientPK and ClientGroupingPK are valid by checking its existence in their appropriate master files. Non matching rows are sent to C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsClientGro upingsXClientLog.txt . The log files are always appended to, not overwritten. It also has a child package called EmailResultPackage.dtsx to email results of running the package.
  • 15. The ProjectMasterPackage.dtsx Package This package inserts / updates data from C:SetFocusBISourceDataProjectMaster.xls, Project Master Sheet into the Job Master Table. Project and Job are synonyms. ProjectID and JobMasterPK mean one and the same. Before insertion, the package makes sure that the ClientPK is valid by checking its existence in the Clients master file. Non matching rows are sent to C:SetFocusBIProjectsStudentVersionSSISStudentProje ctLogsProjectMasterLog.txt . The log files are always appended to, not overwritten. It also has a child package called EmailResultPackage.dtsx to email results of running the package.
  • 17.
  • 18. This package reads data from all .CSV files in the C:SetFocusBISourceDatatime directory and processes it. It expects those files to have Timesheet related data and inserts the timesheet records in the JobTimeSheets Table. Before insertion, the package makes sure that the EmployeePK is valid by checking its existence in the Employees master table. Non matching rows are sent to C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsPr ojectTimesheetLog.txt . The log files are always appended to, not overwritten. Before insertion, the package also makes sure that the JobMasterPK is valid by checking its existence in the JobsMaster table. Non matching rows are sent to C:SetFocusBIProjectsStudentVersionSSISStudentProjectLogsPr ojectTimesheetLog.txt . The log files are always appended to, not overwritten.
  • 19. The EmployeePK, JobMasterPK and the Workdate combination must be unique for each record to be qualified for a new insert, else it will update the record. Cool Feature: It also sends email notification about the results of running the package. To do this it uses a user variable to store the intermittent status of each file processed and appends the new results to it. After all files are processed in the ForEachLoop, the email is sent with the complete message with status of processing all files, the names of the files processed, the # rows inserted / updated etc. the in the user variable. Cool Feature: The email is sent from: PackageAdmin@setfocus.com
  • 20. The MiscTasksPackage.dtsx This was a quick package written without much frills just to get data into the County Master.
  • 23. The MasterControllerPackage.dtsx This is the Master Controller package that calls 10 other packages which do various tasks like loading Master tables, Timesheets Table, Database Backup, ReIndexing and Shrinking DB, etc. The precedence control is set to 'On Completion' (Blue) because we want it to execute whether the called package executes with or without error as the called package is self contained and does its own error handling. Note that the sequence of calling some of the packages is important.