SlideShare a Scribd company logo
1 of 48
Download to read offline
PROJECTS PORTFOLIO
The core goal of the following projects portfolio, is to introduce the reader to the work I have done in
the area of Business Intelligence / Data Warehouse through my four and half years of experience in this
field.

The following are five projects covering, Microsoft SQL Server 2000, DTS, Analysis Services, Microsoft
SSIS, SSAS, SSRP 2005, SharePoint and Performance Point Server 2007.

Other skills I developed during this time are the administration of appropriate work and the successful
execution of projects. Good communication with the team work as well with other coworkers. Abilities
to implement and use a new methodology work. Change adaptation work.


Projects Titile

   1) Analysis, design, construction and implementation of a data warehouse for a company
      dedicated to the baking industry, supported with technologies from Microsoft SQL Server, Data
      Transformation Services, Analysis Services and Open Intelligence, using data mining models,
      followed Business Dimensional Lifecycle proposed by Dr. Ralph Kimball ....................................... 2
   2) Expand the application of The Business Intelligence for the departments of accounts payable,
      accounts receivable and logistics. Making changes to current processes of actual ETL and OLAP
      cubes. ............................................................................................................................................. 15
   3) SetFocus Business Intelligence Project using Microsoft SQL Service Integration Services 2005 .. 26
   4) SetFocus Business Intelligence Project using Microsoft SQL Service Analysis Services 2005 ....... 33
   5) SetFocus Business Intelligence Project using Microsoft SQL Service Reporting Services 2005,
      Performance Point Server and SharePoint Server ......................................................................... 40




                                                                                                                                                           1
Analysis, design, construction and implementation of a data
  warehouse for a company dedicated to the baking industry,
 supported with technologies from Microsoft SQL Server, Data
     Transformation Services, Analysis Services and Open
   Intelligence, using data mining models, followed Business
     Dimensional Lifecycle proposed by Dr. Ralph Kimball

Introduction
Paper thesis for a professional diploma in computer systems engineering, in which the
implementation of the data warehouse is described in detail, through several chapters covering
the general description of the company, project justification, the framework, the five steps:
analysis, design, construction, testing and implementation of an information technology
project, supported by the business dimensional lifecycle proposed by Dr. Ralph Kimball and the
conclusion of project and future work.

This project shows how the organization carries out the implementation of Data Warehouse
architecture, which allowed them to perform complex analysis, better understand of the
organization and be able to make better decision in the sales, accounting, warehouse, accounts
payable and accounts receivable areas.

Audience
Focused on business intelligence developers, as well as any professional in the information
technology area. Any person who is involved in decision-making for the company.

Project Goals:
       Create the necessary documentation for the processes of analysis, design, construction,
       testing and implementation of data warehouse system.
       Create the physical and logical architecture of the hardware and software for the
       correct operation of data warehouse system.
       Allow the extraction from the current data base systems, transform for the business
       needed and loaded to dimensional database models.
       Create dimensional cube based on business needs for sales, accounting, inventory,
       accounts payable and accounts receivable.
       Allow having a source of information of the data extracted safely and the ability to be
       scalable over time.
       Allow access to information (OLAP), to end users through tools such as Open
       Intelligence or Microsoft Excel for the exploitation of information.


                                                                                            2
Actual Business Diagram




Explanation
This diagram show how the business works regarding to make the information analysis at the
end of each month and all the process from the extraction of the information trough standard
and complex query’s to the DB2 data base, the manipulation trough Macros on Excel and the
interpretation to make decisions.




                                                                                          3
Propose Business Diagram




Explanation
This diagram shows the workflow with the proposal and implementation of a data warehouse
system. ETL processes as well as the load on dimensional databases are present in this diagram.

                                                                                             4
Data Source Analysis

        Command      Module                            Files or Objects
           Line
        /GL     Accountability          FLP060 Parameters files (catalogs, etc. etc.)
                                        FLP008 Detail Transaction Document
        /OE         Invoice and Orders  OEP16 Price List
                                        OEPDF Other Price List
                                        OEP20 Customers Details
                                        OEP40 Order Header
                                        OEP55 Order Details
                                        OEP65 Sales Header
                                        OEP70 Sales Detail
        /IN         Warehouse           INP10 Company Information
                                        INP13 Warehouse Descriptions
                                        INP15 Files Descriptions
                                        INP35 Product Catalog
                                        INP38 Product Catalog Others
                                        INP95 Warehouse movements history
        /AP         Accounts Payable    PLP05 Supplier Catalog
                                        PLP15 Transaction Master
                                        PLP20 Detail Transaction Master
                                        PLP25 Session Control File
                                        PLP45 Supplier Payment
        /AR         Accounts Receivable SLP05 Customer Master
                                        SLP15 Transaction Master file
                                        SLP20 History Transactional Master File
                                        SLP25 Session control File

Explanation
This table shows the Data Source Structure of the DB2 for the JBA/AS400 mainframe.




                                                                                        5
Data Warehouse Bus Architecture Matrix


                                                                            Dimensions




                                                                                                                  Transactions
                                           Warehouse



                                                                 Customer




                                                                                                Supplier
                                                       General




                                                                                    Product
                                                       Ledger




                                                                                                           Zone
                                                                             Date
                               Accounts
                               Payables                            X          X                             X
                                  Sales      X                     X          X      X                      X
             Data Mart




                              Purchases      X                                X                   X                  X
                             Production      X                                X      X                               X
                            Warehouse        X                     X          X      X
                          Accountability                 X                    X                   X
                                  Taxes                  X                    X                   X

Explanation
This Architecture Bus shows how Dimensions cross with the Data Marts.

Logic Design of Sales Fact Table with Dimensional Table and the Attributes

                                                                                                      Tabla de Hecho
                                                                                                         VENTAS
  Cliente                                                 Región

                         Tabla de Hecho                                                       Dimensiones
                             Ventas                                                           Cliente
                                                                                              Fecha
                          Granularidad                                                        Región
                            Snapshot                                                          Producto

   Fecha                                                 Producto                             Atributos
                                                                                              Unidades
                                                                                              Monto
                                                                                              Costo
                                                                                              Margen de contribución *
Explanation
   1) This Image show the relation between the Dimensional Tables of Customers, Date, Zone
      and Products are related to the Fact Table of Sales that is the Data Mart of Sales
      Department.

   2) This Image Show the attributes for the Sales Fact Table that are, Units, Sold, Cost and
      one derived column Gross profit.




                                                                                                                                 6
Detail Product Dimension with logic description and Diagram.

                                  Product Dimension
   Attribute      Description      Changing Dimension                      Example
 Name         Product Name         Slowly Changing             DAWN RLL RD MANZANA 10.9
 Type         Product Type         Slowly Changing             Finished, Process, Raw Material
 Category     Product Category     Slowly Changing             Wet, Dry, Frozen, Other
 Major Group Product Major Group Slowly Changing               Flavor, Chocolate,
 Division     Product Division     Slowly Changing             Purchased, Produced
 Presentation Product Presentation Slowly Changing             EA, CS, BG

                                          Dimensión
                                          PRODUCTO

                           División        Categoría
                             (2)              (5)




                                             Tipo         Grupo Mayor
                                              (7)             (n)




                        Presentación      Nombre del
                            (22)           Producto


Explanation
   1) The table shows the attributes name the description also if the dimension is a slowly
      changing dimension and some examples of the information.

   2) Show the logical and the hierarchy of the product dimension.




                                                                                                 7
Data Source-Destination Table



                                                                        Data       File     Field
   Table              Column     Data Type Long       Description
                                                                       Source     Source    Name
Product
                  Surrogate Key Integer       6      Surrogate Key
Dimension                                                             N/A        N/A       N/A
Product
                  Code           Varchar      12     Product Code                          PNUM35
Dimension                                                             JBA        INP35
Product
Dimension         Name           Varchar      45     Product Name     JBA        INP35     PDES35
Product
Dimension         Type           Varchar      20     Product Type     JBA        INP35     PTYP35
Product                                              Product
Dimension         Category       Varchar      15     Category         JBA        INP35     PCLS35
Product                                              Product
Dimension         Division       Varchar      10     Division         JBA        INP35     DIVN35
Product                                              Product
Dimension         Presentation   Varchar      2      Presentation     JBA        INP35     SUNT35
Product                                              Product Major
Dimension         Mayor Group    Varchar      10     Group            JBA        INP35     PGMJ35


     Tabla de Hecho
        FVentas
                                           Logic Attribute        Physic Attribute
 Dimensiones                               Name              strDProducto_nombre
 intDCliente_clave                         Type              strDProducto_tipo
 intDFecha_clave                           Category          strDProducto_categoria
 intDRegion_clave
 intDProducto_clave
                                           Mayor Group       strDProducto_gpo_mayor
                                           Division          strDProducto_division
 Atributos                                 Presentation      strDProducto_presentacion
 intFVenta_unidad
 intFVenta_venta
 intFVenta_costo
 intFVenta_margen *




