SlideShare a Scribd company logo
1 of 19
9/22/2009




      Business Intelligence
           Portfolio

                           Agnes Tetter
                          agnes_tetter@yahoo.com
                              August 22, 2009




                  TABLE OF CONTENTS
  This portfolio includes examples of my development skills
                  in Business Intelligence Area

Data Modeling
SQL Server T-SQL Programming
SQL Server Integration Services (SSIS)
SQL Server Analysis Services (SSAS)
MDX Programming
SQL Server Reporting Services (SSRS)
Performance Point Server (PPS) - Dashboard
MS Office SharePoint Server (MOSS)


                                                              © Agnes Tetter 2009




                                                                                           1
9/22/2009




DATA MODELING



                                              © Agnes Tetter 2009




   RELATIONAL MODEL FOR
EMPLOYEE SELF-SERVICE SYSTEM
         SELF-


                          This relational model was used for
                          the development of an Automated
                          Equipment check-in/check-out and
                          tracking system (AECTS) that will
                          streamline equipment check-in and
                          check-out, its availability, and will
                          keep track of the current location of
                          equipment (if borrowed, the
                          expected date of return can be
                          viewed and the job site location of
                          the employee who borrowed it can
                          also be viewed).




                                              © Agnes Tetter 2009




                                                                           2
9/22/2009




                                   RELATIONAL MODEL FOR
                               STI CLASS SCHEDULING SYSTEM

                                                 This relational data model was used for
                                                 the class scheduling of STI-Cagayan De
                                                 Oro. I used ER Assistant Software for
                                                 designing the schema and this project
                                                 was developed using MS Access.




                                                                                           © Agnes Tetter 2009




                                  RELATIONAL DATA MODEL FOR
                                     ALLWORKS DATABASE




This is the relational database that
we used in our first project. The
schema was created from MS
Visio and the T-SQL script that
was generated was run in MS SQL
Server Management Studio for the
creation of the staging database.




                                                                                           © Agnes Tetter 2009




                                                                                                                        3
9/22/2009




   BOOK SALE DATA WAREHOUSE
      DIMENSIONAL MODEL

                        This data model was built in MS
                        Visio, a combination of snowflakes
                        and star schema.

                        In this model we have two fact
                        tables, these are the
                        FactBookSales and
                        FactBookEval.

                        FactBookSales is built for each
                        state, customers, date, sales type,
                        and book.

                        FactBookEval is built for each
                        book and date.

                        We also used MS Visio to
                        generate the T-SQL script to
                        create the staging database.




                                                  © Agnes Tetter 2009




    SQL SERVER
T-SQL PROGRAMMING



                                                  © Agnes Tetter 2009




                                                                               4
9/22/2009




  THIS QUERY WILL DISPLAY ALL THE RECORDS WITH A TOTAL GREATER
      THAN OR EQUAL TO 5. THE HOTTEST ITEM WAS LISTED FIRST.



  DECLARE @txtMinimumTotal int
  SET @txtMinimumTotal=5
  SELECT oi.ISBN, bo.Title, SUM(oi.QuantityOrdered) Total
  FROM OrderItems oi
    INNER JOIN Books bo
     ON oi.ISBN=bo.ISBN
  GROUP BY oi.ISBN, bo.Title
                                                            Sample Output
  HAVING SUM(oi.QuantityOrdered)>= @txtMinimumTotal
  ORDER BY Total DESC, bo.Title




                                                                                                                           © Agnes Tetter 2009




THIS QUERY RETURNS BOOKS THAT ARE CURRENTLY AVAILABLE FOR AND
                 WITH AN ISBN OF 500 OR 1000 AND



  Sample Output



                                                             SELECT co.ISBN, co.Copy_no, co.On_loan, ti.Title, it.Translation,
                                                             it.Cover
                                                             FROM dbo.copy co
                                                              INNER JOIN dbo.item it
                                                               ON co.isbn=it.isbn
                                                              INNER JOIN dbo.title ti
                                                               ON co.title_no=ti.title_no
                                                             WHERE co.ISBN IN (500, 1000) and
                                                                                     lower(co.on_loan) = 'n'
                                                             ORDER BY it.cover, co.copy_no, ti.title




                                                                                                                           © Agnes Tetter 2009




                                                                                                                                                        5
9/22/2009




     THIS QUERY RETRIEVE A SINGLE LIST OF MEMBERS BOTH ADULT AND
            JUVENILE, WHO HAVE RESERVED ISBN NUMBER 288.



                                                        Sample Output

SELECT re.ISBN, Title, me.Member_no, lastname+',
'+firstname 'Name', 'Adult' AS 'Adult or Juvenile'
FROM dbo.reservation re
  INNER JOIN dbo.member me
   ON me.member_no=re.member_no
  INNER JOIN dbo.adult ad
   ON me.member_no=ad.member_no
  INNER JOIN dbo.item it
   ON re.isbn=it.isbn
  INNER JOIN dbo.title ti
   ON it.title_no=ti.title_no
WHERE re.ISBN = 288
UNION
SELECT re.ISBN, Title, me.Member_no, lastname+',
'+firstname 'Name', 'Juvenile' AS 'Adult or Juvenile'
FROM dbo.reservation re
  INNER JOIN dbo.member me
   ON me.member_no=re.member_no
  INNER JOIN dbo.juvenile ju
   ON me.member_no=ju.member_no
  INNER JOIN dbo.item it
   ON re.isbn=it.isbn
  INNER JOIN dbo.title ti
   ON it.title_no=ti.title_no