Explanation
   1) The first table show a more detail description of the product dimension table. The
      source field into the DB2 Data Base and the data type of the columns.
   2) The Image shows a better practice of how to name the attributes in the SQL Server
      Table, for the int to integers, str, to string.
   3) The second table shows the logic and physic attributes.




                                                                                                    8
Web Services Configuration




Explanation
This is a Web Services configuration for ISAPI dlls files. These services allow run XML Analysis
Services app.




                                                                                              9
T-SQL Statements
Código SQL:
CREATE TABLE [dbo].[DProducto] (
         [intDProducto_clave] [bigint] IDENTITY (1, 1) NOT NULL,
         [strDProducto_codigo] [varchar] (12) COLLATE Traditional_Spanish_CI_AS NOT NULL,
         [strDProducto_nombre] [varchar] (50) COLLATE Traditional_Spanish_CI_AS NOT NULL
         [strDProducto_tipo] [varchar] (20) COLLATE Traditional_Spanish_CI_AS NOT NULL,
         [strDProducto_categoria] [varchar] (10) COLLATE Traditional_Spanish_CI_AS NOT NULL,
         [strDProducto_division] [varchar] (15) COLLATE Traditional_Spanish_CI_AS NOT NULL,
         [strDProducto_presentacion] [varchar] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL,
         [strDProducto_gpo_mayor] [varchar] (20) COLLATE Traditional_Spanish_CI_AS NOT NULL
) ON [PRIMARY]
GO


CREATE TABLE [dbo].[FVenta] (
         [intFCliente_clave] [bigint] NULL,
         [intFProducto_clave] [bigint] NULL,
         [intFFecha_clave] [bigint] NULL,
         [intFRegion_clave] [bigint] NOT NULL,
         [intFVenta_unidad] [int] NOT NULL,
         [intFVenta_venta] [bigint] NOT NULL,
         [intFVenta_costo] [bigint] NOT NULL,
         [intFVenta_margen] [bigint] NOT NULL
) ON [PRIMARY]
GO




Explanation
   1) T-SQL statements to create the product dimension table and the sales fact table.
   2) ETL Process for the creation of all the Dimensions, reading from flat files and DB2
      sources.

                                                                                                 10
Visual Basic Script
Function Main()
         DTSDestination("intDCliente_limite_credito") = Trim(DTSSource("CRLM05") )
         DTSDestination("strDCliente_mkt_channel") = Trim(DTSSource("CGP105"))
         DTSDestination("strDCliente_vendedor") = Trim(DTSSource("DESC6001"))
         DTSDestination("strDCliente_grupo") = Trim(DTSSource("DESC60"))
         DTSDestination("strDCliente_tipo") = Trim(DTSSource("DSCL63"))
         DTSDestination("strDCliente_codigo") = Trim(DTSSource("CUSN05")) + Trim(DTSSource("DSEQ05"))
         DTSDestination("strDCliente_corporativo") = Trim(DTSSource("CUSN05")) +" "+ Trim(DTSSource("CNAM05"))

         if (Trim(DTSSource("CAD105")) = "") then
                   DTSDestination("strDCliente_nombre") = Trim(DTSSource("DSEQ05"))+ " " + Trim(DTSSource("CNAM05"))
         else
                   DTSDestination("strDCliente_nombre") = Trim(DTSSource("DSEQ05"))+ " " + Trim(DTSSource("CAD105"))
         end if

         Main = DTSTransformStat_OK
End Function




    1) Visual Basic Script for a transformation for the Customer Dimension Table.
    2) ETL Process for Sales Fact Table.




                                                                                                                   11
Metadata from Analysis Services




Explanation
Metadata information from the result of processing the information in the Analysis Services.




                                                                                               12
Data Warehouse Architecture




Example Report from OLAP Data Base




Explanation
   1) The first image shows up the General Data Warehouse Architecture of how was built.
   2) The second image represents a Corporate Sales Report in with the Gross profit % BTW
      years for the amount sold.

                                                                                      13
Extra information
The result of this project ends in my thesis documentation with a deeply research of how to
implement a BI Project and also I made it. This book is around five hundred pages and what it’s
presented in this portfolio is only 5% or less of the completed work.

The completed work was made it in the Spanish language, if one who is interested in review the
work, can make a request and make the necessary translation of the electronic PDF file.

This PDF file can be requested by email at, Jorge.gomezdanes@gmail.com.

The Chapters below are available.

Chapters

   1) Book cover
   2) Acknowledgments, Dedication and Prologue
   3) Index
   4) Summary
   5) Introduction, Company and Project Justification
   6) Framework (Methodology)
   7) Analysis and Design
   8) Construction
   9) Testing, Deployment, Conclusion, Future Work
   10) References
   11) Annexes



The PDF file provided by Jorge Arturo Gómez-Danes Mejia are copyrighted and is illegal to
copy, use, duplicated or distribute without the consent letter signed by the principal author.




                                                                                            14
Expand the application of The Business Intelligence for the
    departments of accounts payable, accounts receivable and
   logistics. Making changes to current processes of actual ETL
                         and OLAP cubes.

Introduction
Once the organization has started to use the services and benefits of the Business Intelligence
systems, it’s when the desire arises to replicate it to other departments. This project shows
complex structures to the new implementation in the particular process of ETL, OLAP and MDX.
It also presents the documentation for those activities and process.

What happens to the outstanding balances on an account receivable in which the customer has
credit days and OLAP cube must be able to show customer's current balance, outstanding
balance, aging days and balances to overcome periods of 30, 60 or 90 working days depending
on the company metrics? We need to have a many transformations and calculations in the ETL
process as well in the MDX language.

Audience
Focused on Business Intelligence developers, any IT professional, as well any management level
in the accounts receivable, accounts payable and logistic departments.

Project Goals:
       Create dimensional data structures suitable for the ETL process.
       Create new ETL processes that meet the requirements of the organization to implement
       data marts.
       Create new Dimensional OLAP cubes that meet the requirements of the organization.
       Perform the necessary tests to create new processes.
       Making changes to current processes of ETL and OLAP cubes.
       Generate relevant documentation to support the work mentioned above.




                                                                                            15
Data Warehouse Tables




Explanation
Data base dimensional and fact tables.




                                         16
DTS Packages




Explanation
List of the DTS packages. We have here the dimensional process and the fact table process for
logistics, sales, accounts payables, accounts receivable, warehouse and accountability.




                                                                                          17
Specific DTS for the account receivable process




Explanation
In this complex process, we have two connection managers, first from the AS400 DB2 database,
second from the SQL Server database. Also the image shows many T-SQL statements for:
truncate tables, create temporal tables, extraction of the information, some core process to
load the specific data of the accounts receivable information. For end process, it image shows
dimensional and cube OLAP process.




                                                                                           18
Account receivable T-SQL ETL code
DECLARE @Periodo As INT                                                  SET @strQry=@strQry+' where pper20<='+CAST(@Periodo As CHAR(5))+'
DECLARE @Sig As INT                                                      Group By LREF20, ETYP20) As A'
DECLARE @PeriodoIni As INT                                               SET       @strQry=@strQry+'     WHERE       BALANCE<>0      AND
DECLARE @PeriodoFin As INT                                               pper20<='+CAST(@Periodo As CHAR(5))+')'
DECLARE @strQry AS VARCHAR(8000)
DECLARE @strUnion AS CHAR(10)                                             SET @strUnion=' UNION '
DECLARE @UltimaFecha As DATETIME
SET @PeriodoIni= 10801 --CAST(CAST(DATEPART(YY,GETDATE())-1900 AS         IF RIGHT(CAST(@Periodo AS CHAR(5)),2)=12
CHAR(3))+ '01' AS INT)                                                    BEGIN
SET   @PeriodoFin=        CAST(CAST(DATEPART(YY,GETDATE())-1900 AS          SET @Periodo=@Periodo + 89
CHAR(3))+        RIGHT('00'+RTRIM(CAST(DATEPART(M,GETDATE())    AS        END
CHAR(2))),2) AS INT)                                                      ELSE
                                                                          BEGIN
SET @strUnion=''                                                            SET @Periodo=@Periodo + 1
SET @Periodo=@PeriodoIni                                                  END
SET @Sig=0
SET @strQry=''                                                           END

WHILE @Periodo<=@PeriodoFin                                              --print @strQry
BEGIN                                                                    EXEC(@strQry)

 IF RIGHT(CAST(@Periodo AS CHAR(5)),2)=12
 BEGIN
   SET @Sig=@Periodo + 89
 END
 ELSE
 BEGIN
   SET @Sig=@Periodo + 1
 END

 SET             @UltimaFecha            =             DATEADD(dd,-
1,CAST(CAST((CAST(SUBSTRING(CAST(@Sig As CHAR(5)),1,3) As INT) + 1900)
As CHAR(4))+'-'+SUBSTRING(CAST(@Sig As CHAR(5)),4,2)+'-01' As
DATETIME))
 if @Periodo=@PeriodoFin
 BEGIN
   SET @UltimaFecha=GETDATE()
 END

SET @strQry=@strQry+@strUnion+'SELECT [CONO20],'
SET @strQry=@strQry+'[CUSN20],'
SET @strQry=@strQry+'[ETYP20],'
SET @strQry=@strQry+'[LREF20],'
SET @strQry=@strQry+'[TTYP20],'
SET @strQry=@strQry+'[RCOD20],'
SET @strQry=@strQry+'[BTMT20],'
SET @strQry=@strQry+'[PTMT20],'
SET @strQry=@strQry+'[CURN20],'
SET @strQry=@strQry+'[DOCD20],'
SET @strQry=@strQry+'[SESN20],'
SET @strQry=@strQry+'[EVNT20],'
SET @strQry=@strQry+'[PPER20],'
SET @strQry=@strQry+CAST(@Periodo As CHAR(5))+' As Periodo,'
SET @strQry=@strQry+''''+rtrim(CAST(Datepart(dd,@UltimaFecha) AS
CHAR(2)))+'/'+rtrim(CAST(Datepart(mm,@UltimaFecha)                As
CHAR(2)))+'/'+CAST(Datepart(YY,@UltimaFecha) AS CHAR(4))+''' As
FechaActual,'
SET @strQry=@strQry+'[CLRD20],'
SET @strQry=@strQry+'[VTMT20] FROM TEMPSLP20'
SET @strQry=@strQry+' WHERE LREF20+ETYP20 IN ('
SET @strQry=@strQry+'SELECT LREF20 + ETYP20 FROM ('
SET @strQry=@strQry+'select LREF20,ETYP20,sum(BTMT20) As BALANCE'
SET @strQry=@strQry+' from TEMPSLP20 '




                                                                                                                                      19
Explanation
Before you run this query, you must remove all previous customers who have no outstanding
balances with the company, ie the sum of what you have paid and purchased are zero.
Subsequently, those who are carrying a balance, you perform a sum of all assets that have
outstanding balances for each period of the last 12 months. ie a January 2010, the total amount
of debt, to December 2009, the sum total of their debts, and so repeatedly to 12 months in
advance.

Since the end of each month, it is pertinent to consider that total debt is held by a customer
and what month comes each debt.



Account receivable T-SQL query process.

Update TEMPSLP20V2
SET BALANCE = A.BALANCE
FROM
      (select sum(BTMT20) As BALANCE, MIN(LREF20) as DOCUMENTO, MIN(PERIODO) as PER,
MIN(ETYP20) as ENTRADA, MIN(EVNT20) as EVENTO
      from TEMPSLP20V2
      group by LREF20, ETYP20, PERIODO) as A
WHERE LREF20 = A.DOCUMENTO and PERIODO = A.PER and ETYP20 = A.ENTRADA and EVNT20
= A.EVENTO

Update TEMPSLP20V2
SET BALANCEUSD = A.BALANCE
FROM
      (select sum(PTMT20) As BALANCE, MIN(LREF20) as DOCUMENTO, MIN(PERIODO) as PER,
MIN(ETYP20) as ENTRADA, MIN(EVNT20) as EVENTO
      from TEMPSLP20V2
      group by LREF20, ETYP20, PERIODO) as A
WHERE LREF20 = A.DOCUMENTO and PERIODO = A.PER and ETYP20 = A.ENTRADA and EVNT20
= A.EVENTO

Explanation
This T-SQL specific, shows the sum of the balance, among other fields, for clients who have debt
with the company for both USD and MXN currency.

NOTE: for this project there is not a solution to the types of changes. Each currency (MXN,
USD) was calculated.

                                                                                             20
OLAP Structure




Explanation

This images shows up the different kind of
OLAP cubes, and for the Account Receivable
Cube it shows the different kind of
dimensions and also are in hierarchies,
customer,    date,    transaction,   mixes
dimensions.




                                             21
Star Schema Diagram for Account Receivable




Explanation

Star schema with eight dimensions (Periods, Warehouse, Entry Type, Reason Codes, Zone, Date,
Customer and Sub Entry Type) and also into the fact table there are many kind of natural
measures, and we have two type of core measures, degenerate dimensions (order, invoice,
etc.) and normal measures (debts, balance, etc.)




                                                                                         22
Measures and Calculate members




Explanation

Natural measures and calculate measures. Many of the calculate members are evaluate the
same measure but with a different period the common use is for the last period.




                                                                                    23
MDX code and Drill Through options




Explanation

In this MDX expression we have many functions on it. Iif(), PrevMemeber(), CurrentMember()
NOT an operator and using the NULL values. This is very important because the PrevMember()
and CurrentMember(), we need to use the Date Dimension, and the Date Dimension need to be
set up as DateTime Dimensios Datatype, this is an important configuration.




Explanation
Columns that will appear in a drill through execution.


                                                                                       24
User Roles and Restricted Dimension access




Explanation
In the first image we have all the users that have a different access to the OLAP cubes and for
the second image we have a specific restriction to access just a one kind of granularity in the
customer dimension.




                                                                                            25
SetFocus Business Intelligence Project using Microsoft SQL
               Service Integration Services 2005

Introduction
Create SSIS packages to extract information from excel and CVS files formats with Data Source and the
connection manager properly. Create specifics transformations tasks like data conversion, derived
columns, look up, conditional split and scripts tasks, as well with the correct precedent constraint and
pipelines. Create the upload of the information for new, existing and bad Id’s. Used of the notification
email. Deploy the packages and create a schedule jobs.


Audience
Focused on business intelligence developers, as well as any professional in the information
technology area.

Project Goals:
       Review the source data (Excel or CVS). Make some enhancements to the existing data
       sources, to support more flexible business practices for customer invoicing.

       Use SQL Server 2005 Integration Services to integrate these external data sources into
       the SQL Server database. (Using the specific task to create the necessary
       transformation)

       Create the necessary tests to the package as well execute successfully.

       Create the specific documentation for each package (Documentation with the source,
       destination, files to read, data base to load, process, results)

       For each package generate a successful and failure emails using the variables for new,
       updated or bad ids.

       Create a maintenance package to backup, shrink and reindex the data base.

       Use correct proper error handler as need it. Correct NULL statements, use of the new
       rows Inserted using OLEDB Destination, updates using OLEDB Command, use
       annotation, comments and best practice to name objects and variables.




                                                                                                     26
Read several CVS files




Explanation

Package that read several CVS files from some path, made the transformation as need on each
one of them, create the necessary calculations with the variables and send a successful or
failure email.




                                                                                        27
Declaring and using variables




Explanation

The fist image show a list of variables used in the last package. The name and the scope and the
right type of data. And the second image shows a simple Visual Basic script of how use that
variables for each file read it.




                                                                                              28
Using several task into the Data Flow Tab




Explanation

There are 9 basic steps beginning with the extraction from an Excel source file, data conversion,
two lookup task and a conditional split. What in the lookup task want to do us to find that the
EmployeID exists into the BTW the source file and the data base using a JOIN statement for the
Employe table and EmployeRate Table. And for the second Lookup to identify what rows are
new or what rows are changed from the Unique Keys identifier.




                                                                                              29
Conditional Split task and Destination source.




Explanation

The image shows multiple conditions for proper error handler. If an EmployeeID is not present
in the source file or if the JobID is not present in the source file or if the WorkDate is grather or
equal than WorkClose, the three option go to a flat file destination and report in the with rows
are wrong.

And for the OLE DB Destination is for new rows and the OLE DB Command is for the updated
rows using the parameters as need in the configuration.




                                                                                                  30
Manage all packages with Maintenance plan




Explanation

This is the master package, that executes a bunch of package with some ETL process and also it
includes a simple database maintenance plan with the emails associate with successfully and
failure.




                                                                                           31
Job scheduling




Explanation