WHERE re.ISBN = 288
ORDER BY Name




                                                                        © Agnes Tetter 2009




                             SQL SERVER
  INTEGRATION SERVICES
         (SSIS)


                                                                        © Agnes Tetter 2009




                                                                                                     6
9/22/2009




      DATA FLOW FOR CLIENT GROUPINGS
            TO CLIENT XREF TABLE



                                       This data flow read the contents
                                       from the spreadsheet and add
                                       them to SQL Server AllWorks
                                       Database (refer to Slide 6 for the
                                       relational database destination
                                       that was used in this project).

                                       Multiple lookups were included to
                                       ensure database integrity. All
                                       rows that are invalid were log and
                                       save to csv file for review and
                                       correction.




                                                          © Agnes Tetter 2009




CONTROL FLOW FOR JOB TIME SHEET PACKAGE




                                This ETL processes multiple csv
                                files containing Job Time Sheet
                                and loads them into the staging
                                database (AllWorks.mdb), refer to
                                slide 6 for the relational database
                                destination that was used in this
                                project.

                                Upon completion a status email is
                                sent for the result of the package.
                                Success email include counts of
                                rows inserted, updated, and invalid.




                                                          © Agnes Tetter 2009




                                                                                       7
9/22/2009




                 VB.NET SCRIPT WAS USED FOR THE PACKAGE




                                                          This VB.net script was used in this
                                                          package to keep a running the
                                                          number of rows that were
                                                          processed (inserted and updated),
                                                          total of invalid rows, and the total
                                                          number of rows processed from
                                                          each CSV files in the Timesheet
                                                          folder.




                                                                                    © Agnes Tetter 2009




             DATA FLOW FOR THE JOB TIME SHEET PACKAGE

This is the dataflow of the control flow that was shown
from slide 14.

This will read multiple Job time sheet csv from one
folder and load them to the staging database. Multiple
lookups are included to ensure data integrity.

This dataflow insert, update and logs all invalid jobs,
employee and timesheet to csv file for review and
correction.




                                                                                    © Agnes Tetter 2009




                                                                                                                 8
9/22/2009




    MASTER PACKAGE



                     This master package includes all
                     eight the package for this project
                     and they are arrange in
                     according to their dependencies.

                     This include maintenance task to
                     the database, it include the
                     following:

                     Back-up database
                     Shrinking database
                     Rebuilding index.

                     Email notification is sent if any of
                     the maintenance task fails and if
                     the maintenance task were
                     processed successful.




                                     © Agnes Tetter 2009




  SQL SERVER
ANALYSIS SERVICES
     (SSAS)
      SSAS)


                                     © Agnes Tetter 2009




                                                                   9
9/22/2009




THE DEVELOPMENT AND DEPLOYMENT
       OF ALLWORKS CUBE

                                                                        In this cube we have four fact
                                                                        tables and five dimension tables
                                                                        created out of nine dimensions.
                                                                        This shows the cube structure of
                                                                        AllWorksCube. Only the five
                                                                        dimensions (AllWorksCalendar,
                                                                        JobMaster, Overhead,
                                                                        MaterialType, and Emplooyes)
                                                                        with direct relationship with the
                                                                        four fact tables were shown in the
                                                                        solution explorer. The four
                                                                        dimension tables (client, division,
                                                                        client grouping , and county) that
                                                                        had no direction were hidden
                                                                        under JobMaster Table.




                                                                                             © Agnes Tetter 2009




BROWSING THE ALLWORKS CUBE DATA




This SSAS browser shows the Clients Name, Total Labor Cost, Total Material
Cost, Total Overhead, and Total labor Profit for each quarter in 2005.




                                                                                             © Agnes Tetter 2009




                                                                                                                         10
9/22/2009




 CUBE PARTITIONING AND AGGREGATION



                             In this project we used MOLAP for SSAS
                             data storage. Queries to MOLAP data
                             execution are significantly faster than
                             queries against other two storage modes
                             (ROLAP and HOLAP). For our cube
                             performance optimization we used two
                             partitions for each fact table. One partition
                             was from year 2005 down and the second
                             partition was from 2006 up.

                             Partitions allow the server to detect which
                             partition can be simply ignored for a query.
                             For example, if a query is querying the
                             month January for the year 2006, with this
                             partition, there is no need for the query to
                             scan the data from 2005. The following are
                             the names of the partition created for each
                             fact table.




                                                       © Agnes Tetter 2009




DEFINITION OF THE CALCULATED MEMBERS




                           In the Calculation Tab of AllWorks Cube,
                           we created eleven calculations or
                           measures that were used in the KPI (Key
                           Performance Indicator).




                                                       © Agnes Tetter 2009




                                                                                   11
9/22/2009




         DEFINITION OF THE
 KEY PERFORMANCE INDICATORS (KPI)

                           Five KPIs were used in the Project. In this
                           example, we have the
                           KPITotalCostPctOverhead. This KPI uses
                           the TotalCostPctOverhead Measure to
                           determine the status:

                           We based the Status expression in this
                           condition :
                            0 – 10% OK
                            Greater than 10%, less than or equal to
                            15%, Warning
                            Greater than 15% - bad




                                                      © Agnes Tetter 2009




MDX PROGRAMMING



                                                      © Agnes Tetter 2009




                                                                                  12