The image above shows the basic configuration of a SQL Job, with a step and schedule
configuration for the master package. In this package the connection manager and the owner
of the SQL Job, was configured properly to run well every midnight.




                                                                                       32
SetFocus Business Intelligence Project using Microsoft SQL
                 Service Analysis Services 2005

Introduction
Created a SSAS solution in Microsoft Business Intelligence Developer Solution with four fact tables, five
dimensions, one of them with multiple hierarchies and five KPI’s. Created a MDX code solution in
Microsoft Management Studio. Develop and access the information from Microsoft Excel 2007 and
created five reports.


Audience
Focused on business intelligence developers, as well as any professional in the information
technology area.

Project Goals:
       Created data sources and data sources view.

        Created five dimensions.

        Created multiple hierarchies relationship between one dimension and other data source
        tables.

        Created one cube with four fact tables.

        Created eight calculate members

        Created five KPI’s indicators.

        Created two partitions for each fact table and aggregations up to 50%.

        Deploy to SSAS Services and execute from Management Studio.

        Written down 24 complex MDX code.

        Created five reports on Microsoft Excel 2007.




                                                                                                      33
Data Source View – Cube




Explanation
      The first picture shows a data source diagram from the data staging area in the
      database. Relationships between data base tables.
      The second picture shows a cube diagram from the data source view. In this diagram we
      can appreciate the four fact tables and only five dimension tables. We have a peculiar
      difference btw the first and second picture, the number of tables. I will show the
      difference in the next picture.



                                                                                         34
Job Master Dimension – Multiple relationships




Explanation

This picture shows a JobMaster.dim, dimension table that is related with other four tables. We
have here the configuration of the relationship between tables that are not part of a dimension
in a cube, but some attributes from other tables need to show up into the cube.




                                                                                            35
Dimensions Usage – Calculate Members




Explanation

      The first picture shows how each fact table is related to each dimension into the cube
      structure. In this structure we can see that the job Master and the All Works Calendar is
      related for all fact tables, when the overhead, material types and employees is just
      related into some of the fact tables.

      The second picture is a list of some calculates members that were created for the cube
      structure. In the next picture in the portfolio I will show how I can handle more and
      complex MDX code.




                                                                                            36
KPI




Explanation

The image show how is set upped a the Open Receivables KPI , that is a value expresion for a
calculate member called Open Receivables and evaluated to be in a range of values to set a
goodterm, midterm and badterm values for a traffic light colors. KPIs and Trend are very usefull
to see some patterns in the history of the data.




                                                                                             37
Cube Partitions and Cube Browser




Explanation
      The first image shows two partitions for each fact table and a 50% aggregations. Each
      partition has a condition about historical and actual year.
      The second image shows the cube browser for previous results evaluations




                                                                                        38
MDX Code




Explanation
MDX query’s for the CUBE structure and end-user ad-hoc requirements. I can handle many of
the MDX functions and also VBA, and Excel Functions.



                                                                                      39
SetFocus Business Intelligence Project using Microsoft SQL
Service Reporting Services 2005, Performance Point Server and
                      SharePoint Server

Introduction
End users need access tools to analyze information. This information can be from relational data
sources, dimensional data sources, OLAP cubes, Excel sheets, web information and also information in
flats files. Reporting Services as well Performance Point Server allow us to create a simple and complex
end users report. Also SharePoint Server is an intranet that let us to publish many of this reports in a
very structure way with many features. In this project I will show you what I have done and how.


Audience
Focused in business intelligence developers as well as any professional in the information
technology area and business end users.

Project Goals:
       Created reports with SQL Server Report Server in Business Intelligence Developer
       Studio, with information from relational databases and OLAP information. Created
       parameters for those repots to be dynamic and also give the adequate format to
       present the report.

        Created reports on Performance Point Server with OLAP information. Created
        Dashboards, KPI, Reports, with multiple parameters graphics, grids and Excel Services
        reports.

        Created reports with Excel, with pivot tables, pivot charts with multiple filters.

        Created a Collation Site on SharePoint Server, with multiple documents library and
        many subscriptions.

        Deploy and publish all the reports for SQL Server Report Server, Performance Point
        Server and Excel Services.




                                                                                                       40
SQL Server Report Services – Data




Explanation

On SSRS, it is possible to define the dataset from we want to query and create the results
information that we want to build in the layout. We can use the OLAP information, relational
databases. Both types, automatic design and expert design to build the information that we
want to see. In this case with expert design with and MDX query.




                                                                                         41
SQL Server Report Services – Layout




Explanation

This is an important step. The developer need to know the tool to create the report layout
exactly what end user need to see, and also how to play with the different tool that SSRS have.
In this layout we can create, tables, matrix, charts, with many data sources, grouping
information, create summarize data, and give a fancy end users design.




                                                                                            42
Performance Point Server




Explanation

Performance Point Services allow us to create dashboards, KPI’s, Scorecards and Reports from
many data sources with different types of indicators as light or gauge. This image, show many
different objects, that I will show in next images but in SharePoint Server.




                                                                                          43
Share Point Server with Excel Services




Explanation

This image show two important things, the first one is the chart wit two different type of
indicator a percentage and a bar chart, created in Excel Services, then it show the background
of the SharePoint Server where it has many documents library with the different kind of
reports.




                                                                                           44
Reporting Services with Share Point




Explanation

This image show the way look SSRS deployed it in Share Point Server, with the parameters of
time and clients. It also show the grouping by client and the jobs worked by hours and total
labor cost.




                                                                                         45
Performance Point Server on SharePoint Server




Explanation

This image shows two KPI reports with one parameter in Share Point Server. This two KPI, are in
the image above in the Performance Point Server section.




                                                                                            46
Performance Point Server with Share Point Server




Explanation

This image shows two basic reports created on Performance Point server, but it had a particular
feature, the two reports are linked with the time parameter and the top 10 jobs and 5 workers.




                                                                                            47
Excel Services with SharePoint Server




Explanation

This image shows two reports created on Excel Services, a chart image with two measures and
the table for that chart image. The configuration in the Performance Point Server is important
because from there we can create the layout of how we want to show the information.




                                                                                           48

More Related Content

What's hot

Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...
Imran M Arab
 
Day 9 __10_introduction_to_bi_enterprise_reporting_1___2
Day 9 __10_introduction_to_bi_enterprise_reporting_1___2Day 9 __10_introduction_to_bi_enterprise_reporting_1___2
Day 9 __10_introduction_to_bi_enterprise_reporting_1___2
tovetrivel
 
Day 02 sap_bi_overview_and_terminology
Day 02 sap_bi_overview_and_terminologyDay 02 sap_bi_overview_and_terminology
Day 02 sap_bi_overview_and_terminology
tovetrivel
 
Bw training 1 intro dw
Bw training   1 intro dwBw training   1 intro dw
Bw training 1 intro dw
Joseph Tham
 
Day 6.3 extraction_business_content_and_generic
Day 6.3 extraction_business_content_and_genericDay 6.3 extraction_business_content_and_generic
Day 6.3 extraction_business_content_and_generic
tovetrivel
 
SAP BI/DW Training with BO Integration
SAP BI/DW Training with BO IntegrationSAP BI/DW Training with BO Integration
SAP BI/DW Training with BO Integration
mishra4927
 
SAP BW Reports - Copy
SAP BW Reports - CopySAP BW Reports - Copy
SAP BW Reports - Copy
Aby m
 

What's hot (20)

ETL Process
ETL ProcessETL Process
ETL Process
 
Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...Parallel accounting in sap erp account approachversus ledger approachin new g...
Parallel accounting in sap erp account approachversus ledger approachin new g...
 
Mcneill 01
Mcneill 01Mcneill 01
Mcneill 01
 
Day 9 __10_introduction_to_bi_enterprise_reporting_1___2
Day 9 __10_introduction_to_bi_enterprise_reporting_1___2Day 9 __10_introduction_to_bi_enterprise_reporting_1___2
Day 9 __10_introduction_to_bi_enterprise_reporting_1___2
 
Bte
BteBte
Bte
 
SAP Integration With Excel - Advanced Guide
SAP Integration With Excel - Advanced GuideSAP Integration With Excel - Advanced Guide
SAP Integration With Excel - Advanced Guide
 
Combined COPA in SAP
Combined COPA in SAP  Combined COPA in SAP
Combined COPA in SAP
 
Day 02 sap_bi_overview_and_terminology
Day 02 sap_bi_overview_and_terminologyDay 02 sap_bi_overview_and_terminology
Day 02 sap_bi_overview_and_terminology
 
Summarisation levels in SAP COPA
Summarisation levels in SAP COPASummarisation levels in SAP COPA
Summarisation levels in SAP COPA
 
Bw training 1 intro dw
Bw training   1 intro dwBw training   1 intro dw
Bw training 1 intro dw
 
Dimensional Modeling
Dimensional ModelingDimensional Modeling
Dimensional Modeling
 
Differences R12 Vs 11i.5.10
Differences R12 Vs 11i.5.10Differences R12 Vs 11i.5.10
Differences R12 Vs 11i.5.10
 
Day 6.3 extraction_business_content_and_generic
Day 6.3 extraction_business_content_and_genericDay 6.3 extraction_business_content_and_generic
Day 6.3 extraction_business_content_and_generic
 
Lecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleLecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of Halle
 
SAP BI/DW Training with BO Integration
SAP BI/DW Training with BO IntegrationSAP BI/DW Training with BO Integration
SAP BI/DW Training with BO Integration
 
SAP BW Reports - Copy
SAP BW Reports - CopySAP BW Reports - Copy
SAP BW Reports - Copy
 
Real World Business Intelligence and Data Warehousing
Real World Business Intelligence and Data WarehousingReal World Business Intelligence and Data Warehousing
Real World Business Intelligence and Data Warehousing
 
SAP BI 7.0 Info Providers
SAP BI 7.0 Info ProvidersSAP BI 7.0 Info Providers
SAP BI 7.0 Info Providers
 
SAP BW connect db
SAP BW connect dbSAP BW connect db
SAP BW connect db
 
DATA WAREHOUSE IMPLEMENTATION BY SAIKIRAN PANJALA
DATA WAREHOUSE IMPLEMENTATION BY SAIKIRAN PANJALADATA WAREHOUSE IMPLEMENTATION BY SAIKIRAN PANJALA
DATA WAREHOUSE IMPLEMENTATION BY SAIKIRAN PANJALA
 

Similar to Portfolio By Jorge Gomez Danes

Lo extraction – part 5 sales and distribution (sd) datasource overview
Lo extraction – part 5  sales and distribution (sd) datasource overviewLo extraction – part 5  sales and distribution (sd) datasource overview
Lo extraction – part 5 sales and distribution (sd) datasource overview
JNTU University
 
David McGraw resume 01092015
David McGraw resume 01092015David McGraw resume 01092015
David McGraw resume 01092015
David McGraw
 
BW Multi-Dimensional Model
BW Multi-Dimensional ModelBW Multi-Dimensional Model
BW Multi-Dimensional Model
yujesh
 

Similar to Portfolio By Jorge Gomez Danes (20)

Oracle Shop Floor Management R12
Oracle Shop Floor Management R12Oracle Shop Floor Management R12
Oracle Shop Floor Management R12
 
Data Warehousing - in the real world
Data Warehousing - in the real worldData Warehousing - in the real world
Data Warehousing - in the real world
 
Lo extraction – part 5 sales and distribution (sd) datasource overview
Lo extraction – part 5  sales and distribution (sd) datasource overviewLo extraction – part 5  sales and distribution (sd) datasource overview
Lo extraction – part 5 sales and distribution (sd) datasource overview
 
SAP BOBJ Rapid Marts Overview I
SAP BOBJ Rapid Marts Overview ISAP BOBJ Rapid Marts Overview I
SAP BOBJ Rapid Marts Overview I
 
Oracle Hyperion overview
Oracle Hyperion overviewOracle Hyperion overview
Oracle Hyperion overview
 
ActiveWarehouse/ETL - BI & DW for Ruby/Rails
ActiveWarehouse/ETL - BI & DW for Ruby/RailsActiveWarehouse/ETL - BI & DW for Ruby/Rails
ActiveWarehouse/ETL - BI & DW for Ruby/Rails
 
David McGraw resume 01092015
David McGraw resume 01092015David McGraw resume 01092015
David McGraw resume 01092015
 
Sapbasic
SapbasicSapbasic
Sapbasic
 
Sap overview posted by Parikshit Sanghavi
Sap overview posted by Parikshit SanghaviSap overview posted by Parikshit Sanghavi
Sap overview posted by Parikshit Sanghavi
 
Aus Post Archiving
Aus Post ArchivingAus Post Archiving
Aus Post Archiving
 
Best Oracle r12 technical online training institute
Best Oracle r12 technical online training instituteBest Oracle r12 technical online training institute
Best Oracle r12 technical online training institute
 
Saba Resume
Saba ResumeSaba Resume
Saba Resume
 
Saba resume
Saba resumeSaba resume
Saba resume
 
DW OSA OFA
DW OSA OFADW OSA OFA
DW OSA OFA
 
Data warehousing
Data warehousingData warehousing
Data warehousing
 
SAP Advanced Lecture | FruTech.io
SAP Advanced Lecture | FruTech.ioSAP Advanced Lecture | FruTech.io
SAP Advanced Lecture | FruTech.io
 
SAP BOBJ Rapid Mart Overview & Implementation
SAP BOBJ Rapid Mart Overview & ImplementationSAP BOBJ Rapid Mart Overview & Implementation
SAP BOBJ Rapid Mart Overview & Implementation
 
VoltDB and Flytxt Present: Building a Single Technology Platform for Real-Tim...
VoltDB and Flytxt Present: Building a Single Technology Platform for Real-Tim...VoltDB and Flytxt Present: Building a Single Technology Platform for Real-Tim...
VoltDB and Flytxt Present: Building a Single Technology Platform for Real-Tim...
 
Pswfl
PswflPswfl
Pswfl
 
BW Multi-Dimensional Model
BW Multi-Dimensional ModelBW Multi-Dimensional Model
BW Multi-Dimensional Model
 