9/22/2009




          THIS QUERY SHOW THE JOB AND THE TOP THREE EMPLOYEES WHO
                     WORKED THE MOST HOURS ON THAT JOB.


                                                                            Sample Output

          With Set [MainSet] as
           Generate ( [Job Master].[Description].children,
                ([Job Master].[Description].currentmember,
                TopCount ( [Employees].[Full Name].children, 3 ,
          [Measures].[Hoursworked] )
             ))

          Select [Measures].[Hoursworked]
          on columns,
          non empty
          [MainSet]
          on rows
          From [All Works Cube]
          Where [All Works Calendar].[FY Calendar].[Year].&[2005]




                                                                                             © Agnes Tetter 2009




    THIS QUERY SHOW THE OVERHEAD BY CATEGORY IN ALPHABETICAL
  ORDER. WITH COMPUTED VALUES FOR WEEKLY OVERHEAD COST FOR THE
      CURRENT MINUS THE PREVIOUS OVER THE PREVIOUS VALUES.


With Member [Measures].[Current] as
-- currentmember function will returns the current member along a
                                                                             Sample Output
specified hierarchy during iteration
([All Works Calendar].[FY
Calendar].currentmember,[Measures].[Weekly Over Head])

--return the value of the previous member specified in the hierarchy
Member [Measures].[Previous] as
--prevmember function will return the previous member in the level that
contains a specified member.
([Measures].[Weekly Over Head],[All Works Calendar].[FY
Calendar].prevmember)

Member [Measures].[%Change] as
--will check if the [Measures].[Previous] is equal to zero or if it empty
then it will return N/A
IIF( IsEmpty([Measures].[Previous]) or [Measures].[Previous] = 0,
'N/A',
  ([Measures].[Current]-
[Measures].[Previous])/[Measures].[Previous]),
format_string= '0.00%;;;;'

Select
{[Measures].[Current],[Measures].[Previous],[Measures].[%Change]
}
on columns,
[Overhead].[Description].members
on rows
From [All Works Cube]
Where [All Works Calendar].[Qtr].&[2005 Q4]




                                                                                             © Agnes Tetter 2009




                                                                                                                         13
9/22/2009




THIS QUERY SHOW THE PRODUCT CATEGORIES SORTED BY PRODUCT PRICE RANGE
                                                                RANGE
  IN DESCENDING ORDER. AVERAGE SALE PRICE, MAX AVERAGE PRICE AND THE
                                                                 THE
              DIFFERENCE BETWEEN THE TWO ARE COMPUTED.




 With Member [Measures].[Avg Sales Price] as
 [Measures].[Dollar Sales]/[Measures].[Unit Sales],
                                                                              Sample Output
 format_string = 'currency'

 Member [Measures].[MaxAvgPrice] as
  Max (Filter ( [Customer].[Customer].[City], [Measures].[Unit Sales] >
               ([Customer].[Customer].prevmember,[Measures].[Unit Sales]))
    AS [CustomerFilteredCities],[Measures].[Avg Sales Price] )

 Member [Measures].[MinAvgPrice] as
 Min( Filter ( [Customer].[Customer].[City], [Measures].[Unit Sales] >
                ([Customer].[Customer].prevmember,[Measures].[Unit Sales]))
    AS [CustomerFilteredCities],[Measures].[Avg Sales Price] )

 Member [Measures].[Product Price Range] AS
 [Measures].[MaxAvgPrice] - [Measures].[MinAvgPrice]

 Select
  {[Measures].[Avg Sales Price],[Product Price Range],
 [MaxAvgPrice],[Measures].[MinAvgPrice]}
 on columns,

 Order ( [Product].[Category].[Rt Prod Category],[Measures].[Product Price
 Range],bdesc)
 Having [Measures].[Unit Sales] > ([Measures].[Unit
 Sales],[Time].[Quarter].prevmember)
 on rows

 From [Sales]
 Where [Time].[Quarter].lastchild




                                                                                              © Agnes Tetter 2009




                                SQL SERVER
    REPORTING SERVICES
          (SSRS)
           SSRS)


                                                                                              © Agnes Tetter 2009




                                                                                                                          14
9/22/2009




         THIS REPORT RETRIEVE KPI’S GRAPHICALLY USING SSRS.
                                                      SSRS.


Sample Output


                                                    This report shows the Product
                                                    Category, the sale, return, return
                                                    percentage for the current yean and
                                                    last year. This report also indicate a
                                                    status if it currently doing good or
                                                    bad based on it’s goal.

                                                    In this report the user can sort the
                                                    report in ascending or descending
                                                    order based on the columns that he
                                                    selected.

                                                    “Even if an organization doesn’t use
                                                    SharePoint/Performance Point, we
                                                    can still render KPIs graphically in an
                                                    SSRS report.
                                                    “




                                                                         © Agnes Tetter 2009




                THIS REPORT SHOWS A TREND LINE CHART WITH
                A TWELVE-MONTH MOVING AVERAGE USING MDX
                  TWELVE-

Sample Output


                                                         This report shows revenue
                                                         as a column bar and the 12
                                                         month moving average as a
                                                         horizontal line.

                                                         The trend line helps to
                                                         visually assess if monthly
                                                         revenue is above or below
                                                         the 12 month average (at that
                                                         month)




                                                                         © Agnes Tetter 2009




                                                                                                     15
9/22/2009




THIS REPORT SHOWS THE RANKING BY REGION AND THE RANKING OF THE
         PRODUCTS IN EACH REGION BASED ON DOLLAR SALE

Sample Output

                                              This report uses MDX code that
                                              generates a nested TOPCOUNT and
                                              Ranking over a user-defined date
                                              range.

                                              In this report the user can specify
                                              what top count in region and in
                                              product category that he is interested
                                              in to look at.




                                                                   © Agnes Tetter 2009




     PERFORMANCEPOINT
     PERFORMANCEPOINT
      SERVER (PPS)
  DASHBOARD DESIGNER


                                                                   © Agnes Tetter 2009




                                                                                               16