Portfolio By Jorge Gomez Danes

  • 1. PROJECTS PORTFOLIO The core goal of the following projects portfolio, is to introduce the reader to the work I have done in the area of Business Intelligence / Data Warehouse through my four and half years of experience in this field. The following are five projects covering, Microsoft SQL Server 2000, DTS, Analysis Services, Microsoft SSIS, SSAS, SSRP 2005, SharePoint and Performance Point Server 2007. Other skills I developed during this time are the administration of appropriate work and the successful execution of projects. Good communication with the team work as well with other coworkers. Abilities to implement and use a new methodology work. Change adaptation work. Projects Titile 1) Analysis, design, construction and implementation of a data warehouse for a company dedicated to the baking industry, supported with technologies from Microsoft SQL Server, Data Transformation Services, Analysis Services and Open Intelligence, using data mining models, followed Business Dimensional Lifecycle proposed by Dr. Ralph Kimball ....................................... 2 2) Expand the application of The Business Intelligence for the departments of accounts payable, accounts receivable and logistics. Making changes to current processes of actual ETL and OLAP cubes. ............................................................................................................................................. 15 3) SetFocus Business Intelligence Project using Microsoft SQL Service Integration Services 2005 .. 26 4) SetFocus Business Intelligence Project using Microsoft SQL Service Analysis Services 2005 ....... 33 5) SetFocus Business Intelligence Project using Microsoft SQL Service Reporting Services 2005, Performance Point Server and SharePoint Server ......................................................................... 40 1
  • 2. Analysis, design, construction and implementation of a data warehouse for a company dedicated to the baking industry, supported with technologies from Microsoft SQL Server, Data Transformation Services, Analysis Services and Open Intelligence, using data mining models, followed Business Dimensional Lifecycle proposed by Dr. Ralph Kimball Introduction Paper thesis for a professional diploma in computer systems engineering, in which the implementation of the data warehouse is described in detail, through several chapters covering the general description of the company, project justification, the framework, the five steps: analysis, design, construction, testing and implementation of an information technology project, supported by the business dimensional lifecycle proposed by Dr. Ralph Kimball and the conclusion of project and future work. This project shows how the organization carries out the implementation of Data Warehouse architecture, which allowed them to perform complex analysis, better understand of the organization and be able to make better decision in the sales, accounting, warehouse, accounts payable and accounts receivable areas. Audience Focused on business intelligence developers, as well as any professional in the information technology area. Any person who is involved in decision-making for the company. Project Goals: Create the necessary documentation for the processes of analysis, design, construction, testing and implementation of data warehouse system. Create the physical and logical architecture of the hardware and software for the correct operation of data warehouse system. Allow the extraction from the current data base systems, transform for the business needed and loaded to dimensional database models. Create dimensional cube based on business needs for sales, accounting, inventory, accounts payable and accounts receivable. Allow having a source of information of the data extracted safely and the ability to be scalable over time. Allow access to information (OLAP), to end users through tools such as Open Intelligence or Microsoft Excel for the exploitation of information. 2
  • 3. Actual Business Diagram Explanation This diagram show how the business works regarding to make the information analysis at the end of each month and all the process from the extraction of the information trough standard and complex query’s to the DB2 data base, the manipulation trough Macros on Excel and the interpretation to make decisions. 3
  • 4. Propose Business Diagram Explanation This diagram shows the workflow with the proposal and implementation of a data warehouse system. ETL processes as well as the load on dimensional databases are present in this diagram. 4
  • 5. Data Source Analysis Command Module Files or Objects Line /GL Accountability FLP060 Parameters files (catalogs, etc. etc.) FLP008 Detail Transaction Document /OE Invoice and Orders OEP16 Price List OEPDF Other Price List OEP20 Customers Details OEP40 Order Header OEP55 Order Details OEP65 Sales Header OEP70 Sales Detail /IN Warehouse INP10 Company Information INP13 Warehouse Descriptions INP15 Files Descriptions INP35 Product Catalog INP38 Product Catalog Others INP95 Warehouse movements history /AP Accounts Payable PLP05 Supplier Catalog PLP15 Transaction Master PLP20 Detail Transaction Master PLP25 Session Control File PLP45 Supplier Payment /AR Accounts Receivable SLP05 Customer Master SLP15 Transaction Master file SLP20 History Transactional Master File SLP25 Session control File Explanation This table shows the Data Source Structure of the DB2 for the JBA/AS400 mainframe. 5
  • 6. Data Warehouse Bus Architecture Matrix Dimensions Transactions Warehouse Customer Supplier General Product Ledger Zone Date Accounts Payables X X X Sales X X X X X Data Mart Purchases X X X X Production X X X X Warehouse X X X X Accountability X X X Taxes X X X Explanation This Architecture Bus shows how Dimensions cross with the Data Marts. Logic Design of Sales Fact Table with Dimensional Table and the Attributes Tabla de Hecho VENTAS Cliente Región Tabla de Hecho Dimensiones Ventas Cliente Fecha Granularidad Región Snapshot Producto Fecha Producto Atributos Unidades Monto Costo Margen de contribución * Explanation 1) This Image show the relation between the Dimensional Tables of Customers, Date, Zone and Products are related to the Fact Table of Sales that is the Data Mart of Sales Department. 2) This Image Show the attributes for the Sales Fact Table that are, Units, Sold, Cost and one derived column Gross profit. 6
  • 7. Detail Product Dimension with logic description and Diagram. Product Dimension Attribute Description Changing Dimension Example Name Product Name Slowly Changing DAWN RLL RD MANZANA 10.9 Type Product Type Slowly Changing Finished, Process, Raw Material Category Product Category Slowly Changing Wet, Dry, Frozen, Other Major Group Product Major Group Slowly Changing Flavor, Chocolate, Division Product Division Slowly Changing Purchased, Produced Presentation Product Presentation Slowly Changing EA, CS, BG Dimensión PRODUCTO División Categoría (2) (5) Tipo Grupo Mayor (7) (n) Presentación Nombre del (22) Producto Explanation 1) The table shows the attributes name the description also if the dimension is a slowly changing dimension and some examples of the information. 2) Show the logical and the hierarchy of the product dimension. 7
  • 8. Data Source-Destination Table Data File Field Table Column Data Type Long Description Source Source Name Product Surrogate Key Integer 6 Surrogate Key Dimension N/A N/A N/A Product Code Varchar 12 Product Code PNUM35 Dimension JBA INP35 Product Dimension Name Varchar 45 Product Name JBA INP35 PDES35 Product Dimension Type Varchar 20 Product Type JBA INP35 PTYP35 Product Product Dimension Category Varchar 15 Category JBA INP35 PCLS35 Product Product Dimension Division Varchar 10 Division JBA INP35 DIVN35 Product Product Dimension Presentation Varchar 2 Presentation JBA INP35 SUNT35 Product Product Major Dimension Mayor Group Varchar 10 Group JBA INP35 PGMJ35 Tabla de Hecho FVentas Logic Attribute Physic Attribute Dimensiones Name strDProducto_nombre intDCliente_clave Type strDProducto_tipo intDFecha_clave Category strDProducto_categoria intDRegion_clave intDProducto_clave Mayor Group strDProducto_gpo_mayor Division strDProducto_division Atributos Presentation strDProducto_presentacion intFVenta_unidad intFVenta_venta intFVenta_costo intFVenta_margen * Explanation 1) The first table show a more detail description of the product dimension table. The source field into the DB2 Data Base and the data type of the columns. 2) The Image shows a better practice of how to name the attributes in the SQL Server Table, for the int to integers, str, to string. 3) The second table shows the logic and physic attributes. 8
  • 9. Web Services Configuration Explanation This is a Web Services configuration for ISAPI dlls files. These services allow run XML Analysis Services app. 9
  • 10. T-SQL Statements Código SQL: CREATE TABLE [dbo].[DProducto] ( [intDProducto_clave] [bigint] IDENTITY (1, 1) NOT NULL, [strDProducto_codigo] [varchar] (12) COLLATE Traditional_Spanish_CI_AS NOT NULL, [strDProducto_nombre] [varchar] (50) COLLATE Traditional_Spanish_CI_AS NOT NULL [strDProducto_tipo] [varchar] (20) COLLATE Traditional_Spanish_CI_AS NOT NULL, [strDProducto_categoria] [varchar] (10) COLLATE Traditional_Spanish_CI_AS NOT NULL, [strDProducto_division] [varchar] (15) COLLATE Traditional_Spanish_CI_AS NOT NULL, [strDProducto_presentacion] [varchar] (3) COLLATE Traditional_Spanish_CI_AS NOT NULL, [strDProducto_gpo_mayor] [varchar] (20) COLLATE Traditional_Spanish_CI_AS NOT NULL ) ON [PRIMARY] GO CREATE TABLE [dbo].[FVenta] ( [intFCliente_clave] [bigint] NULL, [intFProducto_clave] [bigint] NULL, [intFFecha_clave] [bigint] NULL, [intFRegion_clave] [bigint] NOT NULL, [intFVenta_unidad] [int] NOT NULL, [intFVenta_venta] [bigint] NOT NULL, [intFVenta_costo] [bigint] NOT NULL, [intFVenta_margen] [bigint] NOT NULL ) ON [PRIMARY] GO Explanation 1) T-SQL statements to create the product dimension table and the sales fact table. 2) ETL Process for the creation of all the Dimensions, reading from flat files and DB2 sources. 10
  • 11. Visual Basic Script Function Main() DTSDestination("intDCliente_limite_credito") = Trim(DTSSource("CRLM05") ) DTSDestination("strDCliente_mkt_channel") = Trim(DTSSource("CGP105")) DTSDestination("strDCliente_vendedor") = Trim(DTSSource("DESC6001")) DTSDestination("strDCliente_grupo") = Trim(DTSSource("DESC60")) DTSDestination("strDCliente_tipo") = Trim(DTSSource("DSCL63")) DTSDestination("strDCliente_codigo") = Trim(DTSSource("CUSN05")) + Trim(DTSSource("DSEQ05")) DTSDestination("strDCliente_corporativo") = Trim(DTSSource("CUSN05")) +" "+ Trim(DTSSource("CNAM05")) if (Trim(DTSSource("CAD105")) = "") then DTSDestination("strDCliente_nombre") = Trim(DTSSource("DSEQ05"))+ " " + Trim(DTSSource("CNAM05")) else DTSDestination("strDCliente_nombre") = Trim(DTSSource("DSEQ05"))+ " " + Trim(DTSSource("CAD105")) end if Main = DTSTransformStat_OK End Function 1) Visual Basic Script for a transformation for the Customer Dimension Table. 2) ETL Process for Sales Fact Table. 11
  • 12. Metadata from Analysis Services Explanation Metadata information from the result of processing the information in the Analysis Services. 12
  • 13. Data Warehouse Architecture Example Report from OLAP Data Base Explanation 1) The first image shows up the General Data Warehouse Architecture of how was built. 2) The second image represents a Corporate Sales Report in with the Gross profit % BTW years for the amount sold. 13
  • 14. Extra information The result of this project ends in my thesis documentation with a deeply research of how to implement a BI Project and also I made it. This book is around five hundred pages and what it’s presented in this portfolio is only 5% or less of the completed work. The completed work was made it in the Spanish language, if one who is interested in review the work, can make a request and make the necessary translation of the electronic PDF file. This PDF file can be requested by email at, Jorge.gomezdanes@gmail.com. The Chapters below are available. Chapters 1) Book cover 2) Acknowledgments, Dedication and Prologue 3) Index 4) Summary 5) Introduction, Company and Project Justification 6) Framework (Methodology) 7) Analysis and Design 8) Construction 9) Testing, Deployment, Conclusion, Future Work 10) References 11) Annexes The PDF file provided by Jorge Arturo Gómez-Danes Mejia are copyrighted and is illegal to copy, use, duplicated or distribute without the consent letter signed by the principal author. 14
  • 15. Expand the application of The Business Intelligence for the departments of accounts payable, accounts receivable and logistics. Making changes to current processes of actual ETL and OLAP cubes. Introduction Once the organization has started to use the services and benefits of the Business Intelligence systems, it’s when the desire arises to replicate it to other departments. This project shows complex structures to the new implementation in the particular process of ETL, OLAP and MDX. It also presents the documentation for those activities and process. What happens to the outstanding balances on an account receivable in which the customer has credit days and OLAP cube must be able to show customer's current balance, outstanding balance, aging days and balances to overcome periods of 30, 60 or 90 working days depending on the company metrics? We need to have a many transformations and calculations in the ETL process as well in the MDX language. Audience Focused on Business Intelligence developers, any IT professional, as well any management level in the accounts receivable, accounts payable and logistic departments. Project Goals: Create dimensional data structures suitable for the ETL process. Create new ETL processes that meet the requirements of the organization to implement data marts. Create new Dimensional OLAP cubes that meet the requirements of the organization. Perform the necessary tests to create new processes. Making changes to current processes of ETL and OLAP cubes. Generate relevant documentation to support the work mentioned above. 15
  • 16. Data Warehouse Tables Explanation Data base dimensional and fact tables. 16
  • 17. DTS Packages Explanation List of the DTS packages. We have here the dimensional process and the fact table process for logistics, sales, accounts payables, accounts receivable, warehouse and accountability. 17
  • 18. Specific DTS for the account receivable process Explanation In this complex process, we have two connection managers, first from the AS400 DB2 database, second from the SQL Server database. Also the image shows many T-SQL statements for: truncate tables, create temporal tables, extraction of the information, some core process to load the specific data of the accounts receivable information. For end process, it image shows dimensional and cube OLAP process. 18
  • 19. Account receivable T-SQL ETL code DECLARE @Periodo As INT SET @strQry=@strQry+' where pper20<='+CAST(@Periodo As CHAR(5))+' DECLARE @Sig As INT Group By LREF20, ETYP20) As A' DECLARE @PeriodoIni As INT SET @strQry=@strQry+' WHERE BALANCE<>0 AND DECLARE @PeriodoFin As INT pper20<='+CAST(@Periodo As CHAR(5))+')' DECLARE @strQry AS VARCHAR(8000) DECLARE @strUnion AS CHAR(10) SET @strUnion=' UNION ' DECLARE @UltimaFecha As DATETIME SET @PeriodoIni= 10801 --CAST(CAST(DATEPART(YY,GETDATE())-1900 AS IF RIGHT(CAST(@Periodo AS CHAR(5)),2)=12 CHAR(3))+ '01' AS INT) BEGIN SET @PeriodoFin= CAST(CAST(DATEPART(YY,GETDATE())-1900 AS SET @Periodo=@Periodo + 89 CHAR(3))+ RIGHT('00'+RTRIM(CAST(DATEPART(M,GETDATE()) AS END CHAR(2))),2) AS INT) ELSE BEGIN SET @strUnion='' SET @Periodo=@Periodo + 1 SET @Periodo=@PeriodoIni END SET @Sig=0 SET @strQry='' END WHILE @Periodo<=@PeriodoFin --print @strQry BEGIN EXEC(@strQry) IF RIGHT(CAST(@Periodo AS CHAR(5)),2)=12 BEGIN SET @Sig=@Periodo + 89 END ELSE BEGIN SET @Sig=@Periodo + 1 END SET @UltimaFecha = DATEADD(dd,- 1,CAST(CAST((CAST(SUBSTRING(CAST(@Sig As CHAR(5)),1,3) As INT) + 1900) As CHAR(4))+'-'+SUBSTRING(CAST(@Sig As CHAR(5)),4,2)+'-01' As DATETIME)) if @Periodo=@PeriodoFin BEGIN SET @UltimaFecha=GETDATE() END SET @strQry=@strQry+@strUnion+'SELECT [CONO20],' SET @strQry=@strQry+'[CUSN20],' SET @strQry=@strQry+'[ETYP20],' SET @strQry=@strQry+'[LREF20],' SET @strQry=@strQry+'[TTYP20],' SET @strQry=@strQry+'[RCOD20],' SET @strQry=@strQry+'[BTMT20],' SET @strQry=@strQry+'[PTMT20],' SET @strQry=@strQry+'[CURN20],' SET @strQry=@strQry+'[DOCD20],' SET @strQry=@strQry+'[SESN20],' SET @strQry=@strQry+'[EVNT20],' SET @strQry=@strQry+'[PPER20],' SET @strQry=@strQry+CAST(@Periodo As CHAR(5))+' As Periodo,' SET @strQry=@strQry+''''+rtrim(CAST(Datepart(dd,@UltimaFecha) AS CHAR(2)))+'/'+rtrim(CAST(Datepart(mm,@UltimaFecha) As CHAR(2)))+'/'+CAST(Datepart(YY,@UltimaFecha) AS CHAR(4))+''' As FechaActual,' SET @strQry=@strQry+'[CLRD20],' SET @strQry=@strQry+'[VTMT20] FROM TEMPSLP20' SET @strQry=@strQry+' WHERE LREF20+ETYP20 IN (' SET @strQry=@strQry+'SELECT LREF20 + ETYP20 FROM (' SET @strQry=@strQry+'select LREF20,ETYP20,sum(BTMT20) As BALANCE' SET @strQry=@strQry+' from TEMPSLP20 ' 19
  • 20. Explanation Before you run this query, you must remove all previous customers who have no outstanding balances with the company, ie the sum of what you have paid and purchased are zero. Subsequently, those who are carrying a balance, you perform a sum of all assets that have outstanding balances for each period of the last 12 months. ie a January 2010, the total amount of debt, to December 2009, the sum total of their debts, and so repeatedly to 12 months in advance. Since the end of each month, it is pertinent to consider that total debt is held by a customer and what month comes each debt. Account receivable T-SQL query process. Update TEMPSLP20V2 SET BALANCE = A.BALANCE FROM (select sum(BTMT20) As BALANCE, MIN(LREF20) as DOCUMENTO, MIN(PERIODO) as PER, MIN(ETYP20) as ENTRADA, MIN(EVNT20) as EVENTO from TEMPSLP20V2 group by LREF20, ETYP20, PERIODO) as A WHERE LREF20 = A.DOCUMENTO and PERIODO = A.PER and ETYP20 = A.ENTRADA and EVNT20 = A.EVENTO Update TEMPSLP20V2 SET BALANCEUSD = A.BALANCE FROM (select sum(PTMT20) As BALANCE, MIN(LREF20) as DOCUMENTO, MIN(PERIODO) as PER, MIN(ETYP20) as ENTRADA, MIN(EVNT20) as EVENTO from TEMPSLP20V2 group by LREF20, ETYP20, PERIODO) as A WHERE LREF20 = A.DOCUMENTO and PERIODO = A.PER and ETYP20 = A.ENTRADA and EVNT20 = A.EVENTO Explanation This T-SQL specific, shows the sum of the balance, among other fields, for clients who have debt with the company for both USD and MXN currency. NOTE: for this project there is not a solution to the types of changes. Each currency (MXN, USD) was calculated. 20
  • 21. OLAP Structure Explanation This images shows up the different kind of OLAP cubes, and for the Account Receivable Cube it shows the different kind of dimensions and also are in hierarchies, customer, date, transaction, mixes dimensions. 21
  • 22. Star Schema Diagram for Account Receivable Explanation Star schema with eight dimensions (Periods, Warehouse, Entry Type, Reason Codes, Zone, Date, Customer and Sub Entry Type) and also into the fact table there are many kind of natural measures, and we have two type of core measures, degenerate dimensions (order, invoice, etc.) and normal measures (debts, balance, etc.) 22
  • 23. Measures and Calculate members Explanation Natural measures and calculate measures. Many of the calculate members are evaluate the same measure but with a different period the common use is for the last period. 23
  • 24. MDX code and Drill Through options Explanation In this MDX expression we have many functions on it. Iif(), PrevMemeber(), CurrentMember() NOT an operator and using the NULL values. This is very important because the PrevMember() and CurrentMember(), we need to use the Date Dimension, and the Date Dimension need to be set up as DateTime Dimensios Datatype, this is an important configuration. Explanation Columns that will appear in a drill through execution. 24
  • 25. User Roles and Restricted Dimension access Explanation In the first image we have all the users that have a different access to the OLAP cubes and for the second image we have a specific restriction to access just a one kind of granularity in the customer dimension. 25
  • 26. SetFocus Business Intelligence Project using Microsoft SQL Service Integration Services 2005 Introduction Create SSIS packages to extract information from excel and CVS files formats with Data Source and the connection manager properly. Create specifics transformations tasks like data conversion, derived columns, look up, conditional split and scripts tasks, as well with the correct precedent constraint and pipelines. Create the upload of the information for new, existing and bad Id’s. Used of the notification email. Deploy the packages and create a schedule jobs. Audience Focused on business intelligence developers, as well as any professional in the information technology area. Project Goals: Review the source data (Excel or CVS). Make some enhancements to the existing data sources, to support more flexible business practices for customer invoicing. Use SQL Server 2005 Integration Services to integrate these external data sources into the SQL Server database. (Using the specific task to create the necessary transformation) Create the necessary tests to the package as well execute successfully. Create the specific documentation for each package (Documentation with the source, destination, files to read, data base to load, process, results) For each package generate a successful and failure emails using the variables for new, updated or bad ids. Create a maintenance package to backup, shrink and reindex the data base. Use correct proper error handler as need it. Correct NULL statements, use of the new rows Inserted using OLEDB Destination, updates using OLEDB Command, use annotation, comments and best practice to name objects and variables. 26
  • 27. Read several CVS files Explanation Package that read several CVS files from some path, made the transformation as need on each one of them, create the necessary calculations with the variables and send a successful or failure email. 27
  • 28. Declaring and using variables Explanation The fist image show a list of variables used in the last package. The name and the scope and the right type of data. And the second image shows a simple Visual Basic script of how use that variables for each file read it. 28
  • 29. Using several task into the Data Flow Tab Explanation There are 9 basic steps beginning with the extraction from an Excel source file, data conversion, two lookup task and a conditional split. What in the lookup task want to do us to find that the EmployeID exists into the BTW the source file and the data base using a JOIN statement for the Employe table and EmployeRate Table. And for the second Lookup to identify what rows are new or what rows are changed from the Unique Keys identifier. 29
  • 30. Conditional Split task and Destination source. Explanation The image shows multiple conditions for proper error handler. If an EmployeeID is not present in the source file or if the JobID is not present in the source file or if the WorkDate is grather or equal than WorkClose, the three option go to a flat file destination and report in the with rows are wrong. And for the OLE DB Destination is for new rows and the OLE DB Command is for the updated rows using the parameters as need in the configuration. 30
  • 31. Manage all packages with Maintenance plan Explanation This is the master package, that executes a bunch of package with some ETL process and also it includes a simple database maintenance plan with the emails associate with successfully and failure. 31
  • 32. Job scheduling Explanation The image above shows the basic configuration of a SQL Job, with a step and schedule configuration for the master package. In this package the connection manager and the owner of the SQL Job, was configured properly to run well every midnight. 32
  • 33. SetFocus Business Intelligence Project using Microsoft SQL Service Analysis Services 2005 Introduction Created a SSAS solution in Microsoft Business Intelligence Developer Solution with four fact tables, five dimensions, one of them with multiple hierarchies and five KPI’s. Created a MDX code solution in Microsoft Management Studio. Develop and access the information from Microsoft Excel 2007 and created five reports. Audience Focused on business intelligence developers, as well as any professional in the information technology area. Project Goals: Created data sources and data sources view. Created five dimensions. Created multiple hierarchies relationship between one dimension and other data source tables. Created one cube with four fact tables. Created eight calculate members Created five KPI’s indicators. Created two partitions for each fact table and aggregations up to 50%. Deploy to SSAS Services and execute from Management Studio. Written down 24 complex MDX code. Created five reports on Microsoft Excel 2007. 33
  • 34. Data Source View – Cube Explanation The first picture shows a data source diagram from the data staging area in the database. Relationships between data base tables. The second picture shows a cube diagram from the data source view. In this diagram we can appreciate the four fact tables and only five dimension tables. We have a peculiar difference btw the first and second picture, the number of tables. I will show the difference in the next picture. 34
  • 35. Job Master Dimension – Multiple relationships Explanation This picture shows a JobMaster.dim, dimension table that is related with other four tables. We have here the configuration of the relationship between tables that are not part of a dimension in a cube, but some attributes from other tables need to show up into the cube. 35
  • 36. Dimensions Usage – Calculate Members Explanation The first picture shows how each fact table is related to each dimension into the cube structure. In this structure we can see that the job Master and the All Works Calendar is related for all fact tables, when the overhead, material types and employees is just related into some of the fact tables. The second picture is a list of some calculates members that were created for the cube structure. In the next picture in the portfolio I will show how I can handle more and complex MDX code. 36
  • 37. KPI Explanation The image show how is set upped a the Open Receivables KPI , that is a value expresion for a calculate member called Open Receivables and evaluated to be in a range of values to set a goodterm, midterm and badterm values for a traffic light colors. KPIs and Trend are very usefull to see some patterns in the history of the data. 37
  • 38. Cube Partitions and Cube Browser Explanation The first image shows two partitions for each fact table and a 50% aggregations. Each partition has a condition about historical and actual year. The second image shows the cube browser for previous results evaluations 38
  • 39. MDX Code Explanation MDX query’s for the CUBE structure and end-user ad-hoc requirements. I can handle many of the MDX functions and also VBA, and Excel Functions. 39
  • 40. SetFocus Business Intelligence Project using Microsoft SQL Service Reporting Services 2005, Performance Point Server and SharePoint Server Introduction End users need access tools to analyze information. This information can be from relational data sources, dimensional data sources, OLAP cubes, Excel sheets, web information and also information in flats files. Reporting Services as well Performance Point Server allow us to create a simple and complex end users report. Also SharePoint Server is an intranet that let us to publish many of this reports in a very structure way with many features. In this project I will show you what I have done and how. Audience Focused in business intelligence developers as well as any professional in the information technology area and business end users. Project Goals: Created reports with SQL Server Report Server in Business Intelligence Developer Studio, with information from relational databases and OLAP information. Created parameters for those repots to be dynamic and also give the adequate format to present the report. Created reports on Performance Point Server with OLAP information. Created Dashboards, KPI, Reports, with multiple parameters graphics, grids and Excel Services reports. Created reports with Excel, with pivot tables, pivot charts with multiple filters. Created a Collation Site on SharePoint Server, with multiple documents library and many subscriptions. Deploy and publish all the reports for SQL Server Report Server, Performance Point Server and Excel Services. 40
  • 41. SQL Server Report Services – Data Explanation On SSRS, it is possible to define the dataset from we want to query and create the results information that we want to build in the layout. We can use the OLAP information, relational databases. Both types, automatic design and expert design to build the information that we want to see. In this case with expert design with and MDX query. 41
  • 42. SQL Server Report Services – Layout Explanation This is an important step. The developer need to know the tool to create the report layout exactly what end user need to see, and also how to play with the different tool that SSRS have. In this layout we can create, tables, matrix, charts, with many data sources, grouping information, create summarize data, and give a fancy end users design. 42
  • 43. Performance Point Server Explanation Performance Point Services allow us to create dashboards, KPI’s, Scorecards and Reports from many data sources with different types of indicators as light or gauge. This image, show many different objects, that I will show in next images but in SharePoint Server. 43
  • 44. Share Point Server with Excel Services Explanation This image show two important things, the first one is the chart wit two different type of indicator a percentage and a bar chart, created in Excel Services, then it show the background of the SharePoint Server where it has many documents library with the different kind of reports. 44
  • 45. Reporting Services with Share Point Explanation This image show the way look SSRS deployed it in Share Point Server, with the parameters of time and clients. It also show the grouping by client and the jobs worked by hours and total labor cost. 45
  • 46. Performance Point Server on SharePoint Server Explanation This image shows two KPI reports with one parameter in Share Point Server. This two KPI, are in the image above in the Performance Point Server section. 46
  • 47. Performance Point Server with Share Point Server Explanation This image shows two basic reports created on Performance Point server, but it had a particular feature, the two reports are linked with the time parameter and the top 10 jobs and 5 workers. 47
  • 48. Excel Services with SharePoint Server Explanation This image shows two reports created on Excel Services, a chart image with two measures and the table for that chart image. The configuration in the Performance Point Server is important because from there we can create the layout of how we want to show the information. 48