9/22/2009




      THIS REPORT CAN GENERATE THE KPI RETURNS PERCENTAGE
            BOTH FOR CURRENT PERIOD AND FOR LAST YEAR

Sample Output

                                                     In this dashboard we selected the
                                                     year 2005 then – showing KPI
                                                     Returns % from WareMart (both for
                                                     current period, and for Last Year)

                                                     In this dashboard the user can select
                                                     a date from Year to Quarter to Month.
                                                     The user can also select a Product
                                                     Type, and the scorecard will show
                                                     that product, plus all the products that
                                                     belong in that type.

                                                     We used MDX code based on the
                                                     date and product selected.




                                                                           © Agnes Tetter 2009




                THIS REPORT WAS IMPORTED FROM SSRS
                 TO PERFORMANCE POINT SERVER 2007

Sample Output




                                         This Pie Report is filter by year, the
                                         user can select what product category
                                         that interest him from the document
                                         map then it will show a Pie Graph
                                         showing the percentage in each
                                         region for that particular product.




                                                                           © Agnes Tetter 2009




                                                                                                       17
9/22/2009




 MS OFFICE SHAREPOINT
  SERVER (MOSS) 2007




                                                                                     © Agnes Tetter 2009




  THIS REPORT WAS CREATED FROM PERFORMANCEPOINT SERVER(PPS)
       AND DEPLOYED TO MS OFFICE SHAREPOINT SERVER (MOSS)

Sample Output




                             Employee Labor Analysis Report shows the employee
                             labor dollar by quarter, along with the percentage of
                             labor for the jobs the employee worked.




                                                                                     © Agnes Tetter 2009




                                                                                                                 18
9/22/2009




    THIS REPORT WAS CREATED FROM SQLSERVER REPORTING SERVICES (SSRS)
            AND DEPLOYED TO MS OFFICE SHAREPOINT SERVER (MOSS)


Sample Output




                                         Employee Jobs in Date Range Report incorporate a
                                         cascading parameters based on the employee. Based
                                         on the employee, we can only dropdown for week
                                         ending dates that the employee worked.




                                                                                    © Agnes Tetter 2009




      THIS REPORT WAS CREATED AS PIVOT TABLE FROM MS EXCEL, LINKED THE
                  SPREADSHEET IN PPS, AND THEN DEPLOYED TO
                     MS OFFICE SHAREPOINT SERVER (MOSS)


Sample Output




                                                                    Job Profitability Chart Report
                                                                    is filtered by County. The pivot
                                                                    table uses Profit in Dollar,
                                                                    Profit Percentage, and
                                                                    Quarter.

                                                                    The pivot table uses the
                                                                    AllWorks-Project Labor Cube
                                                                    as the source of data.

                                                                    In this report, the user can
                                                                    have a multi selection of the
                                                                    counties that they are
                                                                    interested to look at.




                                                                                    © Agnes Tetter 2009




                                                                                                                19

More Related Content

Viewers also liked

Human resources compliance audit
Human resources compliance auditHuman resources compliance audit
Human resources compliance auditjcmalon
 
Agnes's SSIS Project Documentation
Agnes's SSIS Project DocumentationAgnes's SSIS Project Documentation
Agnes's SSIS Project Documentationagnestetter
 
Proof of Concept Fund
Proof of Concept FundProof of Concept Fund
Proof of Concept FundScreen WM
 
Digitale Marketing Transformatie - Eduard de Wilde #wwv16
Digitale Marketing Transformatie - Eduard de Wilde #wwv16Digitale Marketing Transformatie - Eduard de Wilde #wwv16
Digitale Marketing Transformatie - Eduard de Wilde #wwv16VODW
 
Barcamp AQUOPS (BarAQUOPS) 2015
Barcamp AQUOPS (BarAQUOPS) 2015Barcamp AQUOPS (BarAQUOPS) 2015
Barcamp AQUOPS (BarAQUOPS) 2015L'École branchée
 
Guide du logement étudiant 2016
Guide du logement étudiant 2016Guide du logement étudiant 2016
Guide du logement étudiant 2016Century 21 France
 
Babbler réinvente les relations presse #startup #digital #medias #rp
Babbler réinvente les relations presse #startup #digital #medias #rpBabbler réinvente les relations presse #startup #digital #medias #rp
Babbler réinvente les relations presse #startup #digital #medias #rpHannah Oiknine
 
How to Use the Facebook Pixel Helper
How to Use the Facebook Pixel HelperHow to Use the Facebook Pixel Helper
How to Use the Facebook Pixel HelperJim Banks
 

Viewers also liked (8)

Human resources compliance audit
Human resources compliance auditHuman resources compliance audit
Human resources compliance audit
 
Agnes's SSIS Project Documentation
Agnes's SSIS Project DocumentationAgnes's SSIS Project Documentation
Agnes's SSIS Project Documentation
 
Proof of Concept Fund
Proof of Concept FundProof of Concept Fund
Proof of Concept Fund
 
Digitale Marketing Transformatie - Eduard de Wilde #wwv16
Digitale Marketing Transformatie - Eduard de Wilde #wwv16Digitale Marketing Transformatie - Eduard de Wilde #wwv16
Digitale Marketing Transformatie - Eduard de Wilde #wwv16
 
Barcamp AQUOPS (BarAQUOPS) 2015
Barcamp AQUOPS (BarAQUOPS) 2015Barcamp AQUOPS (BarAQUOPS) 2015
Barcamp AQUOPS (BarAQUOPS) 2015
 
Guide du logement étudiant 2016
Guide du logement étudiant 2016Guide du logement étudiant 2016
Guide du logement étudiant 2016
 
Babbler réinvente les relations presse #startup #digital #medias #rp
Babbler réinvente les relations presse #startup #digital #medias #rpBabbler réinvente les relations presse #startup #digital #medias #rp
Babbler réinvente les relations presse #startup #digital #medias #rp
 
How to Use the Facebook Pixel Helper
How to Use the Facebook Pixel HelperHow to Use the Facebook Pixel Helper
How to Use the Facebook Pixel Helper
 

Similar to Agnes's BI Portfolio Handout Version

Chris Bull's Bi Portfolio
Chris Bull's Bi PortfolioChris Bull's Bi Portfolio
Chris Bull's Bi Portfolioz3bull
 
Tufte Sample Bi Portfolio
Tufte Sample Bi PortfolioTufte Sample Bi Portfolio
Tufte Sample Bi Portfoliodtufte
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksAmazon Web Services
 
How To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud ApplicationsHow To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud ApplicationsBen Rushlo
 
Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...
Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...
Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...DataStax
 
Robert Parkin Portfolio
Robert Parkin PortfolioRobert Parkin Portfolio
Robert Parkin Portfoliorsparkin
 
IBM Watson vs. Your Data Center
IBM Watson vs. Your Data CenterIBM Watson vs. Your Data Center
IBM Watson vs. Your Data CenterHerb Hernandez
 
Integrating Deep Learning into your Enterprise
Integrating Deep Learning into your EnterpriseIntegrating Deep Learning into your Enterprise
Integrating Deep Learning into your EnterpriseAmazon Web Services
 
Handling your backups
Handling your backupsHandling your backups
Handling your backupszedwickm
 
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...Dataconomy Media
 
Integrating Deep Learning Into Your Enterprise
Integrating Deep Learning Into Your EnterpriseIntegrating Deep Learning Into Your Enterprise
Integrating Deep Learning Into Your EnterpriseAmazon Web Services
 
Supercharge Your Machine Learning Solutions with Amazon SageMaker
Supercharge Your Machine Learning Solutions with Amazon SageMakerSupercharge Your Machine Learning Solutions with Amazon SageMaker
Supercharge Your Machine Learning Solutions with Amazon SageMakerAmazon Web Services
 
NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017
NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017
NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017Amazon Web Services
 
Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...
Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...
Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...Trivadis
 
Dimensional modelingowb11gr2 presentation
Dimensional modelingowb11gr2 presentationDimensional modelingowb11gr2 presentation
Dimensional modelingowb11gr2 presentationMaren Eschermann
 
Integrating Deep Learning In the Enterprise
Integrating Deep Learning In the EnterpriseIntegrating Deep Learning In the Enterprise
Integrating Deep Learning In the EnterpriseAmazon Web Services
 
Linux on systemz
Linux on systemzLinux on systemz
Linux on systemzsystemz
 

Similar to Agnes's BI Portfolio Handout Version (20)

Chris Bull's Bi Portfolio
Chris Bull's Bi PortfolioChris Bull's Bi Portfolio
Chris Bull's Bi Portfolio
 
RDBMS
RDBMSRDBMS
RDBMS
 
Tufte Sample Bi Portfolio
Tufte Sample Bi PortfolioTufte Sample Bi Portfolio
Tufte Sample Bi Portfolio
 
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech TalksOracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
Oracle to Amazon Aurora Migration, Step by Step - AWS Online Tech Talks
 
How To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud ApplicationsHow To Deliver High Performing Highly Available Cloud Applications
How To Deliver High Performing Highly Available Cloud Applications
 
Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...
Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...
Partner Webinar: Mesosphere and DSE: Production-Proven Infrastructure for Fas...
 
Robert Parkin Portfolio
Robert Parkin PortfolioRobert Parkin Portfolio
Robert Parkin Portfolio
 
IBM Watson vs. Your Data Center
IBM Watson vs. Your Data CenterIBM Watson vs. Your Data Center
IBM Watson vs. Your Data Center
 
Integrating Deep Learning into your Enterprise
Integrating Deep Learning into your EnterpriseIntegrating Deep Learning into your Enterprise
Integrating Deep Learning into your Enterprise
 
Handling your backups
Handling your backupsHandling your backups
Handling your backups
 
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
Data Natives Munich v 12.0 | "How to be more productive with Autonomous Data ...
 
Integrating Deep Learning Into Your Enterprise
Integrating Deep Learning Into Your EnterpriseIntegrating Deep Learning Into Your Enterprise
Integrating Deep Learning Into Your Enterprise
 
Supercharge Your Machine Learning Solutions with Amazon SageMaker
Supercharge Your Machine Learning Solutions with Amazon SageMakerSupercharge Your Machine Learning Solutions with Amazon SageMaker
Supercharge Your Machine Learning Solutions with Amazon SageMaker
 
NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017
NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017
NEW LAUNCH! Introducing Amazon SageMaker - MCL365 - re:Invent 2017
 
Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...
Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...
Trivadis TechEvent 2016 Introduction to DataStax Enterprise (DSE) Graph by Gu...
 
Dimensional modelingowb11gr2 presentation
Dimensional modelingowb11gr2 presentationDimensional modelingowb11gr2 presentation
Dimensional modelingowb11gr2 presentation
 
CV Chandrajit Samanta
CV Chandrajit SamantaCV Chandrajit Samanta
CV Chandrajit Samanta
 
Integrating Deep Learning In the Enterprise
Integrating Deep Learning In the EnterpriseIntegrating Deep Learning In the Enterprise
Integrating Deep Learning In the Enterprise
 
Amazon SageMaker
Amazon SageMakerAmazon SageMaker
Amazon SageMaker
 
Linux on systemz
Linux on systemzLinux on systemz
Linux on systemz
 

Agnes's BI Portfolio Handout Version

  • 1. 9/22/2009 Business Intelligence Portfolio Agnes Tetter agnes_tetter@yahoo.com August 22, 2009 TABLE OF CONTENTS This portfolio includes examples of my development skills in Business Intelligence Area Data Modeling SQL Server T-SQL Programming SQL Server Integration Services (SSIS) SQL Server Analysis Services (SSAS) MDX Programming SQL Server Reporting Services (SSRS) Performance Point Server (PPS) - Dashboard MS Office SharePoint Server (MOSS) © Agnes Tetter 2009 1
  • 2. 9/22/2009 DATA MODELING © Agnes Tetter 2009 RELATIONAL MODEL FOR EMPLOYEE SELF-SERVICE SYSTEM SELF- This relational model was used for the development of an Automated Equipment check-in/check-out and tracking system (AECTS) that will streamline equipment check-in and check-out, its availability, and will keep track of the current location of equipment (if borrowed, the expected date of return can be viewed and the job site location of the employee who borrowed it can also be viewed). © Agnes Tetter 2009 2
  • 3. 9/22/2009 RELATIONAL MODEL FOR STI CLASS SCHEDULING SYSTEM This relational data model was used for the class scheduling of STI-Cagayan De Oro. I used ER Assistant Software for designing the schema and this project was developed using MS Access. © Agnes Tetter 2009 RELATIONAL DATA MODEL FOR ALLWORKS DATABASE This is the relational database that we used in our first project. The schema was created from MS Visio and the T-SQL script that was generated was run in MS SQL Server Management Studio for the creation of the staging database. © Agnes Tetter 2009 3
  • 4. 9/22/2009 BOOK SALE DATA WAREHOUSE DIMENSIONAL MODEL This data model was built in MS Visio, a combination of snowflakes and star schema. In this model we have two fact tables, these are the FactBookSales and FactBookEval. FactBookSales is built for each state, customers, date, sales type, and book. FactBookEval is built for each book and date. We also used MS Visio to generate the T-SQL script to create the staging database. © Agnes Tetter 2009 SQL SERVER T-SQL PROGRAMMING © Agnes Tetter 2009 4
  • 5. 9/22/2009 THIS QUERY WILL DISPLAY ALL THE RECORDS WITH A TOTAL GREATER THAN OR EQUAL TO 5. THE HOTTEST ITEM WAS LISTED FIRST. DECLARE @txtMinimumTotal int SET @txtMinimumTotal=5 SELECT oi.ISBN, bo.Title, SUM(oi.QuantityOrdered) Total FROM OrderItems oi INNER JOIN Books bo ON oi.ISBN=bo.ISBN GROUP BY oi.ISBN, bo.Title Sample Output HAVING SUM(oi.QuantityOrdered)>= @txtMinimumTotal ORDER BY Total DESC, bo.Title © Agnes Tetter 2009 THIS QUERY RETURNS BOOKS THAT ARE CURRENTLY AVAILABLE FOR AND WITH AN ISBN OF 500 OR 1000 AND Sample Output SELECT co.ISBN, co.Copy_no, co.On_loan, ti.Title, it.Translation, it.Cover FROM dbo.copy co INNER JOIN dbo.item it ON co.isbn=it.isbn INNER JOIN dbo.title ti ON co.title_no=ti.title_no WHERE co.ISBN IN (500, 1000) and lower(co.on_loan) = 'n' ORDER BY it.cover, co.copy_no, ti.title © Agnes Tetter 2009 5
  • 6. 9/22/2009 THIS QUERY RETRIEVE A SINGLE LIST OF MEMBERS BOTH ADULT AND JUVENILE, WHO HAVE RESERVED ISBN NUMBER 288. Sample Output SELECT re.ISBN, Title, me.Member_no, lastname+', '+firstname 'Name', 'Adult' AS 'Adult or Juvenile' FROM dbo.reservation re INNER JOIN dbo.member me ON me.member_no=re.member_no INNER JOIN dbo.adult ad ON me.member_no=ad.member_no INNER JOIN dbo.item it ON re.isbn=it.isbn INNER JOIN dbo.title ti ON it.title_no=ti.title_no WHERE re.ISBN = 288 UNION SELECT re.ISBN, Title, me.Member_no, lastname+', '+firstname 'Name', 'Juvenile' AS 'Adult or Juvenile' FROM dbo.reservation re INNER JOIN dbo.member me ON me.member_no=re.member_no INNER JOIN dbo.juvenile ju ON me.member_no=ju.member_no INNER JOIN dbo.item it ON re.isbn=it.isbn INNER JOIN dbo.title ti ON it.title_no=ti.title_no WHERE re.ISBN = 288 ORDER BY Name © Agnes Tetter 2009 SQL SERVER INTEGRATION SERVICES (SSIS) © Agnes Tetter 2009 6
  • 7. 9/22/2009 DATA FLOW FOR CLIENT GROUPINGS TO CLIENT XREF TABLE This data flow read the contents from the spreadsheet and add them to SQL Server AllWorks Database (refer to Slide 6 for the relational database destination that was used in this project). Multiple lookups were included to ensure database integrity. All rows that are invalid were log and save to csv file for review and correction. © Agnes Tetter 2009 CONTROL FLOW FOR JOB TIME SHEET PACKAGE This ETL processes multiple csv files containing Job Time Sheet and loads them into the staging database (AllWorks.mdb), refer to slide 6 for the relational database destination that was used in this project. Upon completion a status email is sent for the result of the package. Success email include counts of rows inserted, updated, and invalid. © Agnes Tetter 2009 7
  • 8. 9/22/2009 VB.NET SCRIPT WAS USED FOR THE PACKAGE This VB.net script was used in this package to keep a running the number of rows that were processed (inserted and updated), total of invalid rows, and the total number of rows processed from each CSV files in the Timesheet folder. © Agnes Tetter 2009 DATA FLOW FOR THE JOB TIME SHEET PACKAGE This is the dataflow of the control flow that was shown from slide 14. This will read multiple Job time sheet csv from one folder and load them to the staging database. Multiple lookups are included to ensure data integrity. This dataflow insert, update and logs all invalid jobs, employee and timesheet to csv file for review and correction. © Agnes Tetter 2009 8
  • 9. 9/22/2009 MASTER PACKAGE This master package includes all eight the package for this project and they are arrange in according to their dependencies. This include maintenance task to the database, it include the following: Back-up database Shrinking database Rebuilding index. Email notification is sent if any of the maintenance task fails and if the maintenance task were processed successful. © Agnes Tetter 2009 SQL SERVER ANALYSIS SERVICES (SSAS) SSAS) © Agnes Tetter 2009 9
  • 10. 9/22/2009 THE DEVELOPMENT AND DEPLOYMENT OF ALLWORKS CUBE In this cube we have four fact tables and five dimension tables created out of nine dimensions. This shows the cube structure of AllWorksCube. Only the five dimensions (AllWorksCalendar, JobMaster, Overhead, MaterialType, and Emplooyes) with direct relationship with the four fact tables were shown in the solution explorer. The four dimension tables (client, division, client grouping , and county) that had no direction were hidden under JobMaster Table. © Agnes Tetter 2009 BROWSING THE ALLWORKS CUBE DATA This SSAS browser shows the Clients Name, Total Labor Cost, Total Material Cost, Total Overhead, and Total labor Profit for each quarter in 2005. © Agnes Tetter 2009 10
  • 11. 9/22/2009 CUBE PARTITIONING AND AGGREGATION In this project we used MOLAP for SSAS data storage. Queries to MOLAP data execution are significantly faster than queries against other two storage modes (ROLAP and HOLAP). For our cube performance optimization we used two partitions for each fact table. One partition was from year 2005 down and the second partition was from 2006 up. Partitions allow the server to detect which partition can be simply ignored for a query. For example, if a query is querying the month January for the year 2006, with this partition, there is no need for the query to scan the data from 2005. The following are the names of the partition created for each fact table. © Agnes Tetter 2009 DEFINITION OF THE CALCULATED MEMBERS In the Calculation Tab of AllWorks Cube, we created eleven calculations or measures that were used in the KPI (Key Performance Indicator). © Agnes Tetter 2009 11
  • 12. 9/22/2009 DEFINITION OF THE KEY PERFORMANCE INDICATORS (KPI) Five KPIs were used in the Project. In this example, we have the KPITotalCostPctOverhead. This KPI uses the TotalCostPctOverhead Measure to determine the status: We based the Status expression in this condition : 0 – 10% OK Greater than 10%, less than or equal to 15%, Warning Greater than 15% - bad © Agnes Tetter 2009 MDX PROGRAMMING © Agnes Tetter 2009 12
  • 13. 9/22/2009 THIS QUERY SHOW THE JOB AND THE TOP THREE EMPLOYEES WHO WORKED THE MOST HOURS ON THAT JOB. Sample Output With Set [MainSet] as Generate ( [Job Master].[Description].children, ([Job Master].[Description].currentmember, TopCount ( [Employees].[Full Name].children, 3 , [Measures].[Hoursworked] ) )) Select [Measures].[Hoursworked] on columns, non empty [MainSet] on rows From [All Works Cube] Where [All Works Calendar].[FY Calendar].[Year].&[2005] © Agnes Tetter 2009 THIS QUERY SHOW THE OVERHEAD BY CATEGORY IN ALPHABETICAL ORDER. WITH COMPUTED VALUES FOR WEEKLY OVERHEAD COST FOR THE CURRENT MINUS THE PREVIOUS OVER THE PREVIOUS VALUES. With Member [Measures].[Current] as -- currentmember function will returns the current member along a Sample Output specified hierarchy during iteration ([All Works Calendar].[FY Calendar].currentmember,[Measures].[Weekly Over Head]) --return the value of the previous member specified in the hierarchy Member [Measures].[Previous] as --prevmember function will return the previous member in the level that contains a specified member. ([Measures].[Weekly Over Head],[All Works Calendar].[FY Calendar].prevmember) Member [Measures].[%Change] as --will check if the [Measures].[Previous] is equal to zero or if it empty then it will return N/A IIF( IsEmpty([Measures].[Previous]) or [Measures].[Previous] = 0, 'N/A', ([Measures].[Current]- [Measures].[Previous])/[Measures].[Previous]), format_string= '0.00%;;;;' Select {[Measures].[Current],[Measures].[Previous],[Measures].[%Change] } on columns, [Overhead].[Description].members on rows From [All Works Cube] Where [All Works Calendar].[Qtr].&[2005 Q4] © Agnes Tetter 2009 13
  • 14. 9/22/2009 THIS QUERY SHOW THE PRODUCT CATEGORIES SORTED BY PRODUCT PRICE RANGE RANGE IN DESCENDING ORDER. AVERAGE SALE PRICE, MAX AVERAGE PRICE AND THE THE DIFFERENCE BETWEEN THE TWO ARE COMPUTED. With Member [Measures].[Avg Sales Price] as [Measures].[Dollar Sales]/[Measures].[Unit Sales], Sample Output format_string = 'currency' Member [Measures].[MaxAvgPrice] as Max (Filter ( [Customer].[Customer].[City], [Measures].[Unit Sales] > ([Customer].[Customer].prevmember,[Measures].[Unit Sales])) AS [CustomerFilteredCities],[Measures].[Avg Sales Price] ) Member [Measures].[MinAvgPrice] as Min( Filter ( [Customer].[Customer].[City], [Measures].[Unit Sales] > ([Customer].[Customer].prevmember,[Measures].[Unit Sales])) AS [CustomerFilteredCities],[Measures].[Avg Sales Price] ) Member [Measures].[Product Price Range] AS [Measures].[MaxAvgPrice] - [Measures].[MinAvgPrice] Select {[Measures].[Avg Sales Price],[Product Price Range], [MaxAvgPrice],[Measures].[MinAvgPrice]} on columns, Order ( [Product].[Category].[Rt Prod Category],[Measures].[Product Price Range],bdesc) Having [Measures].[Unit Sales] > ([Measures].[Unit Sales],[Time].[Quarter].prevmember) on rows From [Sales] Where [Time].[Quarter].lastchild © Agnes Tetter 2009 SQL SERVER REPORTING SERVICES (SSRS) SSRS) © Agnes Tetter 2009 14
  • 15. 9/22/2009 THIS REPORT RETRIEVE KPI’S GRAPHICALLY USING SSRS. SSRS. Sample Output This report shows the Product Category, the sale, return, return percentage for the current yean and last year. This report also indicate a status if it currently doing good or bad based on it’s goal. In this report the user can sort the report in ascending or descending order based on the columns that he selected. “Even if an organization doesn’t use SharePoint/Performance Point, we can still render KPIs graphically in an SSRS report. “ © Agnes Tetter 2009 THIS REPORT SHOWS A TREND LINE CHART WITH A TWELVE-MONTH MOVING AVERAGE USING MDX TWELVE- Sample Output This report shows revenue as a column bar and the 12 month moving average as a horizontal line. The trend line helps to visually assess if monthly revenue is above or below the 12 month average (at that month) © Agnes Tetter 2009 15
  • 16. 9/22/2009 THIS REPORT SHOWS THE RANKING BY REGION AND THE RANKING OF THE PRODUCTS IN EACH REGION BASED ON DOLLAR SALE Sample Output This report uses MDX code that generates a nested TOPCOUNT and Ranking over a user-defined date range. In this report the user can specify what top count in region and in product category that he is interested in to look at. © Agnes Tetter 2009 PERFORMANCEPOINT PERFORMANCEPOINT SERVER (PPS) DASHBOARD DESIGNER © Agnes Tetter 2009 16
  • 17. 9/22/2009 THIS REPORT CAN GENERATE THE KPI RETURNS PERCENTAGE BOTH FOR CURRENT PERIOD AND FOR LAST YEAR Sample Output In this dashboard we selected the year 2005 then – showing KPI Returns % from WareMart (both for current period, and for Last Year) In this dashboard the user can select a date from Year to Quarter to Month. The user can also select a Product Type, and the scorecard will show that product, plus all the products that belong in that type. We used MDX code based on the date and product selected. © Agnes Tetter 2009 THIS REPORT WAS IMPORTED FROM SSRS TO PERFORMANCE POINT SERVER 2007 Sample Output This Pie Report is filter by year, the user can select what product category that interest him from the document map then it will show a Pie Graph showing the percentage in each region for that particular product. © Agnes Tetter 2009 17
  • 18. 9/22/2009 MS OFFICE SHAREPOINT SERVER (MOSS) 2007 © Agnes Tetter 2009 THIS REPORT WAS CREATED FROM PERFORMANCEPOINT SERVER(PPS) AND DEPLOYED TO MS OFFICE SHAREPOINT SERVER (MOSS) Sample Output Employee Labor Analysis Report shows the employee labor dollar by quarter, along with the percentage of labor for the jobs the employee worked. © Agnes Tetter 2009 18
  • 19. 9/22/2009 THIS REPORT WAS CREATED FROM SQLSERVER REPORTING SERVICES (SSRS) AND DEPLOYED TO MS OFFICE SHAREPOINT SERVER (MOSS) Sample Output Employee Jobs in Date Range Report incorporate a cascading parameters based on the employee. Based on the employee, we can only dropdown for week ending dates that the employee worked. © Agnes Tetter 2009 THIS REPORT WAS CREATED AS PIVOT TABLE FROM MS EXCEL, LINKED THE SPREADSHEET IN PPS, AND THEN DEPLOYED TO MS OFFICE SHAREPOINT SERVER (MOSS) Sample Output Job Profitability Chart Report is filtered by County. The pivot table uses Profit in Dollar, Profit Percentage, and Quarter. The pivot table uses the AllWorks-Project Labor Cube as the source of data. In this report, the user can have a multi selection of the counties that they are interested to look at. © Agnes Tetter 2009 19